Difficulty: Medium
We identified several S3 buckets in your account not using the S3 Intelligent-Tiering option, which reduces costs by automatically moving data between storage classes based on access. Objects in the Standard Storage class which have not been accessed in 30 days are transitioned to the Infrequent Access class. If it still has not been accessed after 90 days, the object is transitioned to the Archive Instant Access class.
Selection Criteria
Bucket has object in one or more of those storage class: Standard, Standard Infrequent Access (SIA) or One-Zone Infrequent Access (ZIA)
Bucket has no objects in Express One Zone storage class
Bucket does not have transitions to archive storage classes (Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive)
Bucket does not already have transitions to Intelligent Tiering
Bucket does not have a global deletion policy removing objects within 30 days
Bucket does not have a global policy archiving objects within 30 days
Bucket does not have very short-lived objects that won't benefit from IT monitoring
Using S3 Intelligent-Tiering can be beneficial depending on your object access patterns. It automatically adjusts the storage class based on access frequency, helping reduce costs without compromising data accessibility. Monitoring costs are $0.0025/month per 1,000 objects.
Over time, we’ve observed that a typical object distribution tends to follow a 10% / 20% / 70% split per tier.
How to fix
Add a S3 Lifecycle rule of bucket to transition all of the objects in the S3 bucket to S3 Intelligent Tiering. Objects with a size less than 128k are ignored.
lifecycle.json:
{
"Rules": [
{
"ID": "MoveToIntelligentTiering",
"Status": "Enabled",
"Filter": {
"Prefix": ""
},
"Transitions": [
{
"Days": 0,
"StorageClass": "INTELLIGENT_TIERING"
}
],
"NoncurrentVersionTransitions": [
{
"NoncurrentDays": 0,
"StorageClass": "INTELLIGENT_TIERING"
}
]
}
]
}
aws s3api put-bucket-lifecycle-configuration \
--bucket your-bucket-name \
--lifecycle-configuration file://lifecycle.json



