Replication
Replication allows you to create and manage replicas of your data across S3 Endpoints.
Note:
— Replication is currently supported only for user-owned buckets and is available in the de
, eu-central-2
, and eu-south-2
S3 regions.
— You can also replicate user-owned buckets to contract-owned buckets in the eu-central-3
S3 region. This function is supported both via the DCD and the API.
Note: Replication is not supported for contract-owned buckets since this bucket type is available only in the eu-central-3
S3 region.
Use cases
Disaster Recovery: In the event of a regional outage, your data remains accessible from another region.
Compliance Requirements: Meet legal and compliance mandates by storing copies of data in different geographical locations.
Latency Reduction: Serve data from the nearest region to your users, minimizing latency and improving performance.
Data Aggregation: Aggregate logs or other data from multiple buckets to a central bucket, where they can be analyzed.
How Replication works
Only objects directly uploaded into a bucket by a client application are replicated.
Replication traffic, including cross-region replication, is not counted towards data usage; thus, Object Storage offers free data transfer.
Objects are not replicated if they are themselves replicas from another source bucket.
In the case of an object deletion request specifying the object version, the object version is deleted from the source bucket but not from the destination bucket.
If an object deletion request does not specify the object version, the deletion marker added to the source bucket is replicated to the destination bucket.
Bi-directional Replication
With bi-directional replication, you can configure two buckets to replicate each other. For example, objects directly uploaded into bucket1 can be copied to bucket2
, and objects directly uploaded into bucket2
are replicated to bucket1. It is possible to replicate objects uploaded from one bucket into another bucket. Still, objects will not be copied back into the source bucket, thus avoiding an endless replication loop.
Manage Replication
You can manage Replication using the DCD, API, and CLI.
DCD
Prerequisite: Versioning must be enabled for source and destination buckets.
1. In the DCD, go to Menu > Storage > IONOS S3 Object Storage.
2. From the Buckets list, choose the bucket for which the Replication rule must be added and click Bucket settings.
3. Go to the Replication setting under the Data management section and click Add a rule.
4. Enter a Rule name.
5. Choose the Replication scope. You can either apply the replication rule to all objects in the bucket or limit to objects filtered by prefix.
Info: Use a prefix that is unique and does not include the source bucket name.
6. Browse S3 to choose the Destination bucket.
7. Click Add a rule.
Result: The Replication rule is successfully added and automates the replication of objects between the source and destination bucket.
Info: Using the same Replication bucket settings, you can enable, disable, modify, and delete an existing rule. It takes up to a few minutes for the deletion of a Replication rule to propagate fully.
IONOS S3 Object Storage API
Use the API to manage the replication of objects.
CLI tool
Use the CLI to manage Replication.
Limitations
Replication configuration is possible only if Versioning is enabled for both source and destination buckets participating in Replication.
Each Replication rule serves to identify a specific prefix for replication, and it must be unique.
Version 2 of the AWS S3 specification for Replication configuration XML is not supported. Only the version 1 is currently supported.
The following options are not supported:
DeleteMarkerReplication
,EncryptionConfiguration
,ReplicationTime
,ExistingObjectReplication
,Filter
(usePrefix
instead),Priority
,SourceSelectionCriteria
,AccessControlTranslation
,Account
, andMetrics
.Replication is not possible in the following cases:
A source bucket that has Object Lock enabled. However, an Object Lock enabled bucket can be a destination bucket for Replication.
A source bucket that has Lifecycle for auto-tiering enabled.
Objects uploaded before enabling Replication.
Objects encrypted by the SSE-C method.
Objects that are themselves replicas from other source buckets. For example, if you configure
bucket1
to replicate tobucket2
, and you configurebucket2
to copy tobucket3
, then an object that you upload tobucket1
will get replicated tobucket2
but will not get reproduced from there on tobucket3
. Only objects you directly upload intobucket2
will be copied tobucket3
.
Related feature
Versioning
Versioning allows you to keep multiple versions of the same object and it must be set up for both the source and the target bucket before enabling the replication.
Last updated