使用跨区域复制以实现合规、降低延时、确保安全性和可用性

跨区域复制(Cross-Region Replication)是指将相同或者不同账号某个地域下源存储空间(Bucket)中Object的创建、更新和删除等操作自动、异步(近实时)地复制到另一个地域下的目标Bucket,以实现合规、降低延时、确保安全性和可用性等目的。

使用场景

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

  • 合规性要求

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

  • 最大限度减少延迟

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

  • 数据备份与容灾

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

  • 数据迁移

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

  • 操作原因

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

功能特性

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

  • 数据复制时间控制RTC

    开启RTC后,OSS会在几秒内复制您上传到OSS的大多数Object,并在10分钟内复制99.99%的Object。此外,RTC功能还提供数据复制的实时监控,方便您查看复制任务的各项指标。

  • 准实时复制数据

    对于数据的新增、删除、修改等操作能够准实时复制到目标Bucket。

  • 数据一致性

    默认情况下,在源Bucket将数据复制到目标Bucket的过程中,OSS会保证两端数据的最终一致性。如果在复制过程中,您通过目标Bucket写入同名文件,OSS将无法保证两端数据的最终一致性。

  • 历史数据迁移

    支持将源Bucket配置复制关系后新写入的数据复制到目标Bucket的同时,还支持将未配置复制关系前的历史数据进行复制。

  • 获取复制进度

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

  • 版本控制

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

  • 传输加速

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

  • 复制加密数据

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

  • 配置事件通知

    您可以通过在事件通知规则中,将事件类型配置为ObjectReplication:ObjectCreatedObjectReplication:ObjectRemoved以及ObjectReplication:ObjectModified的方式,获取数据复制过程中源Bucket以及目标Bucket内Object的新增、更新、删除、覆盖等变化情况。详情请参见通过事件通知实时处理OSS文件变动

注意事项

费用说明

  • 进行跨区域复制时,OSS会根据复制文件产生的流量收取跨区域复制流量费用。计费方式,请参见跨区域复制流量费用

    跨账号跨区域复制产生的跨区域复制流量费用将由源Bucket所属账号承担。

  • 每成功复制1个Object,OSS会计算请求次数并收取请求费用。计费方式,请参见请求费用

  • 如果开启传输加速功能,会额外产生传输加速费用。计费方式,请参见传输加速费用

  • 如果开启数据复制时间控制RTC,会额外产生跨区域复制RTC费用。计费方式,请参见跨区域复制RTC费用

  • 通过跨区域复制将源Bucket中的低频访问、归档类型Object复制到目标Bucket时,不涉及数据解冻操作,不收取数据取回容量费用。

复制时间

跨区域数据复制采用异步(近实时)机制,将数据从源Bucket传输到目标Bucket的过程可能需要几分钟到几小时,具体时间取决于数据量的大小。如果复制过程耗时过长,建议检查是否存在带宽限制导致的复制任务延迟。如果确认为带宽问题,建议通过提交工单的方式申请提升带宽,以优化复制效率。

您可以通过OSS控制台用量查询 > 基础数据页签下使用带宽区域查看跨区域复制流入数据,该指标用于统计使用跨区域复制功能时数据流入目标Bucket所使用的带宽。具体操作,请参见记录各时段存储空间使用带宽

覆盖同名Object的风险

对于处于复制状态的两个Bucket,由于您可以同时操作这两个Bucket,源Bucket复制过去的Object可能存在覆盖目标Bucket中同名Object的风险。

使用限制

地域限制

  • 华东1(杭州)、华东2(上海)、华东5(南京-本地地域)、华东6(福州-本地地域)、华中1(武汉-本地地域)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、美国(硅谷)、美国(弗吉尼亚)、日本(东京)、韩国(首尔)、新加坡、澳大利亚(悉尼)关停中、马来西亚(吉隆坡)、印度尼西亚(雅加达)、菲律宾(马尼拉)、泰国(曼谷)、德国(法兰克福)、英国(伦敦)、阿联酋(迪拜)地域支持设置跨区域复制。

  • 无地域属性Bucket仅支持与中国内地各地域的Bucket之间配置跨区域复制。

  • 无地域属性Bucket之间的数据复制仅支持通过跨区域复制实现。

  • 中国内地与非中国内地各地域之间进行跨区域复制时,必须开启传输加速功能。

规则数量

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

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

操作限制

  • 源Bucket和目标Bucket的版本控制状态必须保持一致,即同时处于未开启状态或开启状态。暂停状态不支持配置数据复制规则。

  • 处于复制状态下的两个Bucket不允许改变其版本控制状态。

  • 对于处于复制状态的两个Bucket,由于您可以同时操作这两个Bucket,源Bucket复制过去的Object可能存在覆盖目标Bucket中同名Object的风险。

  • 源Bucket中的数据可以复制到多个目标Bucket。单个Bucket关联的复制规则数量不能超过100条。这些规则中,该Bucket既可以作为源Bucket,也可以作为目标Bucket。如果您的业务场景涉及更大数量的复制规则,请联系技术支持

  • 不支持将源Bucket中冷归档或者深度冷归档存储类型Object复制到目标Bucket。

  • 不支持将源Bucket中Appendable类型的Object复制到冷归档存储类型的目标Bucket。

相关文档