Multi-region enables

  • Improve latency for end-users
  • Disaster recovery
  • Business requirements

Requirements for Multi-region Design

  • Data replication between regions be fast and reliable – Use DynamoDB Global Tables
  • global network infrastructure to connect different regions – Use AWS
  • Services be stateless, and state be shared between regions – Needs in-memory object caching as Memcached or Redis
  • Synchronous cross-regional calls be avoided. Applications should use regional resources – Use AWS cross-region replication for S3
  • DNS routing for different scenarios – Use Route 53.

Cross-Region Replication (CRR)

  • It is a bucket-level configuration
  • enables automatic, asynchronous copying of objects across buckets in different AWS Regions.
  • CRR Buckets can be owned by same or different AWS accounts.
  • CRR is enabled with a bucket-level configuration.
  • Add replication configuration to source bucket.
  • Following are needed for a minimum configuration
    • The destination bucket, where you want Amazon S3 to replicate objects
    • An AWS IAM role that Amazon S3 can assume to replicate objects on behalf

CRR Requirements

  • Source bucket owner must have source and destination AWS Regions enabled for their account.
  • destination bucket owner must have destination Region enabled for their account.
  • Both source and destination buckets must have versioning enabled.
  • The source and destination buckets must be in different AWS Regions.
  • S3 has permissions to replicate objects from source bucket to destination bucket.

S3 Cross-Region Replication

  • All S3 cross-region replication configurations are bucket level
  • Only one configuration for each bucket can be defined
  • Versioning is mandatory in order to enable cross-region replication
  • The object replicas in the destination bucket are exact replicas of the objects in the source bucket
  • Same key names and the same metadata: creation time, owner, user-defined metadata, version ID, ACL(Access Control List), and storage class
  • Can specify a different storage class for target bucket explicitly
  • S3 encrypts all data in transit across AWS regions using SSL
  • Existing files before replication activation will not be handled by AWS by default
  • Data boot is needed to replicate the existing objects within buckets
  • Only customer actions are replicated, and the actions performed by lifecycle configuration are not replicated
  • S3 provides recursion protection by using versioning
  • Using replication specific S3 actions (PutObjectReplication)
  • Replication process is asynchronous
  • It takes some time to replicate objects to the destination bucket
  • Delete protection for faulty operations
Menu