S3 and Data Transfer Cost Optimisation
Apply S3 Intelligent-Tiering, lifecycle rules, S3 Select, and CloudFront to reduce storage and data-transfer costs significantly.
S3 Storage Cost Fundamentals
Amazon S3 storage costs vary significantly by storage class and access pattern. S3 Standard charges approximately $0.023 per GB per month — at petabyte scale, this becomes significant. The good news is that S3 offers seven storage classes optimised for different access frequencies, with prices ranging from $0.023/GB (Standard) to $0.00099/GB (Glacier Deep Archive). The key to S3 cost optimisation is matching your data to the right storage class and automating transitions with lifecycle policies.
# S3 storage class costs (us-east-1 approximate):
# S3 Standard: $0.023/GB/month
# S3 Intelligent-Tiering: $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA: $0.0125/GB/month + retrieval fee
# S3 One Zone-IA: $0.01/GB/month (single AZ)
# S3 Glacier Instant: $0.004/GB/month + retrieval fee
# S3 Glacier Flexible: $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive: $0.00099/GB/month + retrieval timeS3 Intelligent-Tiering
S3 Intelligent-Tiering automatically moves objects between access tiers based on actual access patterns — no retrieval fees, no minimum duration for the frequent tier. It monitors object access at the object level: objects not accessed for 30 days move to the infrequent tier (40% cheaper), and after 90 days to the archive instant tier (68% cheaper). There is a small monthly monitoring fee ($0.0025 per 1,000 objects). Use Intelligent-Tiering when you cannot predict access patterns or when you have mixed hot and cold data in the same bucket.
# Enable Intelligent-Tiering on objects
aws s3api put-object \
--bucket my-bucket \
--key data/report.parquet \
--body report.parquet \
--storage-class INTELLIGENT_TIERING
# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
--bucket my-bucket \
--id whole-bucket-tiering \
--intelligent-tiering-configuration '{
"Id": "whole-bucket-tiering",
"Status": "Enabled",
"Tierings": [
{"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
{"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
]
}'All lessons in this course
- Right-Sizing and Compute Optimizer
- Reserved Instances, Savings Plans, and Spot
- Cost Explorer, Budgets, and Cost Allocation Tags
- S3 and Data Transfer Cost Optimisation