复制的要求和注意事项
Amazon S3 复制具有以下要求:
-
源存储桶拥有者必须已为其账户启用源和目标 Amazon Web Services 区域。目标存储桶拥有者必须已为其账户启用目标区域。
有关启用和禁用 Amazon Web Services 区域的更多信息,请参阅《Amazon 账户管理 参考指南》中的 Specify which Amazon Web Services 区域 your account can use。
-
源存储桶和目标存储桶必须均已启用版本控制。有关版本控制的更多信息,请参阅 使用 S3 版本控制保留对象的多个版本。
-
Amazon S3 必须有权代表您将对象从源存储桶复制到目标存储桶。有关这些权限的更多信息,请参阅 为实时复制设置权限。
-
如果源存储桶的拥有者不拥有该存储桶中的对象,则对象拥有者必须使用对象访问控制列表(ACL)对该存储桶拥有者授予
READ
和READ_ACP
权限。有关更多信息,请参阅 访问控制列表 (ACL) 概述。 -
如果源存储桶已启用 S3 对象锁定,目标存储桶也必须启用 S3 对象锁定。
要在启用了对象锁定的存储桶上启用复制,您必须使用 Amazon Command Line Interface、REST API 或 Amazon SDK。有关更多一般信息,请参阅 使用对象锁定以锁定对象。
注意
您必须在用于设置复制的 Amazon Identity and Access Management (IAM) 角色中授予对源 S3 存储桶的两项新权限。这两项新权限是
s3:GetObjectRetention
和s3:GetObjectLegalHold
。如果这个角色有s3:Get*
权限,则它已经满足要求了。有关更多信息,请参阅 为实时复制设置权限。
有关更多信息,请参阅 设置实时复制概述。
如果您要在跨账户方案(其中,源存储桶和目标存储桶由不同的 Amazon Web Services 账户拥有)中设置复制配置,则需要满足以下附加要求:
-
目标存储桶的拥有者必须使用存储桶策略向源存储桶的拥有者授予复制对象的权限。有关更多信息,请参阅 在源存储桶和目标存储桶由不同的 Amazon Web Services 账户 拥有时授予权限。
-
目标存储桶不能配置为申请方付款存储桶。有关更多信息,请参阅 使用申请方付款通用存储桶进行存储传输和使用。
复制的注意事项
在创建复制配置之前,请注意以下注意事项。
主题
生命周期配置和对象副本
Amazon S3 复制对象所需的时间取决于对象大小。对于大型对象,可能需要几个小时。虽然可能需要一段时间之后副本才能出现在目标存储桶中,但创建副本所需的时间与创建源存储桶中的对应对象所需的时间相同。如果您对目标存储桶启用了生命周期配置,生命周期规则遵循对象的原始创建时间,而不是副本在目标存储桶中可用的时间。
复制配置需要启用版本控制的存储桶。在存储桶上启用版本控制时,请注意以下几点:
-
如果您具有对象过期生命周期配置,在启用版本控制后,请添加
NonCurrentVersionExpiration
策略以保持与启用版本控制之前相同的永久删除行为。 -
如果具有转换生命周期配置,则在启用版本控制后,考虑添加
NonCurrentVersionTransition
策略。
版本控制配置和复制配置
对存储桶配置复制时,源存储桶和目标存储桶都必须启用版本控制。对源存储桶和目标存储桶启用版本控制并对源存储桶配置复制后,您会遇到以下问题:
-
如果您尝试对源存储桶禁用版本控制,则 Amazon S3 会返回错误。您必须先删除复制配置,然后才能对源存储桶禁用版本控制。
-
如果您对目标存储桶禁用版本控制,则复制会失败。源对象的复制状态为
FAILED
。
将 S3 复制与 S3 Intelligent-Tiering 结合使用
S3 Intelligent-Tiering 是一种存储类,旨在通过自动将数据移动到最具成本效益的访问层来优化存储成本。每月只需支付少量的对象监控和自动化费用,S3 Intelligent-Tiering 即可监控访问模式并将未访问的对象移动到成本较低的访问层。
使用 S3 批量复制来复制存储在 S3 Intelligent-Tiering 中的对象或调用 CopyObject 或 UploadPartCopy 将构成访问。在这些情况下,复制操作的源对象是分层的。
有关 S3 Intelligent-Tiering 的更多信息,请参阅使用 Amazon S3 Intelligent-Tiering 管理存储成本。
日志记录配置和复制配置
如果 Amazon S3 将日志传送到已启用复制的存储桶,它将复制日志对象。
如果对源存储桶或目标存储桶启用了服务器访问日志或 Amazon CloudTrail 日志,Amazon S3 将在这些日志中包含复制相关的请求。例如,Amazon S3 将记录它复制的每个对象。
CRR 和目标区域
Amazon S3 跨区域复制(CRR)用于在不同 Amazon Web Services 区域 中跨 S3 存储桶复制对象。根据您的业务需求或成本考虑,您可能选择了区域作为目标存储桶。例如,区域间数据传输费用因您所选的区域而异。
假设您选择了美国东部(弗吉尼亚州北部)(us-east-1
) 作为源存储桶的区域。如果您选择了美国西部(俄勒冈州)(us-west-2
) 作为目标存储桶的区域,则您支付的费用将比选择美国东部(俄亥俄州)(us-east-2
) 区域时更多。有关定价信息,请参阅 Amazon S3 定价
同区域复制 (SRR) 不会产生相关的数据传输费用。
S3 批量复制
有关批量复制的注意事项的信息,请参阅 S3 分批复制注意事项。
S3 Replication Time Control
有关 S3 Replication Time Control(S3 RTC)的最佳实践和注意事项的信息,请参阅 S3 RTC 的最佳实践和准则。