Old EBS snapshots are a common AWS storage leak. A snapshot may only cost a few
dollars per month, but stale snapshots across regions and accounts can quietly
pile up.
This guide shows how to find old snapshots safely.
Why Old Snapshots Matter
EBS snapshots are incremental, but they still store changed blocks. Keeping old
snapshots forever can create long-term storage cost, especially when snapshots
come from retired instances, old migrations, or abandoned backup jobs.
AWS CLI Command
List snapshots owned by your account:
aws ec2 describe-snapshots \
--owner-ids self \
--region us-east-1 \
--query 'Snapshots[].{SnapshotId:SnapshotId,StartTime:StartTime,VolumeSize:VolumeSize,Description:Description}' \
--output table
Find Snapshots Older Than 90 Days
You can use jq for a more precise local filter:
cutoff=$(date -u -v-90d '+%Y-%m-%dT%H:%M:%S')
aws ec2 describe-snapshots \
--owner-ids self \
--region us-east-1 \
--output json |
jq -r --arg cutoff "$cutoff" '
.Snapshots[]
| select(.StartTime < $cutoff)
| [.SnapshotId, .StartTime, .VolumeSize, .Description]
| @tsv
'
On Linux, replace the date command with:
cutoff=$(date -u -d '90 days ago' '+%Y-%m-%dT%H:%M:%S')
Check All Regions
Snapshots are regional:
for region in $(aws ec2 describe-regions --query 'Regions[].RegionName' --output text); do
echo "Region: $region"
aws ec2 describe-snapshots \
--owner-ids self \
--region "$region" \
--query 'Snapshots[].{SnapshotId:SnapshotId,StartTime:StartTime,VolumeSize:VolumeSize}' \
--output table
done
Before You Delete a Snapshot
Do not delete old snapshots blindly.
Check:
- whether the snapshot backs an AMI
- retention policies
- compliance or audit requirements
- disaster recovery plans
- whether it was created before a risky migration or upgrade
If a snapshot backs an AMI, deregistering or deleting things in the wrong order
can break restore workflows.
Easier Option
AWS Waste Finder finds owned EBS snapshots older than your configured threshold
and estimates the monthly snapshot storage cost.
Free repo:
https://github.com/byanivb/aws-waste-finder
Paid starter bundle:
https://basilian1.gumroad.com/l/aws-waste-finder
Top comments (0)