EBS volume waste
Amazon EBS bills you for every provisioned GB-month, whether the volume holds production data, sits attached to a stopped instance, or is 97% empty. A 500 GB volume costs the same when it stores 15 GB as when it is full — and it keeps costing that after you stop, or even terminate without cleanup, the instance it served. In large accounts this adds up to real money: in a 2023 engagement, a client was paying about $150,000 per month for EBS volumes, most of it attached to stopped machines.
How EBS billing actually works
Section titled “How EBS billing actually works”Three mechanics explain almost all EBS waste:
- Volumes bill on provisioned capacity, not usage. You pay for the size you allocated. Empty space costs exactly as much as data. In the snapshot case study, an estimated 1.18 PB of the 1.29 PB being paid for was empty space.
- Stopping an EC2 instance stops compute billing, not storage billing. The attached EBS volumes keep billing every month at full price. A fleet of stopped instances “kept for later” is a storage bill with no workload behind it.
- Snapshots bill for actual stored data, incrementally. Unlike volumes, EBS snapshots charge only for the blocks that contain data (and subsequent snapshots store only changed blocks). This asymmetry — volumes bill provisioned size, snapshots bill real data — is why snapshotting and deleting idle volumes can cut storage cost by an order of magnitude.
The waste patterns CloudPouch finds
Section titled “The waste patterns CloudPouch finds”- Unattached volumes. Volumes left behind after instance termination bill indefinitely. Nothing uses them; AWS charges for them anyway.
- Volumes on stopped instances. The most expensive pattern at scale. In that same engagement, 19,136 volumes attached to stopped instances were snapshotted and deleted: 1,347,115 GB of provisioned volumes became 103,906 GB of snapshot data, saving $109,926 per month — $1.32M per year. The average monthly storage cost per EC2 instance dropped from $14.20 to $5.82.
- GP2 volumes that should be GP3. GP3 offers a lower per-GB price than GP2 and decouples IOPS from size, and migration works in place via EBS Elastic Volumes. In a 2021/2022 account with about 17,000 GP2 volumes and roughly $100,000/month of
EBS:VolumeUsage.gp2spend, migrating to GP3 saved an estimated 20% — $18,890 per month — with no instance problems in that environment. - Snapshots that outlived their purpose. Snapshots are cheap per GB but accumulate forever unless reviewed; old snapshot chains for deleted workloads are pure waste.
What to do about it
Section titled “What to do about it”CloudPouch’s EBS Cost Insights and EBS Snapshot Cost Insights connect your billing data to the deployed volumes and snapshots so you can see which pattern applies and what it is worth in your account. CloudPouch is read-only: it identifies the opportunity and the estimated saving, and you decide what to change in AWS.
Whether a stopped instance’s volumes should become snapshots depends on restore requirements — the snapshot pattern needs metadata tracking and tested restore automation, not just deletion. Check current EBS pricing on the AWS pricing page before projecting savings; the figures above are historical case-study results, not quotes.