Move a serverless SaaS database to Aurora with RDS Proxy connection pooling

Answer Correct answer: D — Migrate to Aurora with an Aurora Replica and use RDS Proxy to manage database connection pooling for the Lambda functions.

A company runs a software-as-a-service (SaaS) application on AWS. The application consists of AWS Lambda functions and an Amazon RDS for MySQL Multi-AZ database. During market events, the application has a much higher workload than normal. Users notice slow response times during the peak periods because of many database connections. The company needs to improve the scalable performance and availability of the database. Which solution meets these requirements?

  1. 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.
  2. Migrate the database to Amazon Aurora, and add a read replica. Add a database connection pool outside of the Lambda handler function.
  3. Migrate the database to Amazon Aurora, and add a read replica. Use Amazon Route 53 weighted records.
  4. Migrate the database to Amazon Aurora, and add an Aurora Replica. Configure Amazon RDS Proxy to manage database connection pools. Correct Answer

Community Votes

D
100%

100% of anonymous learners picked answer D. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

Aurora separates compute from storage and its replicas scale reads independently, while RDS Proxy pools and reuses connections so a burst of concurrent Lambda invocations no longer translates into a burst of database connections.

A SaaS application runs Lambda functions against an RDS for MySQL Multi-AZ database, and during market events the workload spikes sharply and users see slow responses caused by many database connections. Both scalable performance and database availability need to improve.

Adding a connection pool outside the Lambda handler. A warm Lambda container's global state is shared unpredictably across concurrent execution environments, so a handler-external pool does not reliably bound the number of database connections, whereas RDS Proxy pools them centrally on the database side.

Community Discussion (6 comments)

kejam 👍 6 Selected: D
Answer D: https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda/ https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html
AzureDP900 👍 1
Option D meets all the requirements: Migrate the database to Amazon Aurora: This provides a more scalable and available database solution. Add an Aurora Replica: This allows for read-heavy workloads to be offloaded from the primary instance, reducing the load on the primary instance and improving overall performance. Configure Amazon RDS Proxy to manage database connection pools: Amazon RDS Proxy is a dedicated proxy service that can manage connections to your database, allowing you to maintain multiple active connections without overwhelming the database. This helps improve scalability and availability.
VerRi 👍 3 Selected: D
Moving database connection settings outside of the Lambda handler function may allow Lambda to reuse the connection, but RDS Proxy is better.
career360guru 👍 1 Selected: D
Option D
HunkyBunky 👍 2 Selected: D
D is a correct answer
alexis123456 👍 4
correct Answer is D

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Migrating to Amazon Aurora gives a distributed, self-healing storage layer that is more available than RDS for MySQL, and adding an Aurora Replica provides an additional reader so read-heavy work during a market event can be served without competing with the writer. RDS Proxy then manages the connection problem the question is actually about: many concurrent Lambda invocations each trying to open a connection. The proxy accepts all client connections and reuses a small pool of database connections, so connection setup overhead is paid once rather than per invocation, and the burst is absorbed without the database becoming a bottleneck.

Why the Other Options Are Wrong

A: A CloudWatch alarm reacting to utilization can only add capacity after the problem has started, and adding an RDS for MySQL read replica does not address the connection storm at all, so latency during the burst is unchanged until scaling completes. B: It moves to Aurora and adds a read replica, which helps read scalability, but a connection pool held in Lambda global state is unreliable because a single warm container can serve concurrent execution environments, so the connection count is still not bounded. C: Route 53 weighted records operate at the DNS layer and distribute requests across endpoints, which has no effect on how many database connections a set of Lambda functions opens.

Community Comment Notes

The community voted 100 to 0 for D, and the most-liked comment linked both the AWS blog on using Amazon RDS Proxy with AWS Lambda and the Aurora documentation for RDS Proxy. One commenter also addressed the B variant directly, noting that while moving connection settings outside the handler may let a Lambda reuse a connection, RDS Proxy is the better mechanism.

Official Reference

Related Analysis

Practice All SAP-C02 Questions

Access 85 questions with complete answers and detailed explanations.

View Full SAP-C02 Practice Test →

← Back to SAP-C02 Study Guide