Guide To AWS EBS Pricing
Amazon Elastic Block Storage (EBS) is an easy to use, high-performance block storage service designed to work with Amazon Elastic Compute Cloud (EC2). You can change volume types, tune performance, dynamically increase volume size and modify the provisioned IOPS capacity on live production environments, without disrupting your critical applications running on it. Multiple EBS volumes can be attached to a single instance if all resources are in the same Availability Zone. You can also use Multi-Attach to mount a volume to multiple instances at the same time.
In this article, we explain how EBS volumes are priced, highlight the characteristics of the general purpose SSD volume known as GP3, and present the industry best practices for controlling your EBS spending.
Types of EBS Volumes
Volume Type | EBS Provisioned IOPS SSD (io2) | EBS Provisioned IOPS SSD (io1) | EBS General Purpose SSD (gp3) | EBS General Purpose SSD (gp2) | Throughput Optimized HDD (st1) | Cold HDD (sc1) |
---|---|---|---|---|---|---|
Description | Highest performance and highest durability SSD volume designed for latency-sensitive transactional workloads | Highest performance SSD volume designed for latency-sensitive transactional workloads | Lowest cost SSD volume designed for various types of transactional workloads | General Purpose SSD volume that balances price performance for a wide variety of transactional workloads | Low cost HDD volume designed for frequently accessed, throughput intensive workloads | Lowest cost HDD volume designed for less frequently accessed workloads |
Durability | 100.00% | 99.8% – 99.9% durability | 99.8% – 99.9% durability | 99.8% – 99.9% durability | 99.8% – 99.9% durability | 99.8% – 99.9% durability |
Use Cases | I/O-intensive NoSQL and relational databases | I/O-intensive NoSQL and relational databases | Boot volumes, low-latency interactive apps, dev and test | Boot volumes, low-latency interactive apps, dev and test | Big data, data warehouses, log processing | Colder data requiring fewer scans per day |
API Name | io2 | io1 | gp3 | gp2 | st1 | sc1 |
Volume Size | 4 GB – 16 TB | 4 GB – 16 TB | 1 GB – 16 TB | 1 GB – 16 TB | 500 GB – 16 TB | 500 GB – 16 TB |
Max IOPS/Volume | 64,000 | 64,000 | 16,000 | 16,000 | 500 | 250 |
Max Throughput/Volume | 1,000 MB/s | 1,000 MB/s | 1,000 MB/s | 250 MB/s | 500 MB/s | 250 MB/s |
Max IOPS/Instance | 160,000 | 160,000 | 260,000 | 260,000 | 160,000 | 160,000 |
Max Throughput/Instance | 4,750 MB/s | 4,750 MB/s | 7,500 MB/s | 7,500 MB/s | 4,750 MB/s | 4,750 MB/s |
Price | $0.125/GB-month $0.065/provisioned IOPS | $0.125/GB-month $0.065/provisioned IOPS | $0.08/GB-month, 3,000 IOPS free and $0.005/provisioned IOPS-month over 3,000, 125 MB/s free and $0.04/provisioned MB/s-month over 125 | $0.10/GB-month | $0.045/GB-month | $0.025/GB-month |
Dominant Performance Attribute | IOPS and volume durability | IOPS | IOPS | IOPS | MB/s | MB/s |
How EBS pricing works
See the following table for a thorough breakdown of pricing for different EBS products.
Pricing Option | Description | AWS EBS Type | Pricing |
---|---|---|---|
Free Tier | AWS Free Tier includes 30GB of Storage, 2 million I/Os, and 1GB of snapshot storage with Amazon Elastic Block Store (EBS) | For Certain volume types | Free |
Amazon EBS Volumes | Pay only for what you use. | General Purpose SSD (gp3) Volumes | $0.08/GB-month, 3,000 IOPS free and $0.005/provisioned IOPS-month over 3,000, 125 MB/s free and $0.04/provisioned MB/s-month over 125 |
Amazon EBS Volumes | Pay only for what you use. | General Purpose SSD (gp2) Volumes | $0.10 per GB-month of provisioned storage |
Amazon EBS Volumes | Pay only for what you use. | Provisioned IOPS SSD (io2) Volumes | $0.125 per GB-month of provisioned storage AND $0.065 per provisioned IOPS-month |
Amazon EBS Volumes | Pay only for what you use. | Provisioned IOPS SSD (io1) Volumes | $0.125 per GB-month of provisioned storage AND $0.065 per provisioned IOPS-month |
Amazon EBS Volumes | Pay only for what you use. | Throughput Optimized HDD (st1) Volumes | $0.045 per GB-month of provisioned storage |
Amazon EBS Volumes | Pay only for what you use. | Cold HDD (sc1) Volumes | $0.025 per GB-month of provisioned storage |
Amazon EBS Snapshots | Amazon EBS Snapshots are a point in time copy of your block data. EBS Snapshots are stored incrementally, which means you are billed only for the changed blocks stored. | EBS Snapshots | $0.05 per GB-month of data stored |
Amazon EBS Fast Snapshot Restore | Fast Snapshot Restore (FSR) allows you to promptly restore volumes. FSR is charged in Data Services Unit-Hours (DSU-Hours) until you disable FSR on the snapshot. | Fast Snapshot Restore | $0.75 per 1 DSU hour on each snapshot and in each Availability Zone it is enabled |
Amazon EBS direct APIs for Snapshots | APIs to list and compare snapshots | ListChangedBlocks and ListSnapshotBlocks | $0.0006 per thousand requests |
Amazon EBS direct APIs for Snapshots | APIs to read snapshot blocks | GetSnapshotBlock | $0.003 per thousand SnapshotAPIUnits |
Amazon EBS direct APIs for Snapshots | APIs to write snapshot blocks | PutSnapshotBlock | $0.006 per thousand SnapshotAPIUnits |
See the best multi-cloud management solution on the market, and when you book & attend your CloudBolt demo we’ll send you a $75 Amazon Gift Card.
General Purpose SSD (gp3) vs. General Purpose SSD (gp2)
AWS announced a next generation general purpose SSD at Reinvent 2020. The storage cost of gp3 is on average 20% less than gp2 ($0.08/GB-month vs $0.1/GB-month of GP2) for smaller storage volumes. However you must keep in mind that GP2’s performance is proportional to its volume capacity, so to have higher performance, you must provision a volume with higher storage capacity. GP2 also uses the concept of “burst credit” to burst for up to 30 minutes beyond its baseline IOPS, which doesn’t apply to GP3. A value of using GP3 is that you can provision its throughput and IOPS independently from its storage capacity to obtain a consistent level of desired performance, based on the following rates:
- Adding provisioned IOPS costs $0.005/p IOPS-month
- Adding throughput costs $0.04/ MB/s-month
So a fair comparison between the two must take into account the additional costs of GP3 performance to match the increasing performance of GP2 as the provisioned storage capacity grows. The graph below starts with a 20% differential savings that goes down as the provisioned capacity increases on the x-axis. This is due to the costs of provisioning additional GP3 performance beyond 3,000 IOPS after 1 Terabytes of capacity. At higher volumes, GP3 still remains cheaper though the difference reduces to about 5% at around 7 Terabytes of capacity.
Platform
|
Multi Cloud Integrations
|
Cost Management
|
Security & Compliance
|
Provisioning Automation
|
Automated Discovery
|
Infrastructure Testing
|
Collaborative Exchange
|
---|---|---|---|---|---|---|---|
CloudHealth
|
✔
|
✔
|
✔
|
||||
Morpheus
|
✔
|
✔
|
✔
|
||||
CloudBolt
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
✔
|
How to lower your EBS cost
1. Find detached EBS Volumes in terminated EC2 instances
When EC2 instances are terminated, attached EBS volumes are not automatically deleted and will continue to charge since they are still operating. Check for volumes that have the AWS attribute named “state” set to the value “available”, which are not attached to an EC2 instance. Also look at network throughput and IOPS to see whether there was any volume activity over the past few weeks. After you detach a volume, you are still charged for volume storage if the storage amount exceeds Amazon’s Free Tier limit. You must delete a volume to avoid incurring further charges.
Note: You can set your EC2 to automatically delete the EBS root device volume upon EC2 instance termination. Simply set ‘DeleteOn Termination’ attribute for additional non-root EBS volumes to ‘true’. So, constantly check and delete any unwanted EBS volumes.
2. Find EBS volumes attached to EC2 instances stopped for too long
Amazon EC2 instances charge only while they’re running, but EBS volumes attached to instances continue to retain information and charge, even when the instance is stopped. If the EC2 instances are stopped for too long (could be hours/days/months), to lower your AWS charges, it is recommended to create an EBS snapshot and delete the volume, or move your important files to an S3 bucket and delete the volume. Amazon EBS snapshots are billed at a lower rate than active EBS volumes.
3. Find underutilized EBS Volumes
Identify volumes that are underutilized (either unused storage space or IOPS), and downsize them, or change the volume type. You can monitor the read-write access of EBS volumes to determine if throughput is low. If you have a current-generation EBS volume attached to a current-generation EC2 instance type, you can use the elastic volumes feature to change the size or volume type, or (for an SSD io1 volume) adjust IOPS performance without detaching the volume.
4. Use RAID configuration to get higher IOPS
Redundant Array of Independent Disks (RAID) uses mirrored volumes to either increase performance through workload distribution or prevent single points of failure. RAID 0 or RAID 1 are recommended. RAID 0 is used to boost performance and distribute workloads when you are unable to gain additional performance by changing volume types. RAID 1 provides data redundancy.
You can reduce costs by combining multiple EBS volumes together to form a single logical volume, which is known as striping (or RAID 0). For example, assume you stripe four 120 GiB gp2 volumes together for a bursty workload in replacement of one 480 GiB io2 IOPS volume. Compare the following monthly bills:
- 4 gp3 EBS volumes: 4*($0.08*120 GiB) = $38.4; achieves IOPS of 4*1920 (16 KiB I/O)
- 4 gp2 EBS volumes: 4*($0.1*120 GiB) = $48; achieves IOPS of 4*1920 (16 KiB I/O)
- 1 io2 IOPS volume: $0.125*480 GiB + 3,840*$0.065 = $309.6; achieves IOPS of 2*1920 (16 KiB I/O)
5. Take EBS Snapshots & Fast Snapshots Restore
EBS snapshots are typically used to create incremental backups for EBS volumes and EC2 instances. You can use EBS snapshots as part of your disaster recovery strategy and for reducing storage costs. Amazon EBS Fast Snapshot Restore enables you to create a volume from a snapshot that is fully initialized at creation. This eliminates the latency of I/O operations on a block when it is accessed for the first time. Volumes that are created using fast snapshot restore instantly deliver all their provisioned performance.
6. Remove old Snapshots that are no longer needed
Outdated Backups which have no value might still be kept in EBS snapshots. Often, recovery procedures only need the most recent snapshot for successful restoration. Although individual snapshots are not costly, the costs can add up when many are provisioned. Administrators should set up automated deletions for retained snapshots past a certain age.
7. Use Data Lifecycle Manager to manage your snapshots
You can use Amazon Data Life Cycle Manager (Amazon DLM) lifecycle policies to automate several functions for Amazon EBS snapshots. Amazon DLM eliminates the need for complicated tools and custom scripts to manage EBS snapshots. Amazon DLM enables you to manage EBS snapshots in a simple, automated way using resource tags for EBS volumes or EC2 instances. Since the operational complexity of managing EBS snapshots is reduced by Amazon DLM alone, you save money by saving your team time. Amazon DLM is free and available in all AWS Regions.
8. Moving less utilized data to lower storage tiers
Reduce the cost of less utilized data by moving to a lower grade storage like S3 or Glacier, rather than using costly EBS volumes. Since S3 pricing is a lot cheaper than the EBS or Snapshot pricing, AWS recommends using them for less utilized data.
S3 Tier | Description | Usage Category | Storage Pricing |
---|---|---|---|
S3 Standard | General-purpose storage for any type of data, typically frequently accessed | First 50 TB / Month | $0.023 per GB |
S3 Standard | General-purpose storage for any type of data, typically frequently accessed | Next 450 TB / Month | $0.022 per GB |
S3 Standard | General-purpose storage for any type of data, typically frequently accessed | Over 500 TB / Month | $0.021 per GB |
S3 Intelligent | Automatic cost savings for data with irregular access patterns | Frequent Access Tier, First 50 TB / Month | $0.023 per GB |
S3 Intelligent | Automatic cost savings for data with irregular access patterns | Frequent Access Tier, Next 450 TB / Month | $0.022 per GB |
S3 Intelligent | Automatic cost savings for data with irregular access patterns | Frequent Access Tier, Over 500 TB / Month | $0.021 per GB |
S3 Intelligent | Automatic cost savings for data with irregular access patterns | Infrequent Access Tier, All Storage / Month | $0.0125 per GB |
S3 Intelligent | Automatic cost savings for data with irregular access patterns | Monitoring and Automation, All Storage / Month | $0.0025 per 1,000 objects |
S3 Standard – Infrequent Access | For long-term but rarely accessed data that needs quick access | All Storage / Month | $0.0125 per GB |
S3 One Zone – Infrequent Access | For recreatable, rarely accessed data that needs quick access | All Storage / Month | $0.01 per GB |
S3 Glacier | For long-term backups and archives; retrievable within 12 hours | All Storage / Month | $0.004 per GB |
S3 Glacier Deep Archive | For long-term archives accessed once or twice per year; restorable within 12 hours | All Storage / Month | $0.00099 per GB |
9. Select the right mix of EBS types
AWS provides various types of EBS volumes allowing you to select the right volume to meet your budget and application performance. You should ensure that EC2 instances use General Purpose SSD (gp2) or General Purpose SSD (gp3) EBS volumes instead of Provisioned IOPS SSD (io1) volumes unless the supported application requires more than 10000 IOPS or 160 MiB/s of throughput per volume.
10. Select the right sizes of EBS volumes
EBS volumes should also be right-sized with appropriate capacity, IOPS, and throughput of the application. You should monitor the read-write access for all EBS volumes periodically. If the throughput is low, then downgrade the EBS blocks in question to reduce EBS costs.
11. Select the right size provisioned IOPS
If you’re using high-performance io1 EBS volumes, capacity isn’t the only dimension you’ll need to optimize. In addition, the amount of provisioned IOPS should be adjusted to match application requirements. This could be a bigger cost factor than capacity. Io1 is the most expensive EBS volume type because it provides the highest performance and it is configurable.
12. Select the right size RDS volumes
RDS databases often use over-provisioned EBS resources since databases are sensitive to latency. Just like volumes attached to EC2 instances, these may not be the right type or size and should be adjusted based on the performance requirements of the application.
Related Blogs
The New FinOps Paradigm: Maximizing Cloud ROI
Featuring guest presenter Tracy Woo, Principal Analyst at Forrester Research In a world where 98% of enterprises are embracing FinOps,…
Ready to Run Webinar: Achieving Automation Maturity in FinOps
Automation has become essential to keeping up with today’s fast-paced cloud environment. Manual FinOps processes create bottlenecks, delay decisions, and…