Why This Matters
EBS snapshots use incremental storage but costs accumulate over time, especially with automated backup systems creating daily snapshots. Many organizations lack proper lifecycle management, leading to years of unnecessary snapshot storage charges.
Common causes:
- Automated backup systems creating daily snapshots without cleanup
- Manual snapshots created for migrations that weren't deleted
- Development and testing snapshots forgotten over time
- Legacy backup policies without proper retention limits
How to Identify Old Snapshots
AWS Saver flags EBS snapshots for review when they meet these criteria:
- Aged over 6 months from creation date
- Owned by your account (not shared snapshots)
- Incremental storage costs accumulating monthly
- No recent access or AMI dependencies (truly orphaned)
How to Fix Old Snapshot Accumulation
Step 1: Find snapshots aged over 6 months
aws ec2 describe-snapshots \
--owner-ids self \
--query 'Snapshots[?StartTime<=`$(date -u -d "6 months ago" +%Y-%m-%d)`].[SnapshotId,VolumeSize,StartTime,Description]'
Step 2: Check for AMI dependencies
aws ec2 describe-images \
--owners self \
--query 'Images[?BlockDeviceMappings[?Ebs.SnapshotId==`snap-1234567890abcdef0`]].[ImageId,Name]'
Step 3: Verify compliance and retention requirements
# Review backup policies and compliance requirements
# Check if snapshot is required for disaster recovery
Step 4: Delete old snapshot (after verification)
aws ec2 delete-snapshot --snapshot-id snap-1234567890abcdef0
Prevention Tips
Implement lifecycle policies: Set up automated snapshot deletion using AWS Backup or Lambda functions.
Define retention schedules: Establish clear backup retention policies (daily for 7 days, weekly for 4 weeks, monthly for 12 months).
Tag snapshots: Use consistent tagging to track snapshot purpose and lifecycle requirements.
Regular audits: Schedule monthly reviews of snapshot age and storage costs as part of cost optimization.
Automation Available
Skip the manual work. AWS Saver automatically identifies old snapshots using the same 6-month age threshold.
✅ Age-based detection - Flags snapshots aged over 6 months for review
✅ AMI dependency checking - Identifies snapshots still used by active AMIs
✅ Cost impact analysis - Shows monthly storage costs per snapshot
✅ Account-wide scanning - Reviews all owned snapshots across regions