跨区域复制(Cross-Region Replication)是跨不同OSS数据中心(地域)的存储空间(Bucket)自动、异步(近实时)复制文件(Object),它会将Object的创建、更新和删除等操作从源存储空间复制到不同区域的目标存储空间。

操作方式

OSS目前支持通过OSS管理控制台和Java SDK配置跨区域复制规则:

使用场景

跨区域复制功能满足Bucket跨区域容灾或用户数据复制的需求。目标Bucket中的Object是源Bucket中Object的精确副本,它们具有相同的Object名、版本信息、元数据以及内容,例如创建时间、拥有者、用户定义的元数据、Object ACL、Object内容等。您可以通过配置跨区域复制规则实现以下场景需求。

  • 合规性要求

    虽然OSS默认对每个存储的Object在物理盘上有多份副本,但合规性要求所规定的数据需要跨一定距离保存一份副本。通过跨区域复制,可以在远距离的OSS数据中心之间复制数据以满足这些合规性要求。

  • 最大限度减少延迟

    客户处于两个地理位置。为了最大限度缩短访问Object时的延迟,可以在地理位置与用户较近的OSS数据中心维护Object副本。

  • 数据备份与容灾

    您对数据的安全性和可用性有极高的要求,对所有写入的数据,都希望在另一个数据中心显式地维护一份副本,以备发生特大灾难(如地震、海啸等)导致一个OSS数据中心损毁时,还能启用另一个OSS数据中心的备份数据。

  • 数据迁移

    由于业务原因,需要将数据从OSS的一个数据中心迁移到另一个数据中心。

  • 操作原因

    您在两个不同数据中心中拥有分析同一组Object的计算集群。您可以选择在两个不同区域中维护Object副本。

支持特性

跨区域复制支持特性如下:

  • 不同地域Bucket之间的数据同步
    源Bucket中的数据可以同步到多个目标Bucket。单个Bucket关联的复制规则数量不能超过100条。这些规则中,该Bucket既可以作为源Bucket,也可以作为目标Bucket。1

    如果您的业务场景涉及更大数量的复制规则,请联系技术支持

  • 实时同步数据

    对于数据的增加、删除、修改能够实时监控并同步到目标地域Bucket。对于2 MB以下文件,能够做到分钟级别信息同步,保证两边数据的最终一致。

  • 历史数据迁移

    迁移历史数据,让源Bucket中历史数据也能进行同步,形成相同的两份数据。

  • 实时获取同步进度

    能够针对实时同步数据展示最近同步的时间节点,针对历史数据的迁移展示迁移的百分比。

  • 版本控制

    对同时处于开启版本控制状态的源Bucket和目标Bucket,保证其数据版本的最终一致性。如果数据同步方式为写(增、改)同步,则源Bucket指定版本删除的操作不会同步到目标Bucket,源Bucket创建的删除标记会同步到目标Bucket。

  • 传输加速

    支持通过传输加速功能提高中国内地各地域与非中国内地各地域之间进行跨区域复制时的数据传输速度。传输加速功能详情请参见传输加速

  • 复制加密数据

    支持复制未加密的Object和使用SSE-KMS、SSE-OSS方式进行服务器端加密的Object。详情请参见跨区域复制结合服务器端加密

使用限制

使用跨区域复制时,有如下限制:
  • 地域限制
    • 中国内地各地域与非中国内地各地域之间进行跨区域复制时,必须开启传输加速功能。
    • 目前仅在以下地域进行跨区域复制时支持设置标签规则:
      • 源地域为华东1(杭州),目标地域为除华东1(杭州)以外的任意地域。
      • 源地域为澳大利亚(悉尼),目标地域为除中国内地和澳大利亚(悉尼)以外的任意地域。
  • 相关费用
    • 开启跨区域复制后,主从两个地域的Bucket在复制文件时会产生跨区域间的数据流量,OSS会收取跨区域复制流量费用。费用详情请参见流量费用
    • 每同步1个Object,OSS会累计计算请求次数并进行按量计费。费用详情请参见请求费用
    • 若开启传输加速功能,会额外产生传输加速费用。费用详情请参见传输加速费用
  • 复制时间

    跨区域复制采用异步(近实时)复制,数据复制到目标Bucket需要一定的时间,通常几分钟到几小时不等,取决于数据的大小。

  • 操作限制
    • 仅允许同时处于非版本化或启用版本控制状态的两个Bucket开启数据同步。
    • 处于同步状态下的两个Bucket不允许改变其版本控制状态。
    • 对于处于同步状态的两个Bucket,由于您可以同时操作这两个Bucket,源Bucket复制过去的Object可能存在覆盖目标Bucket中同名Object的风险。