Amazon Simple Storage Service
开发人员指南 (API Version 2006-03-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

跨区域复制

跨区域复制是一项存储桶级别功能,该功能支持跨不同 AWS 区域中的存储桶自动、异步地复制对象。要激活此功能,请向源存储桶添加 replication 配置。在该配置中,您需提供诸如要将对象复制到的目标存储桶等信息。您可以请求 Amazon S3 复制所有对象或具有特定键名称前缀的对象子集。例如,您可以将跨区域复制配置为仅复制具有键名称前缀 Tax/ 的对象。这会使 Amazon S3 复制具有 Tax/doc1Tax/doc2 等键的对象,但不复制具有 Legal/doc3 键的对象。

目标存储桶中的对象副本是源存储桶中对象的精确副本。它们具有相同键名称和相同元数据 - 例如,创建时间、拥有者、用户定义的元数据、版本 ID、ACL 和存储类别 (假设您未在复制配置中为对象副本明确指定不同的存储类别)。Amazon S3 使用 SSL 加密跨 AWS 区域传输中的所有数据。您也可以选择性地指定 Amazon S3 创建对象副本时要使用的存储类别 (如果您不指定此存储类别,Amazon S3 将采用源对象的存储类别)。

使用案例方案

您可能基于各种原因对存储桶配置跨区域复制,这些原因包括:

  • 合规性要求 – 虽然 Amazon S3 默认跨多个地理位置较远的可用区存储数据,但是合规性要求所规定的数据存储距离可能更远。通过跨区域复制,可以在远距离 AWS 区域之间复制数据以满足这些合规性要求。

  • 最大限度减少延迟 – 客户处于两个地理位置。为了最大限度缩短访问对象时的延迟,可以在地理位置与用户较近的 AWS 区域中维护对象副本。

  • 操作原因 – 您在两个不同区域中具有分析同一组对象的计算集群。您可能选择在这些区域中维护对象副本。

或者,如果有成本考虑,您也可以引导 Amazon S3 对对象副本使用 STANDARD_IA 存储类别。有关成本考虑的更多信息,请参阅 Amazon S3 定价

要求

跨区域复制的要求:

  • 源存储桶和目标存储桶必须启用版本控制。有关版本控制的更多信息,请参阅使用版本控制

  • 源存储桶和目标存储桶必须处于不同的 AWS 区域。有关可以在其中创建存储桶的 AWS 区域的列表,请参阅 AWS General Reference 中的区域和终端节点

  • 源存储桶中的对象只能复制到一个目标存储桶。

  • Amazon S3 必须有权代表您将对象从源存储桶复制到目标存储桶。

    您可以通过创建 Amazon S3 可以代入的 IAM 角色来授予这些权限。必须向此角色授予执行 Amazon S3 操作的权限,以便 Amazon S3 在代入此角色时可以执行复制任务。有关 IAM 角色的更多信息,请参阅创建 IAM 角色

  • 如果源存储桶拥有者也是对象的拥有者,则其拥有复制对象的完全权限。否则,源存储桶拥有者必须具有执行 Amazon S3 操作 s3:GetObjectVersions3:GetObjectVersionACL 的权限才能读取对象和对象 ACL。有关 Amazon S3 操作的更多信息,请参阅在策略中指定权限。有关资源和所有权的更多信息,请参阅 Amazon S3 资源

  • 如果在跨账户方案 (其中的源存储桶和目标存储桶由不同的 AWS 账户拥有) 中设置跨区域复制,则源存储桶拥有者必须有权在目标存储桶中复制对象。

    目标存储桶拥有者需要通过存储桶策略授予这些权限。有关示例,请参阅演练 2:配置跨区域复制 (其中源存储桶和目标存储桶由不同 AWS 账户拥有)

复制和不复制的内容

如何设置跨区域复制

如何查找对象的复制状态

跨区域复制和其他存储桶配置

演练 1:配置跨区域复制 (其中源存储桶和目标存储桶由同一 AWS 账户拥有)

演练 2:配置跨区域复制 (其中源存储桶和目标存储桶由不同 AWS 账户拥有)