Explanation
Why the waste happens and who it affects.
This can happen when performance buffers are estimated too high, usage patterns change over time, or default settings are left unadjusted. Provisioned IOPS (every IOPS on io1 and io2, or IOPS above the free 3,000 baseline on gp3) generate ongoing charges that may not reflect actual utilization, resulting in avoidable cost.
Billing model
The pricing dimensions that drive this cost.
EBS volumes with configurable IOPS are billed based on both provisioned storage (per GB-month) and provisioned IOPS (per IOPS-month). gp3 includes 3,000 IOPS and 125 MB/s at no extra cost and bills only IOPS and throughput provisioned above that, while io1 and io2 bill every provisioned IOPS (io2 at tiered rates above 32,000 IOPS), regardless of whether they are used. Charges accumulate continuously for any overprovisioned IOPS that exceed actual workload demand.
How to detect
4 checks to find it in your estate.
- Review actual IOPS usage over a representative time window (e.g., 14-30 days)
- Compare provisioned IOPS to peak and average demand to assess excess capacity
- Confirm whether performance requirements or bursty workloads justify the current configuration
- Validate with workload owners whether the IOPS level can be reduced without affecting performance
How to fix
How to remove the waste.
Reduce the provisioned IOPS to a level more consistent with observed usage. Ensure that baseline performance remains sufficient for the workload's needs, and consider whether standard burstable performance is acceptable. If needed, reconfigure both IOPS and throughput settings to optimize cost-performance alignment. Reassess regularly to avoid regression.
Documentation
Vendor references for pricing and configuration.