In the vast landscape of cloud computing, Amazon Elastic Block Store (Amazon EBS) stands out as a crucial component for storage in AWS’ Amazon EKS (Elastic Kubernetes Service), as well as other AWS services.
As businesses increasingly migrate to the cloud, or build newer applications as cloud-native services, understanding the cloud cost becomes essential for cost-effective operations. With Amazon EBS often making up 50% or more of the cloud cost, it is important to grasp the intricacies of Amazon EBS pricing, explore the key concepts, and find the main factors that influence cost, as well as strategies to optimize expenses.
Understanding Amazon EBS
Amazon EBS provides scalable block-level storage volumes for use with Amazon EKS Persistent Volumes, EC2 instances, and other Amazon services. It offers various volume types, each designed for specific use cases, such as General Purpose (SSD), Provisioned IOPS (SSD), and HDD based. The choice of volume type significantly impacts performance and cost, making it vital to align storage configurations with application requirements.
Amazon EBS Pricing Breakdown
AWS pricing is complicated and requires a lot of studying the different regions, available options, as well as some good estimations of a service’s own behavior in terms of speed and capacity requirements.
Amazon EBS provides a set of different factors that influence availability, performance, capacity, and most prominently the cost.
Volume Type and Performance
Different workloads demand different levels of performance. Understanding the nature of your applications and selecting the appropriate volume type is crucial to balance cost and performance. The available volume types will be discussed further down in the blog post.
Volume Size
Amazon EBS volumes come in various sizes, and costs scale with the amount of provisioned storage per volume. Assessing the storage storage requirements and adjusting volume sizes accordingly to avoid over-provisioning can influence quite significantly.
Snapshot Costs
Creating snapshots for backup and disaster recovery is a common practice. However, snapshot costs can accumulate, especially as the frequency and volume of snapshots increase, the cost scales with the number and types of snapshots created. Additionally, there are two types of snapshots, standard, which is the default, and archive, which is cheaper on the storage side, but incurs cost when being restored. Implementing a snapshot management strategy to control expenses is crucial.
Throughput and I/O Operations
Throughput and I/O operations may or may not incur additional costs, depending on the selected volume type.
While data transfer is often easy to estimate, the necessary values for throughput and I/O operations per second (also known as IOPS) are much harder. Especially IOPS can be a fair amount of the spending when running io-intensive workloads, such as databases, data warehouses, high-load webservers, or similar.
Be mindful of the amount of data transferred in and out of your EBS volumes, as well as the number of I/O operations performed.
Amazon EBS Volume Types
As mentioned above, Amazon EBS has quite the set of different volume types. Some are designed for specific use cases or to provide a cost-effective alternative, while others are older or newer generations for the same usage scenario.
An in-depth technical description of the different volume types can be found on AWS’ documentation.
Cheap Storage Volumes (st1 / sc1)
The first category is designed for storage volumes that require large amounts of data storage which, at the same time, doesn’t need to provide the highest performance characteristics.
Being based upon HDD disks, the access latency is high and transfer speed is fairly low. The volume can be scaled up to 16TiB each though, reaching a high capacity at a cheap price.
Durability is typically given as 99.8% - 99.9%, meaning that the volume can be offline for roughly 9h per year.
Warm (throughput optimized) and cold volumes are available, relating to the types st1 and sc1 respectively.
General Purpose Volumes (gp2 / gp3)
The second category is, what AWS calls, general purpose. It has the widest applicability and is the default option when looking for an Amazon EBS volume.
When creating volumes, gp2 should be avoided, being the old generation at the same price but with less features. That said, gp3 provides higher throughput and IOPS over st1 and sc1 volumes due to being SSD-based storage.
Like the HDD-based services, durability is in the same range of 99.8% - 99.9%, leading to up to 9h per year unavailability. Likewise with capacity. Volumes can be scaled up to 16TiB
each and therefore are perfect for a variety of use cases, such as boot volumes, simple transactional workloads, smaller databases, and similar.
Provisioned IOPS Volumes (io1 / io2)
The third option are high-performance SSD (and NVMe) based volumes.
Same as with gp2 and gp3, io1 is the older generation of io2 and provides less scalability options and features over io2. That makes io1 almost obsolete these days, however, io2 isn’t available in all regions as of March 2024. Anyhow, all io2 volumes created after November 21, 2023 are automatically io2 Block Express volumes, offering all options, while older volumes may be limited in scalability options.
Durability of io1 is 99.8% - 99.9%, while io2 (Block Express) offers 99.999%, allowing the service a maximum annual unavailability of only 5 minutes.
Last but not least, io1 volumes can be scaled up to 16 TiB, whereas io2 can grow four times as big, to 64 TiB. Respectively with IOPS and maximum throughput (io1: 1,000 MiB/s and 64,000 IOPS, io2: 4,000 MiB/s and 256,000 IOPS).
Amazon EBS Pricing
Prices for Amazon EBS volumes and additional upgrades depend on the region they are created in. For that reason, it is not possible to give an exact explanation of the pricing. There is, however, the chance to give an overview of what features have separate prices, and an example for one specific region.
The base Amazon EBS volume types normal price from cheapest to most expensive (GB-month):
HDD-based sc1
HDD-based st1
SSD-based gp2
SSD-based gp3
SSD-based io1 and io2
In addition to the base pricing, there are certain capabilities or aspects which can be increased for an additional cost, such as
I/O Operations per Second (IOPS)
Throughput
Amazon EBS Pricing Example
![A graph representing the Amazon EBS cost breakdown of an io2 volume](https://static.wixstatic.com/media/a7fbb2_1ce6f5c9e1cc4093846867f5bbc5c328~mv2.jpg/v1/fill/w_523,h_408,al_c,q_80,enc_auto/a7fbb2_1ce6f5c9e1cc4093846867f5bbc5c328~mv2.jpg)
And this is where it gets a bit more complicated. Every type of volume has its own set of base, and maximum available capabilities. Not all capabilities are available on all volume types though.
In our example, we want to create an Amazon EBS volume of type io2 in the US-EAST with 10 TB storage capacity. In addition we want to increase the available IOPS to 80,000 - just to make it complicated. For newer io2 volumes, the throughput scales proportionally with provisioned IOPS up to 4,000 MiB/s, meaning we don’t have to pay extra.
Base price for the io2 volume:
The volume’s base cost is 0.125 USD/GB-month. That said, our 10 TB volume comes up to 1,250 USD per month.
Throughput capability pricing:
The throughput of up to 4,000 MiB/s is automatically scaled proportionally to the provisioned IOPS, so all is good here. For other volume types, additional throughput (over the base amount) can be bought.
IOPS capability pricing:
The pricing for IOPS can be as complicated as with io2 volumes. These have multiple “discount stages”. The prices are split at 32,000 and 64,000 IOPS.
With that in mind, the IOPS pricing can be broken down into:
0-32,000 IOPS * 0.065 USD/IOPS-month = 2,080 USD/month
32,001 - 64,000 IOPS * 0.046 USD/IOPS-month = 1,417.95 USD/month
64,001 - 80,000 IOPS * 0.032 USD/IOPS-month = 511.97 USD/month
Cost of the io2 volume:
That means, including all cost factors (USD 1,250.00 + USD 2,080.00, USD 1,417.95, USD 511.97), the cost builds up to a monthly fee of USD 5,259.92 - for a single volume.
Strategies to Optimize Amazon EBS Spending
Amazon EBS volumes can be expensive as just shown. Therefore, it is important to keep the following strategies for cost reduction and optimization in mind.
Rightsize Your Volumes
Regularly assess your storage requirements and resize volumes accordingly. Downsizing or upsizing volumes based on actual needs can result in significant cost savings. If auto-growing of volumes is enabled, keep the disk growth in check. Log files, or similar, running amok can blow your spend limit in hours.
Utilize Provisioned IOPS Wisely
Provisioned IOPS volumes offer high-performance storage but come at a high cost. Use them judiciously (and not ludicrously) for applications that require consistent and low-latency performance, and consider alternatives for less demanding workloads.
Implement Snapshot Lifecycle Policies
Set up lifecycle policies for snapshots to manage retention periods and reduce unnecessary storage costs. Periodically review and clean up outdated snapshots to optimize storage usage.
Leverage EBS-Optimized Instances
Use EC2 instances that are EBS-optimized for better performance. This ensures that the network traffic between EC2 instances and EBS volumes does not negatively impact overall system performance.
Conclusive Thoughts
As businesses continue to leverage AWS services, understanding and optimizing Amazon EBS spending is a key aspect of efficient cloud management. By carefully selecting the right volume types, managing sizes, and implementing cost-saving strategies, organizations can strike a balance between performance and cost-effectiveness in their cloud storage infrastructure. Regular monitoring and adjustment of storage configurations will contribute to a well-optimized and cost-efficient AWS environment.
If this feels too complicated or the requirements are hard to predict, simplyblock offers an easier, more scalable, and future-proof solution. Running right in your AWS account, providing you with the fastest and easiest way to build your own Amazon EBS alternative for Kubernetes, and save 60% and more on storage cost at the same time. Learn here how simplyblock works.
Comments