使用 S3 Intelligent-Tiering - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 S3 Intelligent-Tiering

您可以使用 S3 Intelligent-Tiering 存储类来自动优化存储成本。S3 Intelligent-Tiering 通过在访问模式更改时在访问层之间的细粒度对象级别上移动数据,实现自动成本节约。对于可以异步访问的数据,您可以使用Amazon Web Services Management Console、Amazon CLI 或 Amazon S3 API 选择在 S3 Intelligent-Tiering 存储类中启用自动归档。

将数据移动到 S3 Intelligent-Tiering

有两种方法可以将数据移动到 S3 Intelligent-Tiering 中。您可以直接 PUT 数据转换到 S3 Intelligent-Tiering INTELLIGENT_TIERING 中的 x-amz-storage-class 标头或配置 S3 生命周期策略,将对象从 S3 Standard 或 S3 Standard-Infrequent Access 转换为 S3 Intelligent-Tiering。

使用 Direct PUT 将数据上载到 S3 Intelligent-Tiering

使用 PUT API 操作将对象上传到 S3 Intelligent-Tiering 存储类时,您可以在 x-amz-storage-class 请求标头中指定 S3 Intelligent-Tiering。

以下请求在 myBucket 存储桶中存储镜像 my-image.jpg。请求使用 x-amz-storage-class 标头来请求使用 S3 Intelligent-Tiering 存储类来存储对象。

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

使用 S3 生命周期将数据从 S3 Standard 或 S3 Standard-Infrequent Access 转换到 S3 Intelligent-Tiering

您可以在 S3 生命周期配置中添加规则以指示 Amazon S3 将对象转换为一个存储类。有关支持的转换和相关约束的信息,请参阅使用 S3 生命周期转换对象

您可以在存储桶或前缀级别指定 S3 生命周期策略。在此 S3 生命周期配置规则中,筛选条件指定了一个键前缀 (documents/)。因此,此规则应用于带键名前缀 documents/ 的对象,例如 documents/doc1.txtdocuments/doc2.txt。该规则指定了 Transition 指示 Amazon S3 在对象创建 0 天后将其转换到 S3 Intelligent-Tiering 存储类的操作。在这种情况下,对象有资格在创建后的午夜 UTC 转换到 S3 Intelligent-Tiering。

<LifecycleConfiguration> <Rule> <ID>ExampleRule</ID> <Filter> <Prefix>documents/</Prefix> </Filter> <Status>Enabled</Status> <Transition> <Days>0</Days> <StorageClass>INTELLIGENT_TIERING</StorageClass> </Transition> </Rule> </LifecycleConfiguration>

启用 S3 Intelligent-Tiering 归档访问和深度归档访问带

为了在几分钟到几小时内就可以访问的数据上获得最低的存储开销,可以通过使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon S3 API 创建一个存储桶、前缀或对象标签级配置性能来激活一个或两个归档访问层。

要启用 S3 Intelligent-Tiering 自动归档

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/

  2. Buckets(存储桶)列表中,请选择您想要的存储桶的名称。

  3. 选择属性

  4. 导航到 S3 Intelligent-Tiering 归档配置部分并选择创建配置

  5. 归档配置设置部分中,为 S3 Intelligent-Tiering 归档配置指定描述性配置名称。

  6. 选择配置范围下,选择要使用的配置范围。您也可以使用共享前缀、对象标签或两者结合,将配置范围限制为存储桶内的指定对象。

    1. 要限制配置的范围,请选择使用一个或多个筛选条件限制此配置的范围

    2. 要使用单个前缀限制配置的范围,请在前缀下输入前缀。

    3. 要使用对象标签限制配置的范围,请选择添加标签,然后为密钥输入一个值。

  7. 状态下,选择启用

  8. 归档设置部分中,选择一个或两个要启用的归档访问层。

  9. 选择 Create (创建)

您可以使用以下 Amazon CLI 命令管理 S3 Intelligent-Tiering 生命周期配置:

有关设置 Amazon CLI 的说明,请参阅 使用 Amazon CLI 进行 Amazon S3 开发

使用 Amazon CLI,您不能将配置指定为 XML 文件。您必须改为指定 JSON。以下是您可在 Amazon CLI 命令中指定的示例 XML S3 Intelligent-Tiering 生命周期配置和等效 JSON。

以下示例将 S3 Intelligent-Tiering 配置为指定存储桶。

put-bucket-intelligent-tiering-configuration

JSON
{ "Id": "string", "Filter": { "Prefix": "string", "Tag": { "Key": "string", "Value": "string" }, "And": { "Prefix": "string", "Tags": [ { "Key": "string", "Value": "string" } ... ] } }, "Status": "Enabled"|"Disabled", "Tierings": [ { "Days": integer, "AccessTier": "ARCHIVE_ACCESS"|"DEEP_ARCHIVE_ACCESS" } ... ] }
XML
PUT /?intelligent-tiering&id=Id HTTP/1.1 Host: Bucket.s3.amazonaws.com <?xml version="1.0" encoding="UTF-8"?> <IntelligentTieringConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Id>string</Id> <Filter> <And> <Prefix>string</Prefix> <Tag> <Key>string</Key> <Value>string</Value> </Tag> ... </And> <Prefix>string</Prefix> <Tag> <Key>string</Key> <Value>string</Value> </Tag> </Filter> <Status>string</Status> <Tiering> <AccessTier>string</AccessTier> <Days>integer</Days> </Tiering> ... </IntelligentTieringConfiguration>

您可以使用 PutBucketIntelligentTieringConfiguration 操作具体存储桶,每个存储桶最多 1000 个 S3 Intelligent-Tiering 配置。您可以使用共享前缀或对象标签,定义存储段中哪些对象符合归档访问层的条件。使用共享前缀或对象标签,您可以使各个指标筛选条件满足特定业务应用程序、工作流或内部组织的需求。您还可以灵活地激活归档访问层、深层归档访问层或两者结合。