Using S3 Intelligent-Tiering
You can use the S3 Intelligent-Tiering storage class to automatically optimize storage costs. S3 Intelligent-Tiering delivers automatic cost savings by moving data on a granular object level between access tiers when access patterns change. For data that can be accessed asynchronously, you can choose to enable automatic archiving within the S3 Intelligent-Tiering storage class using the AWS Management Console, AWS CLI, or Amazon S3 API.
Moving data to S3 Intelligent-Tiering
There are two ways to move data into S3 Intelligent-Tiering. You can upload objects directly
into S3 Intelligent-Tiering from the console or programmatically using a PUT
operation. For more information, see Setting the storage class of an object.
You can also configure S3 Lifecycle configurations to
transition objects from S3 Standard or S3 Standard-Infrequent Access to
S3 Intelligent-Tiering.
Uploading data to S3 Intelligent-Tiering using Direct PUT
When you upload an object to the S3 Intelligent-Tiering storage class using the PUT
API operation, you specify S3 Intelligent-Tiering in the x-amz-storage-class
request header.
The following request stores the image, my-image.jpg
, in the myBucket
bucket. The request uses the x-amz-storage-class
header to request that the object
is stored using the S3 Intelligent-Tiering storage class.
PUT /my-image.jpg HTTP/1.1 Host: myBucket.s3.<Region>.amazonaws.com (http://amazonaws.com/) Date: Wed, 1 Sep 2021 17:50:00 GMT Authorization: authorization string Content-Type: image/jpeg Content-Length: 11434 Expect: 100-continue x-amz-storage-class: INTELLIGENT_TIERING
Transitioning data to S3 Intelligent-Tiering from S3 Standard or S3 Standard-Infrequent Access using S3 Lifecycle
You can add rules to an S3 Lifecycle configuration to tell Amazon S3 to transition objects from one storage class to another. For information on supported transitions and related constraints, see Transitioning objects using S3 Lifecycle.
You can specify S3 Lifecycle configurations at the bucket or prefix level. In this
S3 Lifecycle configuration rule, the filter specifies a key prefix
(documents/
). Therefore, the rule applies to objects with key
name prefix documents/
, such as documents/doc1.txt
and
documents/doc2.txt
. The rule specifies a Transition
action directing Amazon S3 to transition objects to the S3 Intelligent-Tiering
storage class 0 days after creation. In this case, objects are eligible for
transition to S3 Intelligent-Tiering at midnight UTC following creation.
<LifecycleConfiguration> <Rule> <ID>ExampleRule</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>INTELLIGENT_TIERING</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
A versioning-enabled bucket maintains one current object version, and zero or more noncurrent object versions. You can define separate Lifecycle rules for current and noncurrent object versions.
For more information, see Lifecycle configuration elements.
Enabling S3 Intelligent-Tiering Archive Access and Deep Archive Access tiers
To get the lowest storage cost on data that can be accessed in minutes to hours, you can activate one or both of the archive access tiers by creating a bucket, prefix, or object tag level configuration using the AWS Management Console, AWS CLI, or Amazon S3 API.
To enable S3 Intelligent-Tiering automatic archiving
Sign in to the AWS Management Console and open the Amazon S3 console at https://console.aws.amazon.com/s3/
. -
In the Buckets list, choose the name of the bucket that you want.
-
Choose Properties.
-
Navigate to the S3 Intelligent-Tiering Archive configurations section and choose Create configuration.
-
In the Archive configuration settings section, specify a descriptive configuration name for your S3 Intelligent-Tiering Archive configuration.
-
Under Choose a configuration scope, choose a configuration scope to use. Optionally, you can limit the configuration scope to specified objects within a bucket using a shared prefix, object tag, or combination of the two.
-
To limit the scope of the configuration, select Limit the scope of this configuration using one or more filters.
-
To limit the scope of the configuration using a single prefix, enter the prefix under Prefix.
-
To limit the scope of the configuration using object tags, select Add tag and enter a value for Key.
-
-
Under Status, select Enable.
-
In the Archive settings section, select one or both of the Archive Access tiers to enable.
-
Choose Create.
You can use the following AWS CLI commands to manage S3 Intelligent-Tiering configurations:
For instructions on setting up the AWS CLI, see Developing with Amazon S3 using the AWS CLI in the Amazon S3 API Reference.
When using the AWS CLI, you cannot specify the configuration as an XML file. You must specify the JSON instead. The following is an example XML S3 Intelligent-Tiering configuration and equivalent JSON that you can specify in an AWS CLI command.
The following example puts an S3 Intelligent-Tiering configuration to the specified bucket.
You can use the PutBucketIntelligentTieringConfiguration
operation for
a specified bucket and up to 1,000 S3 Intelligent-Tiering configurations per
bucket. You can define which objects within a bucket are eligible for the
archive access tiers using a shared prefix or object tag. Using a shared prefix
or object tag allows you to align to specific business applications, workflows,
or internal organizations. You also have the flexibility to activate the
Archive Access tier, the Deep Archive Access tier, or both.
Getting started with S3 Intelligent-Tiering
To learn more about how to use S3 Intelligent-Tiering, see Tutorial: Getting started using S3 Intelligent-Tiering