Use two-way S3 bucket replication and convert the DynamoDB tables to global tables
A company has deployed an application in a single AWS Region. The application backend uses Amazon DynamoDB tables and Amazon S3 buckets. The company wants to deploy the application in a secondary Region. The company must ensure that the data in the DynamoDB tables and the S3 buckets persists across both Regions. The data must also immediately propagate across Regions. Which solution will meet these requirements with the MOST operational efficiency?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
The requirement is immediate propagation, which rules out any batch mechanism: S3 Batch Operations copy jobs are bulk operations intended for existing objects and historical backfill, not continuous replication, so B and D are excluded on the immediacy requirement (A). DynamoDB global tables are the managed feature for multi-Region replication with in-Region reads and writes, whereas the DynamoDB streams plus Lambda copy pattern in C and D requires deploying and operating custom replication code in each Region and does not give the same consistency guarantees (A).
Both data stores must persist in both Regions and must propagate immediately. For S3, two-way bucket replication keeps both Regions continuously synchronized so writes in either Region reach the other. For DynamoDB, converting the tables to global tables replicates the items across the configured Regions and supports in-Region read and write, which satisfies immediate propagation with no custom code. Together these are the two purpose-built replication features and require no application changes.
Using S3 Batch Operations copy jobs between Regions (B and D) — trungtd identified this directly, noting that batch copy jobs are not immediate and are intended for bulk copying rather than continuous propagation, so they cannot satisfy the immediate-propagation requirement. Enabling DynamoDB streams and deploying Lambda functions in each Region to copy records to the other Region (C and D) — this reinvents managed replication with custom code that must be deployed, monitored, and kept consistent, whereas global tables provide replication as a table configuration. Note that jamesf observed two-way S3 replication is more than many scenarios need, but it is required here because both Regions must serve reads of the same data.
Community Discussion (3 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
The requirement is that data persists in both Regions and propagates immediately, which calls for the purpose-built replication feature in each service rather than any batch or custom-code approach. For object storage, implementing two-way S3 bucket replication between the primary and secondary Regions keeps both buckets continuously synchronized, so an object written in either Region appears in the other (A). For the database, converting the DynamoDB tables into global tables with the secondary Region set as the additional Region propagates items across Regions and supports in-Region reads and writes, which is managed, immediate, and requires no changes to the application (A). Both are native features with no operational overhead, which satisfies the most-operational-efficiency requirement. A is the correct answer.Why the Other Options Are Wrong
B implements S3 Batch Operations copy jobs between the primary and secondary Regions and converts the DynamoDB tables to global tables. The DynamoDB half is correct, but trungtd identified that S3 Batch Operations copy jobs are not immediate and are typically used for the bulk copying of existing data, so they do not provide the continuous propagation the requirement demands; new objects written after the job would not appear in the secondary Region. D combines the same batch copy jobs with a custom replication pattern, adding the batch limitation and the custom code on top. C implements two-way S3 replication, which is correct, but replaces global tables with DynamoDB streams plus an AWS Lambda function in each Region subscribed to the stream that copies new records to the other Region's tables. trungdd noted this reinvents managed replication; it requires deploying and operating functions in both Regions, and it does not provide the managed, in-Region consistency that global tables provide. A is correct.Community Comment Notes
Community voted A unanimously. jamesf addressed the two-way replication directly, noting that while two-way replication is not needed in most scenarios since one-way is generally sufficient, this requirement calls for both Regions to have the data, which makes it necessary. trungtd gave the decisive rejections, that S3 Batch Operations copy jobs are not immediate and are intended for bulk copying so B and D fail the immediacy requirement, and that the DynamoDB streams approach in C replaces managed replication. tgv confirmed A. No alternative received support.Official Reference
Related Analysis
Practice All DOP-C02 Questions
Access 85 questions with complete answers and detailed explanations.
View Full DOP-C02 Practice Test →