thumbnail

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 TypeEBS 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)
DescriptionHighest performance and highest durability SSD volume designed for latency-sensitive transactional workloadsHighest performance SSD volume designed for latency-sensitive transactional workloadsLowest cost SSD volume designed  for various types of  transactional workloadsGeneral Purpose SSD volume that balances price performance for a wide variety of transactional workloadsLow cost HDD volume designed for frequently accessed, throughput intensive workloadsLowest cost HDD volume designed for less frequently accessed workloads
Durability100.00%99.8% – 99.9% durability99.8% – 99.9% durability99.8% – 99.9% durability99.8% – 99.9% durability99.8% – 99.9% durability
Use CasesI/O-intensive NoSQL and relational databasesI/O-intensive NoSQL and relational databasesBoot volumes, low-latency interactive apps, dev and testBoot volumes, low-latency interactive apps, dev and testBig data, data warehouses, log processingColder data requiring fewer scans per day
API Nameio2io1gp3gp2st1sc1
Volume Size4 GB – 16 TB4 GB – 16 TB1 GB – 16 TB1 GB – 16 TB500 GB – 16 TB500 GB – 16 TB
Max IOPS/Volume64,00064,00016,00016,000500250
Max Throughput/Volume1,000 MB/s1,000 MB/s1,000 MB/s250 MB/s500 MB/s250 MB/s
Max IOPS/Instance160,000160,000260,000260,000160,000160,000
Max Throughput/Instance4,750 MB/s4,750 MB/s7,500 MB/s7,500 MB/s4,750 MB/s4,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 AttributeIOPS and volume durabilityIOPSIOPSIOPSMB/sMB/s

How EBS pricing works

See the following table for a thorough breakdown of pricing for different EBS products.

Pricing OptionDescriptionAWS EBS TypePricing
Free TierAWS Free Tier includes 30GB of Storage, 2 million I/Os, and 1GB of snapshot storage with Amazon Elastic Block Store (EBS)For Certain volume typesFree
Amazon EBS VolumesPay 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 VolumesPay only for what you use.General Purpose SSD (gp2) Volumes$0.10 per GB-month of provisioned storage
Amazon EBS VolumesPay 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 VolumesPay 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 VolumesPay only for what you use.Throughput Optimized HDD (st1) Volumes$0.045 per GB-month of provisioned storage
Amazon EBS VolumesPay only for what you use.Cold HDD (sc1) Volumes$0.025 per GB-month of provisioned storage
Amazon EBS SnapshotsAmazon 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 RestoreFast 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 SnapshotsAPIs to list and compare snapshotsListChangedBlocks and ListSnapshotBlocks$0.0006 per thousand requests
Amazon EBS direct APIs for SnapshotsAPIs to read snapshot blocksGetSnapshotBlock$0.003 per thousand SnapshotAPIUnits
Amazon EBS direct APIs for SnapshotsAPIs to write snapshot blocksPutSnapshotBlock$0.006 per thousand SnapshotAPIUnits
Hybrid Cloud Solutions Demo

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.

Book demo

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. 

Costs of GP2 vs GP3 while maintaining the same level of performance (savings are show on right axis)
A comprehensive approach to hybrid cloud management
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 TierDescriptionUsage CategoryStorage Pricing
S3 StandardGeneral-purpose storage for any type of data, typically frequently accessedFirst 50 TB / Month$0.023 per GB
S3 StandardGeneral-purpose storage for any type of data, typically frequently accessedNext 450 TB / Month$0.022 per GB
S3 StandardGeneral-purpose storage for any type of data, typically frequently accessedOver 500 TB / Month$0.021 per GB
S3 Intelligent Automatic cost savings for data with irregular access patternsFrequent Access Tier, First 50 TB / Month$0.023 per GB
S3 Intelligent Automatic cost savings for data with irregular access patternsFrequent Access Tier, Next 450 TB / Month$0.022 per GB
S3 Intelligent Automatic cost savings for data with irregular access patternsFrequent Access Tier, Over 500 TB / Month$0.021 per GB
S3 Intelligent Automatic cost savings for data with irregular access patternsInfrequent Access Tier, All Storage / Month$0.0125 per GB
S3 Intelligent Automatic cost savings for data with irregular access patternsMonitoring and Automation, All Storage / Month$0.0025 per 1,000 objects
S3 Standard – Infrequent AccessFor long-term but rarely accessed data that needs quick accessAll Storage / Month$0.0125 per GB
S3 One Zone – Infrequent AccessFor recreatable, rarely accessed data that needs quick accessAll Storage / Month$0.01 per GB
S3 GlacierFor long-term backups and archives; retrievable within 12 hoursAll Storage / Month$0.004 per GB
S3 Glacier Deep Archive For long-term archives accessed once or twice per year; restorable within 12 hoursAll 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.

A comprehensive approach to hybrid cloud management

Only solution with automated discovery, testing, provisioning, security, and cost management

A `single pane`for infrastructure spanning on-premise, private cloud, and multiple public clouds

A comprehensive framework that extends your existing tool investments and fills the gaps

You like our article?

Follow our LinkedIn monthly digest to receive more free educational content like this.

Subscribe Now

Explore the chapters:

Related Blogs

 
thumbnail
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,…

 
thumbnail
VMWare Alternatives – What’s Next For Your Cloud Practice

As a VMware partner, you may have received notice that Broadcom is terminating your contract.  It’s like the tech world’s…

 
thumbnail
The cloud ROI problem

Why the cloud cost problem is not going away, and why we need to change the way we look at…

 
thumbnail
VMWare Competitors: Exploring Migration Options after Broadcom’s Acquisition

As the saga of the recent $69 billion acquisition of VMware by Broadcom continues to play out, it has sent…