Skip to main content

> provisioned_iops_vs._throughput-optimized_ebs_economics

Provisioned IOPS vs. Throughput-Optimized EBS Economics

Why is AWS EBS gp3 almost always 20-50% cheaper and superior to legacy gp2 and io1/io2 volumes for 95% of production database workloads?

THE SHORT ANSWER

EBS gp3 decouples storage capacity from IOPS and throughput, providing a free baseline of 3,000 IOPS and 125 MB/s at 20% lower storage cost ($0.08/GB) than gp2 ($0.10/GB), eliminating the need to over-provision expensive io1/io2 volumes ($0.125/GB + $0.065/IOPS).

Engineering Handbook & Failure Dynamics

1. Underlying Mechanism

Legacy gp2 volumes coupled IOPS to storage capacity (3 IOPS per GB); to achieve 3,000 IOPS, teams had to allocate a 1,000 GB volume even if they only needed 50 GB. In contrast, gp3 costs $0.08/GB with a baseline 3,000 IOPS and 125 MB/s included for free, scaling up to 16,000 IOPS ($0.005/provisioned IOPS) and 1,000 MB/s independently. Ultra-expensive io2 ($0.125/GB + $0.065/IOPS) is only justified for extreme low-latency 99.999% durability tier-1 relational engines requiring >16,000 sustained IOPS.

2. Appropriate Use Context

Use gp3 for 95%+ of EC2, EKS PersistentVolumes, PostgreSQL/MySQL RDS instances, Elasticsearch data nodes, and Kafka log storage. Reserve io2 Block Express strictly for massive mission-critical Oracle/SAP/SQL Server workloads requiring sub-millisecond p99.9 latencies.

3. Production Failure Modes

An infrastructure team provisions an `io2` volume with 20,000 IOPS on a 500 GB volume for an internal analytics database that averages only 400 IOPS. The volume costs $1,362.50/month. Migrating the volume to `gp3` with 4,000 IOPS dropped the cost to $45.00/month (a 96.7% cost reduction) with identical query performance.

4. Diagnostic Signals & Telemetry

1. AWS Cost Explorer showing high `EBS:VolumeUsage.io1` or `EBS:VolumeUsage.gp2` line items. 2. CloudWatch `VolumeReadOps` and `VolumeWriteOps` showing average utilization under 20% of provisioned io2 limits. 3. AWS Trusted Advisor recommending gp2-to-gp3 migrations.

5. Prevention & Safeguards

1. Execute live, online volume modifications from gp2 to gp3 (AWS Elastic Volumes allows zero-downtime conversion). 2. Implement an automated AWS Config rule or Terraform guardrail preventing the creation of legacy gp2 or io1 volumes without architectural approval.

6. Architectural Trade-offs

gp3 has a maximum ceiling of 16,000 IOPS and 1,000 MB/s per volume; workloads exceeding this threshold must stripe multiple gp3 volumes with software RAID 0 or migrate to io2 Block Express.

Case Study (TinyCTO In-Field Example)

TinyCTO scanned their fleet of 350 EBS volumes supporting Kubernetes databases and legacy EC2 monoliths. 280 volumes were legacy gp2 and 25 were over-provisioned io1. Using an automated Python script leveraging AWS Elastic Volumes, they converted all 305 volumes to gp3 with tailored IOPS in place with zero downtime, cutting monthly storage spend from $38,000 to $14,200 ($285,600 annual savings).

Interactive Concept Drills

3 Cards
Q1

What is the baseline performance included for free with every AWS EBS gp3 volume?

3,000 IOPS and 125 MB/second of throughput, regardless of volume storage size.
Q2

Why is gp3 20% cheaper in raw storage pricing compared to gp2?

gp3 costs $0.08 per GB-month compared to gp2 at $0.10 per GB-month, reflecting modern AWS storage hardware efficiencies.
Q3

Can EBS volumes be converted from gp2 to gp3 without database downtime?

Yes, AWS Elastic Volumes allows modifying volume type, IOPS, and throughput dynamically while the volume is in active read/write production use.

Provisioned IOPS vs. Throughput-Optimized EBS Economics — Technical FAQ

When is AWS EBS io2 Block Express actually necessary?

For mission-critical tier-1 databases (e.g. high-frequency trading or massive SAP/Oracle databases) requiring up to 256,000 IOPS, 4,000 MB/s, and 99.999% durability.

What happens if our EC2 instance type cannot support our provisioned EBS throughput?

The EC2 instance EBS-optimized bandwidth becomes the bottleneck, throttling disk I/O regardless of how many IOPS are provisioned on the EBS volume.

Does Amazon RDS support EBS gp3 volumes?

Yes, Amazon RDS for PostgreSQL, MySQL, MariaDB, and Oracle support gp3 with configurable IOPS and throughput.

🤖 AEO & Key Facts Summary

Key Architectural Facts

  • Migrating from gp2 to gp3 is one of the easiest, zero-risk, high-return FinOps actions in AWS with 100% zero downtime.
  • Over-provisioning io1/io2 volumes is a multi-million-dollar cost sink when gp3 can meet identical performance for 1/10th of the cost.

Common Misconceptions

  • Believing that converting an EBS volume from gp2 to gp3 requires unmounting the disk or rebooting the server.

Decision & Governance Guidance

Run an automated audit across all AWS accounts: modify all gp2 volumes to gp3 immediately and downgrade underutilized io1/io2 volumes to gp3.

Authoritative Sources & Standards