A backup bucket was consuming 44% of monthly AWS costs despite being accessed less than once per year. All 630+ GB sat in S3 Standard storage with no lifecycle policies configured.

The solution: implement a 30-day lifecycle policy to transition objects to S3 Glacier Deep Archive, reducing storage costs by 96% while maintaining data durability and availability.

The Policy

{
  "Rules": [
    {
      "ID": "TransitionToDeepArchive",
      "Status": "Enabled",
      "Filter": {},
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "DEEP_ARCHIVE"
        }
      ]
    }
  ]
}

This policy automatically transitions objects older than 30 days to Deep Archive. Existing objects transition within 24-48 hours. New uploads stay in Standard for 30 days before archiving.

Storage Class Decision

Deep Archive was chosen over Glacier Flexible Retrieval for maximum savings:

  • S3 Standard: $0.023/GB/month, instant retrieval
  • Glacier Flexible: $0.0036/GB/month, 3-5 hour retrieval
  • Deep Archive: $0.00099/GB/month, 12-48 hour retrieval

For rarely-accessed backups, the 12-48 hour retrieval time was acceptable. Retrieval costs ~$0.02/GB when needed.

Cost Impact

The transition reduced monthly storage costs by 96%, with break-even achieved in under two weeks after the one-time transition fee. The policy applies automatically to new uploads, maintaining savings without manual intervention.

Key Considerations

Minimum storage duration: Deep Archive requires 180-day minimum storage. Early deletion incurs prorated charges for the remaining days.

Transition costs: Charged per 1,000 objects transitioned. For large object counts, this can be significant but typically breaks even within days.

Retrieval planning: 12-48 hour retrieval time means Deep Archive isn't suitable for frequently accessed data or time-sensitive restores.

The combination of lifecycle policy automation and appropriate storage class selection turned the largest cost center into one of the smallest, with no operational overhead.