Which solution will meet these requirements?
Create an Amazon RDS for MySQL DB cluster that includes a cross-Region read replica. Use AWS Database Migration Service (AWS DMS) to migrate existing databases.
Deploy Amazon DynamoDB with global tables. Use AWS Database Migration Service (AWS DMS) to migrate existing databases. Adapt the application to work with DynamoDB.
Create an Amazon Aurora global database. Use native MySQL tools to migrate existing databases.
Create MySQL servers on Amazon EC2 instances in two Regions. Set up asynchronous software replication across Regions.
Explanations:
While creating an Amazon RDS for MySQL with cross-Region read replicas provides scalability and availability, it still involves manual database management, and the operational overhead may be higher compared to using a fully managed solution like Aurora.
Deploying DynamoDB with global tables requires significant changes to the application, as it would need to be adapted to work with a NoSQL database. This involves higher development effort, which contradicts the requirement for low operational overhead and development effort.
Amazon Aurora global database provides high availability, low latency, and is designed to scale. It requires minimal operational overhead, as it is a fully managed service, and using native MySQL tools for migration simplifies the process compared to other options.
Setting up MySQL servers on EC2 instances involves significant operational overhead, including maintenance, scaling, and handling failover manually. Additionally, asynchronous replication may lead to increased latency and potential data inconsistency issues, making it less suitable for high availability.