CostLensS3 Intelligent-Tiering

S3 Intelligent-Tiering

CostLens detects large S3 buckets without Intelligent-Tiering and adds a lifecycle rule to automatically move objects to cheaper storage classes.

Updated May 20252 min read

S3 Intelligent-Tiering automatically moves objects between storage tiers based on access patterns — with no performance impact and no retrieval fees. Objects that aren't accessed for 30 days move to a cheaper tier; those accessed again move back immediately. For buckets with unpredictable access patterns, this can reduce storage costs by up to 30% with zero operational overhead.

CostLens detects S3 buckets larger than 10 GB without an Intelligent-Tiering lifecycle policy and adds one automatically when you apply the fix.

How it works

CostLens lists all S3 buckets

Calls s3:ListAllMyBuckets and checks each bucket's region to avoid cross-region duplication.

Measures bucket size

Queries CloudWatch BucketSizeBytes (StandardStorage) to identify buckets larger than 10 GB.

Checks for existing lifecycle rules

Reads existing lifecycle configuration. Buckets that already have an Intelligent-Tiering transition rule are skipped.

Estimates savings

Calculates potential savings as approximately 30% of the current monthly Standard storage cost (bucket_size_gb × $0.023/GB × 0.30).

Adds a lifecycle rule on fix

Calls s3:PutLifecycleConfiguration to add an Intelligent-Tiering transition rule that applies to all objects in the bucket.

How Intelligent-Tiering works

Objects in an Intelligent-Tiering bucket are automatically moved based on access:

TierAccess patternStorage cost
Frequent AccessAccessed recentlySame as S3 Standard
Infrequent AccessNot accessed for 30 days40% cheaper than Standard
Archive Instant AccessNot accessed for 90 days68% cheaper than Standard

There are no retrieval fees when objects move back to Frequent Access. The only overhead is a small per-object monitoring charge ($0.0025 per 1,000 objects/month) for objects larger than 128 KB.

What to do

Apply the fix — CostLens adds an S3 lifecycle rule to enable Intelligent-Tiering for all objects in the bucket. Objects begin moving to cheaper tiers within 30 days of the rule being applied.

Or dismiss if you know the bucket contains objects that are accessed frequently and uniformly — Intelligent-Tiering adds a small per-object monitoring fee that may not be worthwhile for very frequently accessed buckets.

Objects smaller than 128 KB are not tiered

Intelligent-Tiering only applies to objects 128 KB or larger. Smaller objects remain billed at Standard rates. If your bucket consists primarily of very small objects, savings will be lower than the estimate.

Severity levels

SeverityEstimated monthly savings
critical>$500
high$100–$500
medium$20–$100
low<$20

Required IAM permissions

Included in the CostLens IAM policies from AWS Accounts:

s3:ListAllMyBuckets
s3:GetBucketLocation
s3:GetBucketLifecycleConfiguration
cloudwatch:GetMetricStatistics
s3:PutLifecycleConfiguration
CostLens
Previous
Reserved Instance Coverage
CostLens
Next
Savings Plan Coverage