EBS Cost Optimization

Price exercises use hypothetical us-east-1 (US East, N. Virginia) rates for study on 2026-10-12, not current tariffs, unless explicitly identified as a dated published fee.

EBS is billed for provisioned volumes and applicable provisioned performance, not filesystem utilization. Stopping EC2 or detaching a volume does not stop volume charges.

Volume choice

gp3 includes baseline 3,000 IOPS and 125 MiB/s throughput. Performance above the baseline is charged separately under current regional rates and supported limits. Its limits differ from RDS gp3. io2 serves workloads requiring its performance/durability characteristics; there is no EBS io3 volume type.

Use SSD versus HDD options according to workload and boot/support constraints. c5 is a Nitro-based family; do not classify it as non-Nitro. Check instance EBS bandwidth as well as volume limits before purchasing extra IOPS.

Worked storage calculation

At an assumed $0.10/GB-month, four 100-GB and four 50-GB volumes total 600 GB and cost $60/month. Do not add an IOPS fee for gp3’s included baseline. Actual gp3 rates and additional IOPS/throughput must come from the selected Region’s price sheet.

A 1,000-GB provisioned volume with 100 GB of files still bills for 1,000 GB. Filesystem usage requires guest metrics/inventory, not VolumeReadBytes. EBS cannot shrink a volume in place; plan a smaller replacement, copy data and validate before cutting over.

Retention and encryption

EBS snapshots have their own pricing and incremental storage semantics, not direct S3 Standard billing. Archive and restore have separate retention/retrieval rules. Deleting a volume does not delete its snapshots; deleting EC2 depends on each volume’s DeleteOnTermination setting.

EBS encryption uses AWS KMS, not SSE-S3. AWS-managed versus customer-managed keys have different control and pricing; KMS requests and customer-managed key charges are separate from per-volume storage, not one monthly key fee per volume. A snapshot’s reference to a KMS key does not itself prevent deletion.

Safe cleanup

Inventory unattached volumes, owner tags, snapshot/AMI dependencies and retention obligations. An unattached or old resource is a candidate, not proof it is disposable. Require owner approval and a recoverability plan. Use DLM/AWS Backup policies where appropriate and verify restore tests.

Volume and performance trade-offs

TypeWorkload fitCost/performance consideration
gp3General-purpose SSDIncluded baseline plus separately provisioned additional performance
gp2Existing general-purpose SSDSize-linked performance and burst credits
io1/io2Supported provisioned-IOPS workloadsIOPS fees and durability/latency requirements
st1Large sequential throughputHDD; not a boot-volume replacement
sc1Infrequent sequential accessHDD performance/access constraints

Maximum IOPS/throughput and size ratios depend on current volume type and instance support. Do not revive stale limit tables; consult the linked owning table when planning. Multi-Attach is limited to supported provisioned-IOPS configurations/AZ/instances and requires application/cluster coordination. It is not a generic shared filesystem; compare EFS/FSx if that is the actual requirement.

Corrected gp2-to-gp3 calculation

Use hypothetical us-east-1 exercise prices on 2026-10-12: gp2=$0.10/GB-month, gp3=$0.08/GB-month and extra gp3 IOPS=$0.005/IOPS-month.

500 GB gp2                         = $50/month
500 GB gp3, included 3,000 IOPS     = $40/month
500 GB gp3, 10,000 provisioned IOPS = $40 + (10,000 − 3,000) × $0.005
                                   = $75/month before extra throughput

Ten thousand IOPS are not fully included. A cheaper storage rate alone does not prove a cheaper configured volume. Compare io2 using its actual tiered performance pricing and required durability/latency, not a universal io2-versus-gp3 crossover.

Metrics and snapshot worksheet

I/O operations per second derive from VolumeReadOps/VolumeWriteOps over the measurement period; bytes per second derive from byte counters. Queue length and latency help diagnose saturation. BurstBalance is relevant to supported burst-credit volume types, not evidence of filesystem free space.

Suppose a volume provisions 500 GB but its first snapshot contains 100 GB of billable changed blocks. Later snapshots add 10 GB of new retained blocks. Standard snapshot cost follows retained billable blocks, not 500 GB multiplied by snapshot count. Deleting an earlier snapshot may preserve blocks referenced by later snapshots, so apparent logical size is not guaranteed reclaimable storage.

DLM or AWS Backup can automate protected schedules; confirm which resources the policy manages and test restores. A manually created snapshot is not automatically governed by an unrelated DLM policy. Keep AMI references, legal holds, cross-account copies and encryption-key recoverability in the review.

References