Amazon Elastic Block Store (EBS) is a managed service that allows you to provision cloud block storage volumes and attach them to your Amazon EC2 instances, over the network. EBS provides a range of performance and cost tiers, enabling you to select the appropriate option for your workloads.
In addition, EBS integrates directly with the AWS Key Management Service (KMS) to protect your data with encryption. You can use an encryption key managed by EBS, or provision your own, separate encryption key in your AWS account.
To monitor EBS volume performance, EBS emits metrics into the Amazon CloudWatch service. You can query these metrics on-demand or build CloudWatch dashboards for easy visualization of many different volumes.
For disaster recovery, EBS allows you to take volume snapshots and copy them to different AWS regions. Once EBS snapshots have been copied to other regions, you can easily restore these snapshots to new volumes attached to EC2 instances. While copying snapshots between regions is useful, you can even share EBS snapshots with other AWS accounts.
Sharing EBS snapshots is helpful in case you want to share data with a specific external customer, or copy data from a development account into a test account, for example. Snapshots can optionally be shared publicly from your AWS account, in case you want to share a dataset with the broader software community, as a block storage volume.
One of the other powerful features of Amazon EBS volumes is the ability to change the size, performance, and cost tier on-demand. This is also known as “scaling” a block storage volume up or down. This operation requires zero downtime, making it easy to provision as much or as little performance as you need, when you need it. General purpose performance tiers include GP2 and GP3, however applications requiring high I/O can take advantage of higher IOPS and throughput, using IO1 or IO2 tiers.
There are lower performance tiers available, at lower price points, that leverage traditional spindle disks, instead of Solid State Drives (SSD). These tiers include the ST1 (Throughput Optimized) and SC1 (Cold HDD) storage tiers. Both of these tiers are not usable as operating system boot volumes for your EC2 instances, however.
Stratusphere™ is a Software-as-a-Service (SaaS) tool from StratusGrid that helps you identify cost optimization opportunities across your entire AWS organization.
Under the Stratusphere™ Findings section, you can narrow down the specific, actionable cost optimization opportunities. If you apply the Service filter to Amazon Elastic Compute Cloud, that will include the under-utilized EBS volume findings, along with other EC2-related findings.
The definition of an under-utilized EBS volume, according to the AWS Trusted Advisor check reference, is when it’s “unattached or had less than 1 IOPS per day for the past 7 days.”
Before you remediate an under-utilized EBS volume, it’s important to note some of the risks associated with this activity.
Now that you’ve identified the cost optimization findings with Stratusphere™, it’s time to take action to remediate them. There are a couple methods of remediating under-utilized EBS storage volumes. You can perform these operations manually, through the AWS Management Console, or you can use any of the supported AWS Software Development Kits (SDK) to automate these actions at scale.
Deleting an EBS volume is one of the easiest ways to remediate a low-utilization volume. To delete an EBS volume, follow these steps.
Instead of deleting an EBS volume, you can change the performance and cost tier of the volume. These modifications are only allowed once every 6 hours. For boot volumes, you can select the magnetic (standard) option, or for data (non-boot) volumes, you could utilize the low-cost Cold HDD (sc1) tier.
Automating the deletion of under-utilized EBS volumes makes sense, especially when operating cloud environments at large scale. This could include deployment of hundreds or thousands of EBS volumes, handling volumes across different AWS regions, and across many different AWS accounts. Some organizations have hundreds of AWS accounts, divided up across different application teams.
You can access the AWS CLI or AWS PowerShell modules by installing them on your local development workstation, or using the AWS CloudShell environment from the AWS Management Console.
You can use the AWS CLI tool to delete under-utilized EBS volumes. The AWS CLI is cross-platform, with support for Linux, MacOS, and Windows. The EBS management commands are under the EC2 sub-command context.
# List the EBS volumes in a specific AWS region
aws ec2 list-volume --region us-west-1 --no-cli-pager
# Delete an EBS volume, with the specified volume ID
aws ec2 delete-volume --volume-id vol-123456 --region us-west-1
You can use the AWS Tools for PowerShell on MacOS, Linux, or Windows, to automate deletion and modification of EBS volumes. This capability is available in the EC2 service module for PowerShell. It’s easy to install the module and run the necessary commands.
# Install the AWS EC2 module
Install-Module -Name AWS.Tools.EC2 -Scope CurrentUser -Force
# List the volumes in the current region
Get-EC2Volume -Region us-west-1
# Remove the EBS volume, with the specified volume ID
Remove-EC2Volume -VolumeId vol-123456 -Region us-west-1
Removing under-utilized Amazon EBS volumes from your AWS accounts is an easy way to reduce your cloud spend. Deleting detached EBS volumes is straightforward, or you can opt to modify the volume configuration to a lower cost tier. These alterations can be automated through the use of AWS REST APIs, via the supported AWS SDKs. Stratusphere™ helps you identify these cost optimization opportunities across your entire organization.
Don't let underutilized EBS volumes drain your resources and budget. Contact us now to discover how Stratusphere™ can transform your EBS volume management.
Here are some additional resources to reference as you remediate these cost findings.
BONUS: Download Your FinOps Guide to Effective Cloud Cost Optimization Here ⤵️