Cross-region replication (CRR) enables the automatic and asynchronous (near real-time) replication of objects across buckets in different OSS regions. Operations such as the creation, overwriting, and deletion of objects can be synchronized from a source bucket to a destination bucket.

Background information

This feature meets requirements of geo-disaster recovery and data replication. Objects in the destination bucket are exact replicas of those in the source bucket. They have the same object names, versioning information, object content, and object metadata such as the creation time, owner, user metadata, and object ACLs.

When you use CRR, take note of the following items:

  • When CRR is enabled, CRR traffic is generated when you replicate objects between buckets in the source and destination regions. You are charged for the traffic consumed when you use CRR. Each time an object is synchronized, OSS counts the number of requests and calculates the charges on a pay-as-you-go basis. For more information, see Billing items and methods.
  • The CRR feature is available between regions in mainland China, between regions outside mainland China, and between China (Hong Kong) and regions outside mainland China.

Scenarios

CRR can be configured for a wide range of scenarios:

  • Compliance requirements: Although OSS stores multiple replicas of each object in physical disks, replicas must be stored at a distance from each other to comply with regulations. CRR allows you to replicate data between geographically distant OSS data centers to satisfy these compliance requirements.
  • Minimum latency: You have users who are located in two geographical locations. To minimize the latency when the users access objects, you can maintain replicas of objects in OSS data centers that are geographically closer to these users.
  • Data backup and disaster recovery: You have high requirements for data security and availability, and want to explicitly maintain replicas of all written data in a second data center. If one OSS data center is damaged in a catastrophic event such as an earthquake or a tsunami, you can use backup data from the other data center.
  • Data replication: For business reasons, you may need to migrate data from one OSS data center to another data center.
  • Operational reasons: You have compute clusters deployed in two different data centers that need to analyze the same group of objects. You may choose to maintain object replicas in these regions.

Implementation modes

Implementation mode Description
Console A user-friendly and intuitive web application
Java SDK SDK demos for various programming languages

Usage notes

CRR supports the synchronization between buckets that have different names. If two buckets are in different regions, you can use this feature to synchronize data from the source bucket to the destination bucket in real time. This feature offers the following capabilities:

  • Real-time data synchronization: This feature monitors data addition, deletion, and modification in real time and synchronizes these changes to the destination bucket. For objects at most 2 MB in size, data is synchronized within a few minutes to ensure data consistency between the source and the destination.
  • Historical data migration: This feature synchronizes historical data from the source bucket to the destination bucket. Two identical data replicas are provided.
  • Real-time display of the synchronization progress: This feature displays the last synchronization time for real-time data synchronization and the percentage of synchronization for historical data migration.
  • Mutual synchronization: You can configure data synchronization between Bucket A and Bucket B to enable mutual data synchronization.
  • Versioning: If versioning is enabled, ensure that the object version information is consistent between the source and destination buckets. If write synchronization of add and change operations is used as the synchronization mode, changes are not synchronized to the destination bucket when an object version in the source bucket is deleted. However, the delete marker is synchronized from the source bucket to the destination bucket.

Limits

  • You can still perform operations on buckets that are being synchronized. However, an object that is replicated from the source bucket may overwrite an object that has the same name in the destination bucket.
  • CRR is an asynchronous (near real-time) process. Based on the size of the data, it takes several minutes to several hours to replicate data from the source bucket to the destination bucket.
  • CRR can be applied only to two buckets that are not synchronized with any other buckets. For example, if you use CRR to synchronize data from Bucket A to Bucket B, you are not allowed to synchronize data from Bucket A to Bucket C, unless you delete the CRR configurations to synchronize data from Bucket A to Bucket B. Similarly, if you synchronize data from Bucket A to Bucket B, you are not allowed to synchronize data from Bucket C to Bucket B.
  • Synchronization is supported only between two buckets across different regions. You cannot synchronize data between buckets within the same region.
  • You can synchronize data only between two buckets that are in the same versioning state.
  • You cannot change the versioning status of the source and destination buckets that are being synchronized.