Which solution meets these requirements?
Create an Amazon CloudWatch alarm action that triggers a Lambda function to add an Amazon RDS for MySQL read replica when resource utilization hits a threshold.
Migrate the database to Amazon Aurora, and add a read replica. Add a database connection pool outside of the Lambda handler function.
Migrate the database to Amazon Aurora, and add a read replica. Use Amazon Route 53 weighted records.
Migrate the database to Amazon Aurora, and add an Aurora Replica. Configure Amazon RDS Proxy to manage database connection pools.
Explanations:
Creating a CloudWatch alarm to add a read replica dynamically doesn’t address database connection management or improve scalability and availability during peak workloads. AWS Lambda functions typically require efficient database connection pooling, which this option doesn’t solve.
While migrating to Amazon Aurora and adding a read replica is a good move for scalability, adding a database connection pool outside of the Lambda function would help reduce the overhead, but it doesn’t fully address the automatic management of database connections and peak load handling.
Using Amazon Route 53 weighted records for distributing traffic doesn’t directly address the scalability or connection management of the database. Aurora read replicas or connection pooling solutions are more effective in handling database connection overloads.
Migrating to Amazon Aurora and adding an Aurora Replica improves performance and scalability. Configuring Amazon RDS Proxy to manage database connection pools ensures efficient connection handling and reduces the overhead on the database, addressing the slow response times during peak periods.