Which solution will meet these requirements?
Modify the DB cluster by increasing the Aurora Replica instance size.
Modify the DB cluster by changing to serverless mode whenever the number of user connections exceeds 200.
Migrate to a new Aurora DB cluster that has multiple writer instances. Modify the application’s database connection string.
Create an auto scaling policy that has a target value of 195 for the DatabaseConnections metric.
Explanations:
Increasing the size of the Aurora Replica instance will provide more resources for handling read queries, but it will not solve the issue of scaling the database automatically as the number of connections increases. This does not address the requirement for automatic scaling based on user demand.
Switching to serverless mode can help handle fluctuations in demand, but Aurora MySQL does not support Aurora Serverless in the same way as it supports provisioned clusters with replicas. The current setup already has a replica, and switching to serverless may lead to compatibility issues or limited scalability for highly transactional workloads.
Migrating to a new Aurora DB cluster with multiple writer instances might increase write scalability, but the problem described is related to read scalability (based on user connections). This solution doesn’t directly address the requirement for automatic scaling based on user connections.
Creating an auto-scaling policy based on the DatabaseConnections metric would automatically adjust resources (e.g., adding Aurora Replicas) when the number of user connections exceeds a specified threshold. This directly addresses the need for automatic scaling to meet changing user demand.