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
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
Pay only for what you use.
General Purpose SSD (gp2) Volumes
$0.10 per GB-month of provisioned storage
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
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
Pay only for what you use.
Throughput Optimized HDD (st1) Volumes
$0.045 per GB-month of provisioned storage
Pay only for what you use.
Cold HDD (sc1) Volumes
$0.025 per GB-month of provisioned storage
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
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
APIs to list and compare snapshots
ListChangedBlocks and ListSnapshotBlocks
$0.0006 per thousand requests
APIs to read snapshot blocks
GetSnapshotBlock
$0.003 per thousand SnapshotAPIUnits
APIs to write snapshot blocks
PutSnapshotBlock
$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 $100 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. 

The-GP3-is-more-affordable-than-GP2-by-20%

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 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.

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