Cross-region replication (CRR) automatically and asynchronously (in near real-time) replicates objects across buckets in different regions, within the same or different accounts. Operations such as creation, overwriting, and deletion are synchronized to help you meet compliance, latency, security, and availability requirements.
Scenarios
CRR replicates objects from a source bucket to a destination bucket, preserving object names, versioning information, content, and metadata such as creation time, owner, user metadata, and ACLs.
-
Compliance
OSS provides a data redundancy mechanism for objects. However, some compliance policies require replicas in geographically distant data centers. CRR replicates data across regions to meet these requirements.
-
Minimal latency
Replicate objects to data centers closer to your users to reduce access latency.
-
Data backup and disaster recovery
Replicate data to a secondary data center for recovery in case of catastrophic events such as earthquakes or tsunamis.
-
Data migration
To ensure business continuity, you may need to migrate data from one data center to another data center.
-
Operational purposes
Replicate objects across regions for compute clusters that analyze the same group of objects in different data centers.
Features
CRR supports the following features:
-
RTC
With Replication Time Control (RTC) enabled, OSS replicates most objects within a few seconds and 99.99% within 10 minutes. RTC also provides real-time monitoring of replication tasks.
-
Near real-time data replication
Object creations, deletions, and modifications are replicated to the destination bucket in near real-time.
-
Data consistency
By default, OSS ensures eventual consistency between the source and destination buckets. However, writing an object with the same name directly to the destination bucket during replication breaks this guarantee.
-
Replicate existing data
Both new objects and objects that existed before the replication rule was created can be replicated.
-
Track replication progress
View the timestamp of the latest replication and track progress for existing data replication.
-
Versioning
Eventual consistency for all object versions is ensured if versioning is enabled for both the source and destination buckets. If you configure a 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
Transfer acceleration speeds up CRR data transfer across regions inside and outside the Chinese mainland. For more information, see Access OSS using transfer acceleration.
-
Replication of encrypted data
CRR supports replication of unencrypted objects and objects encrypted with SSE-KMS or SSE-OSS. For more information, see Data replication with server-side encryption.
-
Configure event notifications
Use event types
ObjectReplication:ObjectCreated,ObjectReplication:ObjectRemoved, andObjectReplication:ObjectModifiedto receive notifications when objects are added, modified, deleted, or overwritten during CRR. For more information, see Process real-time OSS object changes with event notifications.
Usage notes
Billing rules
-
CRR incurs traffic fees. For more information, see Traffic fees.
For cross-account CRR, traffic fees are charged to the source bucket owner.
-
Each successful object replication counts as an API request. For more information, see API operation calling fees.
-
Transfer acceleration incurs additional fees billed to the destination bucket owner. For pricing details, see Transfer acceleration fees.
-
RTC incurs additional fees. For more information, see RTC traffic fees.
-
CRR does not incur data retrieval fees when replicating Infrequent Access (IA) or Archive objects.
Replication time
CRR replicates data asynchronously in near real-time. Replication may take minutes to hours depending on data size. If replication is slow, check for bandwidth limits and submit a ticket to increase bandwidth if needed.
To check the Internet bandwidth used for CRR to the destination bucket: Log on to the OSS console, go to the destination bucket, and choose to view bandwidth in the Used Bandwidth section. Used Bandwidth.
Data overwriting
A replicated object may overwrite an existing object with the same name in the destination bucket.
Limits
Regions
-
Region-independent buckets support CRR only with buckets in Chinese mainland regions.
-
Data replication between region-independent buckets is supported only through CRR.
-
To configure CRR between a region inside and a region outside the Chinese mainland, enable transfer acceleration.
Number of CRR rules
A source bucket can replicate data to multiple destination buckets. You can configure up to 100 CRR rules per bucket by default. A bucket can serve as both a source and a destination in different CRR rules.
To configure more than 100 CRR rules, contact technical support.
Operations
-
The source and destination buckets in a CRR rule must have the same versioning state: unversioned or versioning-enabled. CRR rules cannot be configured for versioning-suspended buckets.
-
You cannot change the versioning status of buckets with an active CRR rule.
-
A replicated object may overwrite an existing object with the same name in the destination bucket.
-
A source bucket can replicate to multiple destination buckets, with up to 100 CRR rules per bucket by default. A bucket can serve as both a source and a destination in different rules. To configure more than 100 rules, contact technical support.
-
Cold Archive and Deep Cold Archive objects cannot be replicated, regardless of restore status.
-
Appendable objects cannot be replicated to Cold Archive or Deep Cold Archive buckets.