Correct Answer :- A
Explanation:
Explanation from Amazon documents:
Amazon Aurora Serverless is an on-demand, auto-scaling configuration for Amazon Aurora MySQL
that automatically starts up, shuts down, and scales capacity up or down based on your application’s
needs. Aurora Serverless is ideal for applications with unpredictable or intermittent traffic patterns
that experience sudden spikes or drops in demand. Aurora Serverless also provides high availability
and durability by replicating your data across multiple Availability Zones and continuously backing up
your data to Amazon S3.
Migrating the Aurora MySQL database to Amazon Aurora Serverless by restoring a snapshot will
meet the requirements of implementing a scalable solution that is more resilient to database failures
as quickly as possible. This solution will allow the company to benefit from the auto-scaling and high
availability features of Aurora Serverless, which will handle the unpredictable surges in traffic and
prevent connection issues. This solution will also be cost-effective, as the company will only pay for
the database capacity that they use. The migration process will be simple and fast, as the company
can use the AWS Management Console, the AWS CLI, or the RDS API to restore a snapshot of their
existing Aurora MySQL database to an Aurora Serverless DB cluster, and then change the endpoint in
the Lambda functions to use the new database.
Therefore, option A is the correct solution to meet the requirements. Option B is not cost-effective
because migrating the Aurora MySQL database to Amazon DynamoDB tables by using AWS DMS will
incur additional time and cost, and may require significant code changes to adapt to a different data
model and query language. Option C is not scalable because creating an EventBridge rule that
invokes a Lambda function to end any connections in the sleep state will not address the root cause
of the connection issues, which is the lack of database capacity to handle the traffic spikes. Option D
is not scalable because increasing the instance class for the Aurora database with more memory and
setting a larger value for the max_connections parameter will not provide auto-scaling or high
availability, and may still result in connection issues if the traffic exceeds the provisioned capacity.