Amazon Simple Storage Service (S3) 复制是一项弹性、完全托管且成本低廉的功能,可在存储桶之间复制对象。S3 复制在云存储中提供最大的灵活度和功能,为您提供满足数据主权和其他业务需求所需的控制。
借助 Simple Storage Service (Amazon S3) 复制,您可以将 Simple Storage Service (Amazon S3) 配置为使用 S3 跨区域复制 (CRR) 跨不同 AWS 区域自动复制 S3 对象,或者使用 S3 同区域复制 (SRR) 在同一 AWS 区域的存储桶之间自动复制 S3 对象。借助 S3 复制,可灵活地复制到相同或不同 AWS 区域中的多个目标存储桶。S3 复制支持相同或不同 AWS 区域中两个或多个存储桶之间的双向复制。虽然 CRR 和 SRR 等实时复制会在新的已上载对象写入存储桶时自动复制它们,但 S3 批量复制允许您复制现有对象。您可以利用 S3 批量复制来回填新创建的存储桶,重试原先无法复制的对象,在账户之间迁移数据,或者向数据湖添加新的存储桶。需要服务等级协议 (SLA) 支持的可预测复制时间的客户可以使用复制时间控制 (RTC) 在 15 分钟内复制对象。
Amazon S3 复制也可以提供详细的指标和通知来监控存储桶之间的对象复制状态。您可以使用 S3 控制台或 Amazon CloudWatch 跟踪待处理字节、待处理操作、复制延迟和操作失败复制,进而监控复制进度。您还可以设置 S3 事件通知以接收复制失败通知,以便快速诊断和更正配置问题。S3 复制指标和通知可帮助您密切监控复制进度。要了解更多信息,请访问使用复制指标和 Simple Storage Service (Amazon S3) 事件通知监控进度。
何时使用 S3 复制
数据冗余 – 如果您需要在相同或不同的 AWS 区域中使用不同加密类型或在不同账户中维护数据的多个副本。S3 复制可满足您的全球内容分发需求、合规存储需求并实现跨帐户数据共享。
复制对象同时保留元数据 – 如果您需要确保复制的副本与源数据完全相同,则可以使用 S3 复制来创建保留所有元数据(如原始对象创建时间、对象访问控制列表 (ACL) 和版本 ID)的对象副本。
将对象复制到更具成本效益的存储类 – 您可以使用 S3 复制将对象放入 S3 Glacier、S3 Glacier Deep Archive 或目标存储桶中的另一个存储类。您还可以将数据复制到同一存储类中,然后使用 S3 生命周期策略将对象移动到更具成本效益的存储中。
维护不同账户下的对象副本 – 无论谁拥有源对象,您都可以指示 Amazon S3 将副本所有权更改为拥有目标存储桶的 AWS 账户,以限制对对象副本的访问。
在 15 分钟内复制对象 – 您可以使用 Amazon S3 复制时间控制 (S3 RTC),在可预测的时间范围内复制数据。S3 RTC 由服务等级协议(SLA)提供支持,可以在 15 分钟上传时间内复制存储在 Amazon S3 中的 99.99% 的新对象。
S3 复制的工作原理
Amazon S3 数据保护概述 - 版本控制、对象锁定和复制
Amazon S3 跨区域复制 (CRR)
利用 S3 跨区域复制 (CRR),您可以将对象(及其对应的元数据和对象标签)复制到其他 AWS 区域,以降低延迟、确保合规性与安全性、实现灾难恢复和其他使用案例。 可以从单个源 S3 存储桶配置 S3 CRR,以将对象复制到另一个 AWS 区域中的一个或多个目标存储桶中。
Amazon S3 CRR 可以在不同 AWS 区域的存储桶之间自动复制数据。利用 CRR,您可以使用 S3 对象标签设置存储桶级别、共享前缀级别或对象级别的复制。您可以使用 CRR 在不同的地理区域中提供低延迟的数据访问。如果您需要遵循将数据副本存储在相距数百公里的不同地点的合规性要求,CRR 还可以帮助您达成这一目标。您可以使用 CRR 更改复制对象的账户所有权,以防数据意外删除。要了解有关 CRR 的更多信息,请访问 S3 复制文档。
使用案例
合规性 – 默认情况下,Amazon S3 会跨多个地理位置相距较远的可用区存储数据,但是合规性要求可能需要您在更远的距离存储数据。利用 CRR,您可以在相距较远的 AWS 区域之间复制数据,以满足这些要求。
延迟性能 – 如果您的客户或最终用户分布在一个或多个地理位置,您可以在地理位置距离客户更近的 AWS 区域维护多个对象副本,从而将数据访问的延迟降到最低。
区域效率 – 如果您在两个或多个不同的 AWS 区域拥有分析同一组对象的计算集群,则可以选择在所有这些区域维护对象副本。
Amazon S3 同区域复制(SRR)
Amazon S3 SRR 是 S3 的一项功能,可以在同一 AWS 区域内的存储桶之间自动复制数据。利用 SRR,您可以使用 S3 对象标签设置存储桶级别、共享前缀级别或对象级别的复制。您可以使用 SRR 在相同 AWS 区域内创建数据的一个或多个副本。SRR 可在原始数据所在的区域内将数据副本保存在单独的 AWS 账户中,从而帮助您获得数据主权并满足合规性要求。您可以使用 SRR 更改复制对象的账户所有权,以防数据意外删除。您也可以使用 SRR 轻松汇总来自不同 S3 存储桶的日志以进行区域内处理,或配置测试环境与开发环境之间的实时复制。
使用案例
将日志汇总到一个存储桶中 – 如果您在多个存储桶中或跨多个账户存储日志,则可以轻松地将日志复制到一个区域内存储桶中。这样,您便可在一个位置更简单地处理日志。
在开发人员和测试账户之间复制 – 如果您或您的客户拥有使用相同数据的开发人员和测试账户,您可以通过实施 SRR 规则在这些账户之间复制对象,同时维护对象元数据。
遵守数据主权法律 – 通常情况下,客户需要将数据存储在单独的 AWS 账户中,同时禁止数据离开特定区域。如果合规性法规不允许数据离开您所在的国家/地区,您可以使用相同区域复制来备份重要数据。
Simple Storage Service (Amazon S3) 批量复制
虽然 CRR 和 SRR 等实时复制会在新的已上载对象写入存储桶时自动复制它们,但 S3 批量复制允许您复制现有对象。您可以利用 S3 批量复制来回填新创建的存储桶,重试原先无法复制的对象,在账户之间迁移数据,或者向数据湖添加新的存储桶。S3 批量复制可对任何数量的数据使用,您可通过完全托管的方式来满足您在数据主权和合规性、灾难恢复,以及性能优化方面的需求。只需在 S3 控制台上进行数次单击,或者通过单个 API 请求,即可开始使用 S3 批量复制。
S3 批量复制是对同区域复制 (SRR) 和跨区域复制 (CRR) 的补充。S3 批量复制复制现有对象,而 SRR 和 CRR 监控新的对象上载,并在存储桶之间复制它们。
使用案例
回填新创建的存储桶 — 如果您有一个新的多区域存储计划,需要您建立新存储桶,并用另一个存储桶的现有对象回填,您可以使用批量复制来复制这些对象。
重试复制 — 如果您因为各种原因需要重试复制,包括初次复制对象失败,对象之前已经成功复制到一个目的地,但现在需要复制到另一个目的地,或者从另一个源复制复制对象时,您可以使用批量复制来重试复制。
迁移 — 如果您需要跨存储桶迁移现有对象,无论它们是在不同的区域还是不同的账户,您都可以使用批量复制进行迁移,以保留元数据和版本 ID。
Amazon S3 复制时间控制
Amazon S3 复制时间控制可以帮助您满足数据复制的合规性要求“或业务要求”,并提供对 Amazon S3 复制活动的可见性。复制时间控制可以在几秒钟内复制“您上传”到 Amazon S3 的大部分对象,其中 99.99% 的对象会在 15 分钟内完成复制。 默认情况下,S3 复制时间控制包括 S3 复制指标和 S3 事件通知,您可以使用它们来监控待复制 S3 API 操作的总数、待复制对象的总大小以及最大复制时间。
S3 复制时间控制由服务等级协议(SLA)提供支持,在任何计费月份,99.9% 的对象都会在 15 分钟内完成复制。