Which approach will meet these requirements with the LEAST amount of operational overhead?
Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and enable Memcached in the MySQL option group.
Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and set up replication to a MySQL DB instance running on Amazon EC2.
Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and add a read replica.
Add a read replica and promote it to an Amazon Aurora MySQL DB cluster master. Then enable Amazon Aurora Serverless.
Explanations:
Enabling Multi-AZ increases availability but does not address performance issues directly. Enabling Memcached in the MySQL option group adds caching, but it doesn’t handle the heavy write load or reduce downtime from patching.
Setting up replication to an EC2-based MySQL DB instance introduces unnecessary complexity and operational overhead, as it requires managing EC2 instances and replication manually, which adds management overhead and doesn’t directly solve performance or patching concerns.
Enabling Multi-AZ for the MySQL DB instance increases availability and durability. Adding a read replica allows for offloading read traffic, improving performance for report generation. Read replicas are also automatically updated during patching, reducing downtime.
While promoting a read replica to Aurora could improve performance, the operational complexity of transitioning from RDS for MySQL to Aurora and managing Aurora Serverless adds significant overhead. It also doesn’t directly address the goal of reducing downtime from patching.