EBS snapshots past their retention window

A snapshot bills for its size for as long as it exists. With no expiry rule, every nightly backup becomes a permanent line on the invoice.

What this problem is

An EBS snapshot is an incremental backup stored in S3, billed per gigabyte held. The word incremental misleads people: only blocks changed since the previous snapshot occupy new space, but the whole chain keeps billing, and deleting one snapshot from the middle does not necessarily free what it appeared to occupy.

They pile up because taking one is easy and deleting one requires a decision. A nightly backup script that has run for two years left seven hundred snapshots behind; the pre-migration one was kept "just in case"; nobody had the nerve to remove the one from the database that was decommissioned. None of them has a declared owner, and the EBS bill grows on a line nobody associates with backups.

The retention window is the question that settles it: how long is this backup actually useful? Past that point a snapshot is not insurance, it is storage. AWS Backup and Data Lifecycle Manager apply retention automatically — what survives is precisely the snapshots created outside them, by hand or by an old script.

How we detect it

We list the snapshots the account owns across every enabled region with DescribeSnapshots, which reports each one's creation date, source volume and size. The comparison is between a snapshot's age and the retention window that makes sense for you.

  • Old EBS snapshots past retention

What it costs

EBS snapshot storage runs about $0.05 per GB-month (us-east-1) — half the price of a gp2 volume of the same size. Two hundred 8 GB snapshots come to roughly $80 a month.

Public AWS list prices, us-east-1, subject to change. The figure in your report is computed against your resources in your regions.

How it appears in the report

220 snapshots past retention snap-… ×220 · 3 regions $300.00/mo

An illustrative example, with invented resources and figures. In the report each finding carries the real resource, its region, and the fix command where a safe one exists.

Does your account have this?

The scan is read-only and shows you what it found before you pay for anything.

Run a free scan