Multi-Region Design
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
AWS Certified Developer - Associate Free Practice TestTake a Quiz