Archiving Backup Files to S3 Glacier Deep Archive: The Cheapest Long-Term Storage in AWS

Ned
Ned Cloud Engineer
· Updated · 2 min read
Archiving Backup Files to S3 Glacier Deep Archive: The Cheapest Long-Term Storage in AWS

The Problem

Your backup files are in S3 Standard. They are accessed frequently for the first month, then never touched again. Compliance requires keeping them indefinitely. You need the cheapest possible storage for data that will never be accessed after 30 days.

The Solution

Create an S3 lifecycle configuration to transition objects from S3 Standard to S3 Glacier Deep Archive after 1 month.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-backup-bucket \
  --lifecycle-configuration '{
    "Rules": [
      {
        "ID": "ArchiveBackupsAfter30Days",
        "Status": "Enabled",
        "Filter": {
          "Prefix": "backups/"
        },
        "Transitions": [
          {
            "Days": 30,
            "StorageClass": "DEEP_ARCHIVE"
          }
        ]
      }
    ]
  }'

How It Works

S3 Glacier Deep Archive is the lowest-cost storage class in all of AWS:

Storage Class Cost per GB/month Retrieval Time
S3 Standard $0.023 Milliseconds
S3 Standard-IA $0.0125 Milliseconds
S3 Glacier Flexible Retrieval $0.0036 1-5 min (expedited) to 3-5 hours
S3 Glacier Deep Archive $0.00099 12 hours (standard), 48 hours (bulk)

For data that is genuinely never accessed after the initial period, Deep Archive is the clear winner. The retrieval time (12-48 hours) is acceptable because you will rarely, if ever, need the data.

Minimum Storage Duration

Deep Archive has a 180-day minimum storage charge. If you delete or transition an object before 180 days, you still pay for the full 180 days. This is fine for indefinite retention but important to know if you might delete objects early.

Why Not the Alternatives?

S3 Intelligent-Tiering — Charges a per-object monitoring fee. When the access pattern is known (active for 30 days, then never), a lifecycle policy is cheaper and simpler.

S3 Standard-IA — At $0.0125/GB/month, it is significantly more expensive than Deep Archive ($0.00099/GB/month) for data that is never accessed. Over years of indefinite retention, this cost difference compounds massively.

S3 One Zone-IA — Cheaper than Standard-IA but stores data in a single Availability Zone. For important backup files kept indefinitely, the lack of AZ redundancy is a risk not worth taking.

Key Takeaways

  • S3 Glacier Deep Archive costs ~$0.00099/GB/month — roughly 23x cheaper than S3 Standard
  • Best for data with a known access pattern: active for X days, then never accessed
  • Retrieval takes 12 hours (standard) or 48 hours (bulk) — plan accordingly
  • 180-day minimum storage charge applies
  • When the access pattern is predictable, lifecycle policies beat Intelligent-Tiering on cost
Rating:
Share
Previous S3 Lifecycle for Versioned Buckets: How to Control Non-Current Version Retention Next S3 Glacier with Expedited Retrieval: Archive Storage with 5-Minute Access When You Need It