S3 Intelligent-Tiering is a new Amazon S3 storage class designed for customers who want to optimize storage costs automatically when data access patterns change, without performance impact or operational overhead. S3 Intelligent-Tiering stores objects in two access tiers: one tier that is optimized for frequent access and another lower-cost tier that is optimized for infrequent access. S3 Intelligent-Tiering monitors access patterns and moves objects that have not been accessed for 30 consecutive days to the infrequent access tier.
Cost-Benefit of Intelligent Tiering
In a normal situation, S3 will charge $0.023 for storage cost. But with the intelligent tiering, S3 will charge $0.023 for frequently accessed data and $0.0125 for infrequently accessed data.
Intelligent Tiering for existing objects in S3
- Go to your desired bucket and click on the “Management” tab.
- Under Lifecycle, Click on ‘Add lifecycle rule” tab.
- Give the name of the rule.
- If you want the whole objects to transition to Intelligent tiering, then leave blank in “prefix/tag filter” field. Otherwise, you can filter by the prefix for specific objects. Click Next
- On Storage class transition, If versioning is enabled, then you have add transition to both versions. If versioning is not enabled, then tick only on “Current Version” tab.
- Then, Click on Add transition.
- Select a transition and choose “Transition to Intelligent-Tiering after”, set 0 in days. Click Next for two more times and Save it.
(It might take up to 24 hours to see the changes made by Lifecycle policy)
Intelligent Tiering for new objects with S3 Console
- Go to your desired bucket and click on “Upload”. Click “Add files” and choose some files.
- Click Next for two more times, Select “Intelligent-Tiering” in Storage Class.
- Click Next and Click Upload.
Intelligent Tiering for new objects with CLI
With AWS CLI, we need to add an extra argument in the CLI command. Here are some examples:
aws s3 cp test.txt s3://mybucket/test2.txt –storage-class INTELLIGENT_TIERING
aws s3 mv test.txt s3://mybucket/test2.txt –storage-class INTELLIGENT_TIERING
aws s3 sync test.txt s3://mybucket/test2.txt –storage-class INTELLIGENT_TIERING