Amazon Simple Storage Service
开发人员指南 (API 版本 2006-03-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

复制

复制允许在跨 Amazon S3 存储桶自动以异步方式复制对象。为对象复制配置的存储桶可由相同 AWS 账户或不同账户拥有。您可在不同 AWS 区域或在相同区域中复制对象。

要启用对象复制,您需要使用存储桶级别的配置。向源存储桶添加复制配置。最小配置必须需要提供以下内容:

  • 您希望 Amazon S3 将对象复制到的目标存储桶。

  • 一个 AWS Identity and Access Management (IAM) 角色,Amazon S3 可以代入该角色以代表您复制对象

其他配置选项如下。有关更多信息,请参阅 其他复制配置

对象复制的类型

您可在不同 AWS 区域之间或在相同 AWS 区域中复制对象。

  • 跨区域复制 (CRR) 用于在不同 AWS 区域中跨 Amazon S3 存储桶复制对象。

  • 同区域复制 (SRR) 用于在相同 AWS 区域中跨 Amazon S3 存储桶复制对象。

何时使用复制

复制可帮助您实现以下功能:

  • 在保留元数据时复制对象 — 通过 AWS Lambda 函数进行复制会非常有用。但是,它们不会保留对象元数据,例如原始对象创建时间和版本 ID。复制提供了更简单且更为自动化的方式,在复制对象时保留此元数据。

     

  • 将对象复制到不同的存储类 — 您可以使用复制直接将对象置于存储桶中的 Glacier、DEEP ARCHIVE 或其他存储类。您还可以将数据复制到相同的存储类,或者在目标存储桶上使用生命周期策略,在对象老化时将其移动到较冷的存储类。

     

  • 在不同的所有权下维护对象副本 — 无论谁拥有源对象,您都可以指示 Amazon S3 将副本的所有权更改为拥有目标存储桶的 AWS 账户。这称作拥有者覆盖 选项。您可以使用此选项来要限制对对象副本的访问权限。

何时使用 CRR

跨区域复制可帮助您实现以下功能:

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

     

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

     

  • 提高操作效率 — 您在两个不同 AWS 区域中具有分析同一组对象的计算集群,您可能选择在这些区域中维护对象副本。

何时使用 SRR

同区域复制可帮助您实现以下功能:

  • 将日志聚合到单个存储桶 — 如果您在多个存储桶中或者跨多个账户存储日志,则可以轻松地将日志复制到区域中的单个存储桶。这实现了通过单个账户更简单地处理日志。

     

  • 在开发人员账户和测试账户之间配置实时复制 — 如果您的客户有使用相同数据的开发人员账户和测试账户,您可以通过实施 SRR 规则在多个账户之间复制对象,同时保留对象元数据。

     

  • 遵守数据主权法律 — 通常,客户需要在单独的 AWS 账户中存储数据,同时要限制数据离开特定区域。当合规性法规不允许数据离开您的国家/地区时,同区域复制可帮助您备份关键数据。

复制的要求

复制有下列要求:

  • 源存储桶拥有者必须已为其账户启用源和目标 AWS 区域。目标存储桶拥有者必须已为其账户启用目标区域。有关启用或禁用 AWS 区域的更多信息,请参阅 AWS General Reference 中的 AWS 区域和终端节点

  • 源存储桶和目标存储桶必须已启用版本控制。

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

  • 如果源存储桶的拥有者不拥有该存储桶中的对象,则对象拥有者必须使用对象访问控制列表 (ACL) 对该存储桶拥有者授予 READREAD_ACP 权限。有关更多信息,请参阅使用 ACL 管理访问

  • 如果源存储桶已启用 Amazon S3 对象锁定,目标存储桶也必须启用对象锁定。有关更多信息,请参阅使用 Amazon S3 对象锁定以锁定对象

    要在启用对象锁定的存储桶上启用复制,请联系 AWS Support

有关更多信息,请参阅 设置复制概述

如果您要在跨账户方案(其中,源存储桶和目标存储桶由不同的 AWS 账户拥有)中设置复制配置,则存在以下附加要求: