An AWS storage review works through five places waste hides: unattached and idle EBS volumes, gp2 volumes that should be gp3, S3 buckets with no lifecycle policy, forgotten EBS snapshots, and cross region replication you no longer need. You run it from the Cost and Usage Report, give every finding an owner and a decision, then automate the recurring parts so the cleanup holds. Storage is rarely the biggest line on an AWS bill, but it is one of the easiest to let drift, because deleting data feels riskier than leaving it and nobody owns the question.
This sits in the AWS storage, data, and network discipline. Below is the order to work the review in, the numbers to capture, and how to keep it from reverting.
Start from the source of truth
Pull storage cost from the Cost and Usage Report, the CUR, broken out by service and by tag. The CUR shows EBS, S3, snapshot, and data transfer line items at the granularity you need to assign ownership. If volumes and buckets carry team, product, and environment tags, the review takes an afternoon. If they do not, fixing tagging is the first step, covered in the wider AWS cost optimization guide.
Where does AWS storage waste actually hide?
Work the review in this order, because the early steps are pure waste removal with no performance risk.
| Check | What to look for | The decision |
|---|---|---|
| Unattached EBS | Volumes in the available state, attached to nothing | Snapshot if uncertain, then delete. Pure waste. |
| Idle EBS | Attached volumes with near zero IOPS for weeks | Right size or detach and archive the data. |
| gp2 volumes | General purpose gp2 still on the old type | Migrate to gp3 for a standing rate reduction. |
| S3 without lifecycle | Buckets where everything sits in Standard | Add lifecycle rules to tier cold objects. |
| Old snapshots | EBS snapshots with no retention policy | Set retention; delete orphaned snapshots. |
| Replication | Cross region copies no longer required | Stop replicating data that does not need it. |
The gp2 to gp3 migration, the reliable win
Moving general purpose volumes from gp2 to gp3 is one of the most dependable standing savings on AWS, because gp3 decouples capacity from performance: you pay for storage, then provision throughput and IOPS only where a workload needs them. Most volumes never used the throughput gp2 bundled in. The saving does not expire and carries no commitment risk, unlike a rate that resets at renewal. Verify the move against current AWS pricing and each volume's real throughput before you flip it, and treat any percentage you quote internally as indicative until measured. We cover the volume level detail in EBS snapshots and the cost of forgetting.
Tier S3 with lifecycle policies
The single biggest S3 lever is moving data that is rarely read into colder, cheaper classes automatically. A lifecycle policy can transition objects from Standard to Infrequent Access, then to Glacier and Deep Archive on an age based schedule, with no application change. The discipline is matching the class to the access pattern: data read daily stays in Standard, data read monthly belongs in Infrequent Access, and compliance archives belong in Glacier or Deep Archive. Watch retrieval and request costs, which catch teams out when cold data turns out to be read more than expected. The full decision tree lives in S3 storage classes and lifecycle policies.
A scaling fintech ran no storage review and assumed storage was a rounding error. The CUR said otherwise: roughly a fifth of EBS spend sat on unattached volumes and old snapshots, the production fleet was entirely gp2, and a large analytics bucket kept years of cold data in Standard. Deleting orphaned volumes and snapshots, migrating to gp3, and adding S3 lifecycle rules removed a meaningful slice of the storage bill with zero performance impact. Figures are verified against billing data and anonymised.
How do you keep it from reverting?
A one time cleanup leaks back within two quarters. Automate the recurring parts: make lifecycle policies the default for new buckets, set snapshot retention rules so old snapshots expire on their own, and put an idle and unattached volume report into the monthly cost review so new waste gets an owner the month it appears. Run the full playbook quarterly. This is the same review rhythm that keeps the 31 percent median reduction we see in the first 90 days from eroding, and it pairs naturally with a wider commitment and rightsizing pass.
Frequently asked questions
Run the storage review with us
We run the AWS storage review for you, find the waste in the CUR, and automate the lifecycle and retention rules that keep it gone, without touching production performance. Our guarantee: we reduce your cloud spend or we reimburse our service fee.
Put a defensible number on your cloud spend.
No provider in the room, no published price list. Tell us your footprint and we will scope the savings against your billing data — we reduce your cloud spend or we reimburse our service fee.
The Cloud Spend Navigator: what changed in cloud pricing, commitments, and FinOps — no vendor spin.