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
  • Provides asynchronous object copying buckets in different AWS Regions, automatically.
  • 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 necessary for a minimum configuration
    • destination bucket, to replicate S3 objects
    • AWS IAM role S3 can assume to replicate objects

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.
  • Versioning should be active on both source and destination buckets
  • source and destination buckets are in dissimilar AWS Regions.
  • S3 has permissions to replicate objects from source bucket to destination bucket.

S3 Cross-Region Replication

  • Configurations  for all S3 cross-region replication is at bucket level
  • Single configuration for every bucket can be defined
  • Versioning is compulsory
  • Destination bucket have exact replicas of objects in source bucket
  • Same key names and the same metadata: creation time, owner, user-defined metadata, version ID, ACL(Access Control List), and storage class
  • dissimilar storage class can be specified for target bucket
  • data in transit across AWS regions, is encrypted by SSL
  • Existing files before replication activation will not be handled by AWS by default
  • For replication of existing objects within buckets, data boot is required
  • actions done under lifecycle configuration are not copied
  • S3 provides recursion protection by using versioning
  • Using replication specific S3 actions (PutObjectReplication)
  • Replication process is asynchronous
  • Delete protection for faulty operations
Multi-Region Design
Menu