0Pricing
AWS Solutions Architect · Lesson

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 time

S3 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

  1. Right-Sizing and Compute Optimizer
  2. Reserved Instances, Savings Plans, and Spot
  3. Cost Explorer, Budgets, and Cost Allocation Tags
  4. S3 and Data Transfer Cost Optimisation
← Back to AWS Solutions Architect