Replication

Replication allows you to create and manage replicas of your data across Endpoints.

Note:

— Replication is currently supported only for user-owned buckets and is available in the de, eu-central-2, and eu-south-2 regions.

— You can also replicate user-owned buckets to contract-owned buckets in the eu-central-3 region or in the us-central-1 region. This function is supported both via the DCD and the API.

Note: Replication is not supported for contract-owned buckets at the moment and will become available in near future.

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 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 Object Storage 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 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 (use Prefix instead), Priority, SourceSelectionCriteria, AccessControlTranslation, Account, and Metrics.

  • 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 to bucket2, and you configure bucket2 to copy to bucket3, then an object that you upload to bucket1 will get replicated to bucket2 but will not get reproduced from there on to bucket3. Only objects you directly upload into bucket2 will be copied to bucket3.

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