AWS S3 Storage Classes: Choosing the Right Tier
Map S3 classes to real use cases with lifecycle policies.
S3 Storage Classes Overview
Amazon S3 offers seven storage classes, each optimized for different access patterns and cost profiles. Choosing the right class — and automating transitions — can cut storage costs by 50-80% without any application changes.
Storage Class Comparison
| Class | Cost/GB/mo | Retrieval | Best For |
|---|---|---|---|
| S3 Standard | $0.023 | None | Frequently accessed data |
| S3 Intelligent-Tiering | $0.023 → auto | None | Unknown access patterns |
| S3 Standard-IA | $0.0125 | $0.01/GB | Infrequent but fast access needed |
| S3 One Zone-IA | $0.01 | $0.01/GB | Reproducible infrequent data |
| S3 Glacier Instant | $0.004 | $0.03/GB | Archive with instant access |
| S3 Glacier Flexible | $0.0036 | Minutes–hours | Archive, occasional retrieval |
| S3 Glacier Deep Archive | $0.00099 | 12–48 hours | Long-term compliance archive |
Lifecycle Policy Example
The most effective cost strategy is automating transitions with lifecycle rules:
{
"Rules": [{
"ID": "optimize-storage-costs",
"Status": "Enabled",
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 90, "StorageClass": "GLACIER_IR" },
{ "Days": 365, "StorageClass": "DEEP_ARCHIVE" }
],
"Expiration": { "Days": 2555 },
"NoncurrentVersionExpiration": { "NoncurrentDays": 30 }
}]
}
When to Use Intelligent-Tiering
S3 Intelligent-Tiering is the "set it and forget it" option. It automatically moves objects between frequent and infrequent access tiers based on usage patterns — with no retrieval fees. The trade-off is a small monitoring fee of $0.0025 per 1,000 objects/month.
Use it when: You have unpredictable access patterns, large datasets with mixed usage, or when you don't want to manage lifecycle rules manually.
Cost Optimization Tips
- Enable Intelligent-Tiering as the default for new buckets
- Add lifecycle rules to transition logs and backups to Glacier after 90 days
- Delete incomplete multipart uploads (they consume storage invisibly)
- Enable versioning only where needed, and expire old versions aggressively
- Use S3 Storage Lens to visualize storage distribution across classes
Eazy SaaS Tip: Run
aws s3api list-bucketsand audit each bucket's storage class distribution using S3 Storage Lens. We typically find 30-50% of data sitting in S3 Standard that should be in IA or Glacier.