Until 2012 Amazon had a single type of EBS volume—the magnetic standard volume. Since then Amazon has announced a multitude of other options including provisioned IOPS (SSD) and General Purpose (SSD) EBS volumes. Last year they announced the gigantic 16TB volume and, as we know from Amazon’s track record of advances, they’ll never stop. Last month they released yet another two: the block storage Throughput Optimized HDD (st1) and Cold HDD (sc1) volume types.
In this article we’ll briefly run through the evolution of the EBS volume, focusing on the different volume types, their purpose and an overview of AWS EBS pricing.
The 4 Types of Current Generation Volume
As we initially pointed out, the first EBS volume was magnetic, which Amazon now refers to as the previous generation volume. But your next EBS volume should be provisioned from the current generation of EBS types. These are categorized to the SSD- and HDD-backed volume types. While these were previously only suited to general transactional workloads, Amazon’s latest offerings, which were recently announced at the AWS Chicago summit, can support high throughput applications such as log analytics.
“It turns out that there are some really interesting trade-offs between HDD and SSD storage. On the one hand, today’s SSD devices provide more IOPS per dollar, more throughput per gigabyte, and lower latency than today’s HDD devices. On the other hand, continued density improvements in HDD technology drive the cost per gigabyte down, but also reduce the effective throughput per gigabyte.”
—Jeff Barr, in his blog post announcing the new HDD volumes.
|EBS Type||Features||Monthly Cost (US East, 2016)|
|General Purpose SSD (gp2)||Good when needed to support frequent access to data.Good as a boot volume owing to its burst performance (up to 3000 IOPS/s). Support 3 IOPS/GB. Larger volumes get higher I/O credit, which can help burst beyond the standard 3 IOPS per GB.||0.1/GB|
|Provisioned IOPS SSD (io1)||For intensive and consistent I/O performance. Good for mission-critical database workloads such as MongoDB and Cassandra.|
Can reach up to 20K IOPS per volume. The max ratio of provisioned storage/IOPS is 30.
|Throughput Optimized HDD (st1)||Supports large, sequential I/O workloads, such as log analytics.|
Throughput 250 MB/s per 1TB volume. Grows by 250 MB/s for every additional terabyte. Maximum throughput of 500 MB/s. In relation to the size of your volume, you gain credits that can be used at I/O bursts (as in the case of the gp2 volume).
|Cold HDD (sc1)||Throughput 80 MB/s per 1TB volume. Grows by 80 MB/s for every additional terabyte. Maximum burst throughput of 250 MB/s.||$0.025/GB-month|
PIOPS are the preferred option to run big data workloads as users want to ensure database workload performance. However, you should be careful with this assumption, as the cost of PIOPS doesn’t always justify the use. You might want to first try the new HDD volumes or even start with gp2. In addition, the good news is that the new-generation magnetic volumes are actually cheaper than the previous generation which cost $0.05/GB.
The Cost of Your EBS Snapshots
In addition to looking into AWS EBS pricing, it’s worth checking out one of our previous posts, which covers everything you need to know about snapshots.
It’s first important to realize that a single snapshot includes a compressed version of your volume data, which is stored on S3. To estimate your monthly snapshot costs, you should take into account a whole variety of factors, such as your EBS snapshot frequency, the amount of utilized S3 space, the data compression rate (which depends on the data type) and your data transfer costs (in the case of a cross-region backup implementation). Make sure you understand the features of your backups, including retention periods. And monitor and delete redundant snapshots since these can end up adding hundreds if not thousands of dollars to your monthly bill.
Stay on Top of Your Costs
In order to check your storage requirements, you can use IOStat for a Linux environment and Perfmon, which is integral to Windows. These create a log on the physical disk and also report the number of I/Os per second.
In addition, to avoid losing control, you should monitor your EBS volume utilization. For this,you can use the parameters VolumeWriteOps, VolumeReadOps and VolumeThroughputPercentage. Also, create a CloudWatch alarm with AWS Simple Notification Service (SNS) to send yourself a text message and email when your volume usage reaches certain thresholds. You can also find out more by reading this article that shows you how to monitor your volumes using a CloudWatch alarm.
If you’re a veteran AWS user, you shouldn’t rely on your previous experiences of EBS, as cloud volume performance has significantly improved over the last few years. You should familiarize yourself with the AWS EBS pricing model and with the two low-cost additions that can provide you with more options for your valuable data.