All cheat sheets
Storagecheat sheet

EBS Snapshot Archive

Move compliance backups and 'just in case' EBS snapshots from Standard to the Archive tier for 75% lower storage cost — the trade is a 24–72 hour restore window that cold snapshots never actually need.

Last reviewed: July 11, 2026

TL;DR: Every account hoards snapshots — pre-migration backups, final snapshots of decommissioned systems, seven-year compliance retention. Snapshot Archive stores them at $0.0125/GB-month instead of $0.05 (75% off) in exchange for a 24–72 hour restore wait. For snapshots you keep for auditors rather than for restores, that wait is irrelevant — and the savings compound for years.

The numbers

Tier Storage Restore
Standard $0.05/GB-month seconds–minutes
Archive $0.0125/GB-month 24–72 hours

One-time retrieval fee: $0.03/GB — about one month of Standard-tier storage, so even a snapshot you restore once still comes out far ahead.

Worked examples:

  • 10 TB of "just in case" snapshots kept 7 years: $43,008 on Standard vs $10,752 archived — $32,256 saved for a few API calls.
  • Monthly compliance snapshots (500 GB × 12/year × 7 years = 42 TB): $2,100/month → $525/month. ~$19,000/year.

Do this

  1. List everything older than 90 days (the minimum age to archive):

    aws ec2 describe-snapshots --owner-ids self \
      --query 'Snapshots[?StartTime<=`2026-04-12`].{id:SnapshotId,size:VolumeSize,start:StartTime}'
    
  2. Archive the cold ones:

    aws ec2 modify-snapshot-tier --snapshot-id snap-0abc123 --storage-tier archive
    
  3. Sweep orphaned AMI snapshots while you're here. Deregistering an AMI does not delete its snapshots — they bill forever with nothing pointing at them. Cross-reference describe-images against describe-snapshots; unreferenced ones are candidates to archive or delete outright.

  4. Automate the transition so this isn't a one-time cleanup: AWS Data Lifecycle Manager policies can auto-archive snapshots at a configured age. Most DLM policies written before Archive existed (Nov 2021) only create and delete — add the archive step.

  5. Fix the retention policy itself where compliance drove hoarding: "keep end-of-quarter and end-of-year forever, expire the dailies after 90 days" beats "keep 2,555 daily snapshots," and Archive makes the keepers cheap.

Gotchas

  • Archived snapshots are stored as full copies, not incrementals. A 500 GB volume's incremental snapshot that only holds 20 GB of changed blocks becomes a full 500 GB archive — occasionally that makes archiving a worse deal. Big, standalone, old snapshots are the safe wins.
  • 90-day minimum age, and AWS blocks archiving anything referenced by an AMI or an active AWS Backup plan.
  • Minimum 90-day archive duration — pulling something back out after a week still bills 90 days of archive storage plus the retrieval fee.
  • Restore is a two-step wait: request the un-archive (24–72 h), then use the snapshot normally.

Skip this if

  • The snapshot is part of an active disaster-recovery plan — DR restores can't wait three days.
  • You restore it even occasionally (monthly dev refreshes) — retrieval fees plus the wait make Archive worse than Standard.
  • The honest answer to "could I wait 72 hours for this in an emergency?" is no.

The cheapest snapshot is the one you delete; the second-cheapest is the one in Archive.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are auditing an AWS account for EBS Snapshot Archive savings.
Use the AWS CLI with READ-ONLY credentials. Do not create, modify, or
delete anything — report findings and recommended (unapplied) fixes only.

1. Enumerate owned snapshots (per region in use):
   aws ec2 describe-snapshots --owner-ids self --query 'Snapshots[].
   {id:SnapshotId,vol:VolumeId,size:VolumeSize,start:StartTime,
   tier:StorageTier,desc:Description,tags:Tags}'
2. Bucket them:
   - Already archived (StorageTier == archive) — no action.
   - Older than 90 days, Standard tier — Archive candidates.
   - Referenced by an AMI (aws ec2 describe-images --owners self,
     check BlockDeviceMappings snapshot ids) — not archivable while
     referenced; flag orphaned AMI snapshots separately.
   - Managed by AWS Backup or a DLM policy (check tags like
     aws:backup / dlm) — recommend policy-level changes, not one-offs.
3. Cost math: Standard $0.05/GB-mo vs Archive $0.0125/GB-mo (75% less);
   one-time restore fee $0.03/GB; restore takes 24–72h. Note that
   archived snapshots are stored as FULL copies (not incremental), so
   small snapshots in long incremental chains may not save — flag any
   snapshot whose volume size is large but likely-changed data is small.

Report: table of candidates (snapshot | age | size | est. Standard $/mo |
est. Archive $/mo | referenced-by), total potential savings, a list of
orphaned AMI-less snapshots that could be deleted outright, and the
archive commands (aws ec2 modify-snapshot-tier --storage-tier archive)
for review — but do NOT execute them.
Works with any assistant that can run shell commands.

Want the guided version?

The EBS Snapshot Archive walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough