Cross-region replication (CRR) allows you to automatically and asynchronously (in near real-time) replicate objects from a bucket in one region to a bucket in a different region within the same account or a different account. CRR synchronizes operations, such as object creation, overwriting, and deletion, to help you meet compliance, latency, security, and availability requirements.
Scenarios
CRR can help you meet compliance requirements for cross-region disaster recovery and data replication. Objects in a destination bucket are exact replicas of objects in the source bucket. The objects have the same object names, versioning information, object content, and object metadata, such as the creation time, owner, user metadata, and access control lists (ACLs). You can configure CRR rules to meet your business requirements in various scenarios.
Compliance
OSS provides a data redundancy mechanism for objects. However, to meet compliance requirements, the replicas must be stored in multiple data centers that are located at a geographical distance from each other. CRR allows you to replicate data between geographically distant data centers to meet compliance requirements.
Minimal latency
You have customers in two geographical locations. To minimize the latency that occurs when the customers access objects, you can store the replicas of objects in data centers that are geographically closer to the customers.
Data backup and disaster recovery
You have strict requirements for data security and availability. You want to replicate all data in a data center to another data center. If one data center is damaged due to a catastrophic event, such as an earthquake or a tsunami, you can use the data that is backed up in the other data center.
Data migration
To ensure business continuity, you may need to migrate data from one data center to another data center.
Operational purposes
You have compute clusters that are deployed in two data centers to analyze the same group of objects. You can store the replicas of the objects in the two regions.
Features
CRR provides the following features:
RTC
After Replication Time Control (RTC) is enabled, OSS replicates most of the objects that you uploaded to OSS within a few seconds and replicates 99.99% of the objects within 10 minutes. RTC also provides real-time monitoring of data replication, which allows you to easily monitor replication tasks by using different metrics.
Near real-time data replication
You can configure CRR rules to replicate operations, such as the creation, deletion, and modification of objects, from a source bucket to a destination bucket in near real time.
Data consistency
By default, OSS ensures eventual data consistency between the source and destination buckets. However, if you upload an object that has the same name as an existing object in the destination bucket, OSS cannot ensure the eventual data consistency between the source and destination buckets.
Historical data migration
You can replicate data that is written to OSS after a CRR rule is configured for the source and destination buckets. You can also replicate historical data from the source bucket to the destination bucket.
Replication progress query
You can view the most recent replication time of the replicated data and the progress of the replication for historical data migration in percentage.
Versioning
CRR ensures eventual data consistency between the source and destination buckets for which versioning is enabled. If you configure a CRR rule to replicate only the added and modified data, deletion operations performed on a specific version of an object in the source bucket are not replicated to the destination bucket. However, delete markers created in the source bucket are replicated to the destination bucket.
Transfer acceleration
You can use transfer acceleration to accelerate data transfer for CRR across regions inside and outside the Chinese mainland. For more information, see Transfer acceleration.
Replication of encrypted data
CRR allows you to replicate objects that are not encrypted and objects that are encrypted by using SSE-KMS or SSE-OSS. For more information, see Use data replication with server-side encryption.
Event notification
You can set the event type to
ObjectReplication:ObjectCreated
,ObjectReplication:ObjectRemoved
, andObjectReplication:ObjectModified
to receive notifications of changes that are made to objects in source and destination buckets during CRR tasks. The changes include adding, modifying, deleting, and overwriting objects. For more information, see Use event notifications to monitor object changes in real time.
Usage notes
Billing rules
You are charged for the traffic that is generated when you use CRR to replicate objects in OSS. For more information, see Traffic fees.
The account to which the source bucket belongs is charged for traffic generated when CRR across accounts is used to replicate objects.
Each successful replication of an object is counted as a request and a fee is generated for an API call. For more information, see API operation calling fees.
If you enable transfer acceleration, you are charged transfer acceleration fees. For more information, see Transfer acceleration fees.
If you enable RTC, you are charged RTC fees. For more information, see RTC traffic fees.
If you use CRR to replicate Infrequent Access (IA) or Archive objects from a source bucket to a destination bucket, no data retrieval operations are involved in the process, and you are not charged data retrieval fees.
Replication time
In CRR, data is asynchronously replicated in near real time. The period of time that is required to replicate data from the source bucket to the destination bucket may range from a few minutes to a few hours, depending on the data size. If a replication task takes a long period of time, we recommend that you check whether the replication task is delayed due to bandwidth limits. If the bandwidth limits the replication speed, we recommend that you submit a ticket to increase the bandwidth to improve the replication efficiency.
To query the bandwidth that is used when data is replicated to the destination bucket by using CRR over the Internet, perform the following steps: 1. Log on to the OSS console. 2. In the left-side navigation pane, click buckets. On the Buckets page, click the name of the destination bucket. 3. In the left-side navigation tree, choose Used Bandwidth.
and view the bandwidth in the Used Bandwidth section of the Basic Data Tab. For more information, seeData overwriting
If you configure a CRR rule for two buckets, an object replicated from the source bucket may overwrite an existing object that has the same name in the destination bucket.
Usage notes
Regions
CRR is supported in the following regions: China (Hangzhou), China (Shanghai), China (Nanjing-Local Region), China (Fuzhou-Local Region), China (Wuhan-Local Region), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), US (Silicon Valley), US (Virginia), Japan (Tokyo), South Korea (Seoul), Singapore, Australia (Sydney) (Shutting Down), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Philippines (Manila), Thailand (Bangkok), Germany (Frankfurt), UK (London), and UAE (Dubai).
To configure CRR between a region inside and a region outside the Chinese mainland, make sure that transfer acceleration is enabled.
Number of CRR rules
Data in a source bucket can be replicated to multiple destination buckets. By default, you can configure up to 100 CRR rules for a bucket. A bucket can be specified as a source bucket in a CRR rule and a destination bucket in another CRR rule at the same time.
If you want to configure more than 100 CRR rules for a bucket, contact technical support.
Operations
The source bucket and destination bucket specified in a CRR rule must have the same versioning state: unversioned or versioning-enabled. You cannot configure a CRR rule for a versioning-suspended bucket.
You cannot change the versioning status of two buckets for which a CRR rule is configured.
If you configure a CRR rule for two buckets, an object replicated from the source bucket may overwrite an existing object that has the same name in the destination bucket.
Data in a source bucket can be replicated to multiple destination buckets. By default, you can configure up to 100 CRR rules for a bucket. A bucket can be specified as a source bucket in a CRR rule and a destination bucket in another CRR rule at the same time. If you want to configure more than 100 CRR rules for a bucket, contact technical support.
You cannot replicate Cold Archive or Deep Cold Archive objects from a source bucket to a destination bucket.
You cannot replicate appendable objects from a source bucket to a destination bucket whose storage class is Cold Archive.