Which solution will meet these requirements with the MOST operational efficiency?
Implement two-way S3 bucket replication between the primary Region’s S3 buckets and the secondary Region’s S3 buckets. Convert the DynamoDB tables into global tables. Set the secondary Region as the additional Region.
Implement S3 Batch Operations copy jobs between the primary Region and the secondary Region for all S3 buckets. Convert the DynamoDB tables into global tables. Set the secondary Region as the additional Region.
Implement two-way S3 bucket replication between the primary Region’s S3 buckets and the secondary Region’s S3 buckets. Enable DynamoDB streams on the DynamoDB tables in both Regions. In each Region, create an AWS Lambda function that subscribes to the DynamoDB streams. Configure the Lambda function to copy new records to the DynamoDB tables in the other Region.
Implement S3 Batch Operations copy jobs between the primary Region and the secondary Region for all S3 buckets. Enable DynamoDB streams on the DynamoDB tables in both Regions. In each Region, create an AWS Lambda function that subscribes to the DynamoDB streams. Configure the Lambda function to copy new records to the DynamoDB tables in the other Region.
Explanations:
This option implements two-way S3 bucket replication for immediate data propagation across Regions, which ensures data consistency in S3. Converting DynamoDB tables into global tables allows for immediate replication of changes across Regions without additional overhead or custom solutions. This meets both the data persistence and operational efficiency requirements effectively.
While converting DynamoDB tables into global tables is correct, using S3 Batch Operations for copying data does not provide real-time data propagation. S3 Batch Operations are not suitable for ongoing synchronization, leading to potential data inconsistency and inefficiency compared to real-time solutions like S3 replication.
Two-way S3 bucket replication is a valid solution for S3, but using DynamoDB streams with Lambda for cross-Region replication introduces complexity and operational overhead. This method involves managing Lambda functions and ensuring they run correctly, which may not provide the same efficiency as global tables. Additionally, two-way replication can lead to data conflicts.
Similar to option C, while this option correctly suggests using DynamoDB streams and Lambda for data synchronization, the reliance on S3 Batch Operations does not ensure immediate replication for S3 data. The complexity and operational overhead of managing the Lambda functions also detract from operational efficiency compared to using global tables.