Orphaned EBS snapshots over 90 days old and 50 GB that could move to the archive tier
What does ZopNight detect here?
ZopNight flags standard-tier EBS snapshots older than 90 days and larger than 50 GB whose source volume no longer exists and that no AMI uses. The saving applies the gap between $0.05 per GB-month standard and $0.0125 archive storage to the snapshot's cost, and database or DR snapshots are skipped because restores take up to 72 hours.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-1513 |
| Category | rightsizing |
| Severity | low |
| Metric | none — pure configuration read |
| Threshold | age > 90 days, size > 50 GB, source volume deleted |
| Evaluation window | 90d |
| Source | ZopNight |
| Permissions used | ec2:DescribeSnapshots · ec2:DescribeVolumes · ec2:DescribeImages |
Where it applies
Archive storage costs a quarter of standard, with conditions
The EBS price data for US East (N. Virginia) charges $0.05 per GB-month for standard snapshot storage and $0.0125 for the archive tier. AWS pitches archive for snapshots kept 90 days or longer that are rarely needed, and it comes with three catches. Restoring costs $0.03 per GB. The minimum archive period is 90 days, and deleting or permanently restoring earlier bills the remaining days. And a restore can take up to 72 hours.
The less obvious catch is size. Standard snapshots are incremental, but an archived snapshot is always a full one. Archiving the only snapshot of a volume stores the same data at a quarter of the price. Archiving one link in a chain of incrementals can store more data than it frees.
Listing old standard-tier snapshots
aws ec2 describe-snapshots --owner-ids self --filters Name=storage-tier,Values=standard \ --query 'Snapshots[?VolumeSize > `50`].[SnapshotId,VolumeId,VolumeSize,StartTime]' \ --output table
aws ec2 describe-volumes --volume-ids vol-0123456789abcdef0
aws ec2 describe-images --owners self \ --filters Name=block-device-mapping.snapshot-id,Values=snap-0123456789abcdef0A describe-volumes error for the snapshot’s VolumeId means the source volume is gone. An empty
describe-images result means no AMI of yours uses the snapshot.
Gates checked in order
- The snapshot is in the standard tier. Archived snapshots are skipped.
- No live AMI uses it, and its source volume has been deleted.
- Nothing in its name, tags or description marks it as a database or stateful-platform backup.
- It is more than 90 days old and more than 50 GB.
- A monthly cost is known for it.
Snapshots the rule will not suggest archiving
Snapshots behind an AMI stay put; AWS only allows archiving those when every associated AMI is disabled. Snapshots whose source volume still exists are skipped, because they are usually part of an active incremental chain where archiving costs more. Database and DR snapshots are skipped because a 72-hour restore defeats their purpose. The same orphaned snapshots are also assessed by Orphaned EBS Snapshot, which asks whether they are needed at all.
Pricing the move from standard to archive
saving = snapshot monthly cost x (0.05 - 0.0125) / 0.05That is the published standard-to-archive rate gap applied to what the snapshot costs now. The $0.03 per GB restore fee is not deducted, so factor it in if you expect to restore.
Archiving a snapshot
- Confirm the data is not needed at short notice and that a 72-hour restore is acceptable.
- Archive it:
aws ec2 modify-snapshot-tier --snapshot-id snap-0123456789abcdef0 --storage-tier archive - Plan to keep it archived at least 90 days to avoid the early-deletion charge.
- When you need it, use
aws ec2 restore-snapshot-tierwith--temporary-restore-daysor--permanent-restore.