Course menuSAA-C03

Exams / SAA-C03 / Study guide / Multi-Region data replication

Multi-Region data replication: SAA-C03 study notes and practice questions

What to know about Multi-Region data replication for the SAA-C03 exam, from the Design Resilient Architectures domain (26% of the exam guide), then 2 free questions to test it. Part of the SAA-C03 study guide.

Last verified against current AWS documentation ·How we write our questions

What to know for the exam

When a scenario needs data in more than one Region, the choice depends on the data store, whether both Regions write, and how much lag is acceptable.

The options

Data Service Writes Lag and failover
S3 objects Cross-Region Replication (CRR) Source bucket (or both, with two-way rules) Asynchronous; most objects in seconds to minutes. S3 Replication Time Control adds an SLA of 99.99% of objects within 15 minutes
DynamoDB items Global tables Every replica Region (active-active) Usually within a second; the default multi-Region eventual consistency resolves conflicts with last writer wins. A strong consistency mode is also available
Aurora Aurora Global Database Primary Region; secondaries are read-only (write forwarding is available) Storage-level replication, typically under a second; managed failover or switchover to a secondary Region
RDS Cross-Region read replica Primary only Asynchronous; promote the replica manually in a disaster
EBS, RDS snapshots, AMIs Cross-Region copy (often through AWS Backup) n/a Point in time; restore takes time

S3 replication details

  • Versioning must be on for both buckets, and the rule needs an IAM role S3 can assume.
  • Existing objects aren’t replicated by a new rule; use S3 Batch Replication for them.
  • Replication can change the storage class or owner in the destination, and replicate SSE-KMS objects if you name a destination key.
  • Same-Region Replication copies between buckets in one Region, for example into a separate account for logs.
  • Multi-Region Access Points give one global endpoint that routes requests to the nearest bucket and can fail over.

How to choose

  • “Users write in both Regions with low latency and no custom code”: DynamoDB global tables.
  • “Relational database, read locally in a second Region, recover in about a minute if the primary Region fails”: Aurora Global Database.
  • “Copy new objects to another Region for compliance, with a predictable time”: S3 CRR with Replication Time Control.

Common traps

  • Forgetting versioning on S3 replication, or expecting existing objects to copy.
  • Choosing a cross-Region read replica for active-active writes. Replicas are read-only.
  • Writing a Lambda function to copy data between Regions when a native replication feature exists.

Try the 2 practice questions

A gaming company stores player profiles in a single Amazon DynamoDB table in us-east-1.

It is launching in Europe, and players there must be able to update their profiles with low latency. If either AWS Region becomes unavailable, the application must keep accepting reads and writes in the other Region.

Losing a few seconds of recent updates during a Regional outage is acceptable. The team does not want to write or run any replication code.

Which solution meets these requirements with the LEAST operational overhead?

Choose one answer.

  1. A. Keep the table in us-east-1, turn on point-in-time recovery, and use AWS Backup to copy backups to eu-west-1 every hour.
  2. B. Convert the table to a DynamoDB global table with replicas in us-east-1 and eu-west-1, and send each player to the nearest replica.
  3. C. Create a second table in eu-west-1, and use DynamoDB Streams with AWS Lambda functions in each Region to copy changes to the other table.
  4. D. Migrate the profiles to an Amazon Aurora global database with a secondary cluster in eu-west-1, and turn on write forwarding there.
Show the answer and explanation

Answer: B

  • A. Wrong: Point-in-time recovery and cross-Region backup copies protect against data loss, but they give European players no local table to write to. After a Regional outage the team would first have to restore a new table from a backup, so writes would stop until the restore finished. A global table keeps a live, writable replica in each Region instead. Learn more: Cross-Region backups in AWS Backup (opens in a new tab)
  • B. Right: Correct. Every replica in a global table accepts reads and writes, and DynamoDB replicates changes between the replicas for you, so European players write to a nearby Region. In the default multi-Region eventual consistency mode, replication is asynchronous, which matches the stated tolerance for losing a few seconds of updates. If one Region fails, the application carries on with the replica in the other Region. Learn more: Global tables: multi-Region replication for DynamoDB (opens in a new tab)
  • C. Wrong: Streams and Lambda can copy item changes between two separate tables, so this design can work. However, the team would have to write, deploy and monitor the replication code, and handle retries, conflicting updates and changes being copied back and forth. Global tables give the same multi-Region, multi-writer result as a managed feature. Learn more: Change data capture for DynamoDB Streams (opens in a new tab)
  • D. Wrong: An Aurora global database has one primary cluster that performs all writes. Write forwarding lets the secondary cluster accept write statements, but it sends them to the writer in the primary Region, so European writes still cross the Atlantic. Migrating from DynamoDB to Aurora is also a large change that the requirements do not call for. Learn more: Using write forwarding in an Aurora MySQL global database (opens in a new tab)

Explanation

The requirements are low-latency writes in two Regions, continued reads and writes if one Region fails, a few seconds of acceptable data loss, and no custom replication code. DynamoDB global tables meet all of them: every replica is writable and replication is managed and asynchronous. Backups need a restore before writes resume, Streams with Lambda is custom code, and an Aurora global database has a single write Region.

A DynamoDB global table with replicas in two Regions Users in each Region read and write their nearest table replica. DynamoDB replicates changes between the replicas in both directions, and each Region keeps working if the other fails. Region A Region B Nearby users Table replica reads and writes Nearby users Table replica reads and writes multi-Region replication, both ways
Each player reads and writes the nearest replica, and DynamoDB replicates changes to the other Region.

Study

Question 2

Medium · choose 2 ·Link to this question (question 2)

A medical laboratory stores test reports in an Amazon S3 bucket in eu-west-2.

A new regulation requires that every report uploaded from now on is automatically copied to a second bucket, in the same AWS account, in eu-west-1. Reports already in the bucket do not need to be copied.

To control cost, the copies must be stored in the S3 Standard-IA storage class. The team wants to use managed S3 features rather than custom code.

Which TWO actions should a solutions architect take? (Choose two.)

Choose two answers.

  1. A. Turn on S3 Versioning for both buckets: the source bucket in eu-west-2 and the destination bucket in eu-west-1.
  2. B. Turn on S3 Versioning for the source bucket only, because the destination bucket just receives copies of new reports.
  3. C. Add an S3 Lifecycle rule to the source bucket that transitions each new report to Standard-IA in the eu-west-1 bucket.
  4. D. Add a replication rule on the source bucket that targets the eu-west-1 bucket with Standard-IA, using an IAM role for S3.
  5. E. Configure S3 Event Notifications to invoke an AWS Lambda function that copies each new report to the eu-west-1 bucket.
Show the answer and explanation

Answers: A, D

Explanation

Copying new objects to a bucket in another Region is S3 Cross-Region Replication. It needs versioning on both buckets, and a replication rule on the source bucket with an IAM role that S3 can assume; the rule can also set the replicas' storage class to Standard-IA. Lifecycle rules cannot move objects between Regions, and a Lambda copy is custom code.

Study

Want more on Multi-Region data replication? The 5 full-length practice sets have 10 more Multi-Region data replication questions, 325 in all, none of them in the free exam. One payment of $14.99, no subscription. See the practice sets

Study Multi-Region data replication

More Design Resilient Architectures topics