Q47 — AWS SAA-C03 Ch.16

Question 47 of 100 | ← Chapter 16

Q1247. A company has an Amazon RDS for Microsoft SQL Server database that supports a serverless application.The database constantly has a high number of new database connections. A few times each week, the database reaches the maximum number of connections and experiences performance problems, A solutions architect needs to improve the performance efficiency of the database.Which solution will meet this requirement?

Correct Answer: B. Use RDS Proxy to create a proxy. Configure the application to connect to the database through the proxy instead of connecting directly to the database.

Explanation

The company is experiencing performance issues with an Amazon RDS for Microsoft SQL Server database due to high connection churn (frequent new connections), leading to connection limits being reached. The goal is to improve performance efficiency by optimizing connection handling.Key Requirements:Reduce connection overhead (avoid hitting max connections). Improve performance for a serverless application (likely using many short-lived connections).Maintain compatibility with Microsoft SQL Server.Analysis of Options:A. Create an Amazon API Gateway API to pass connections to the database. Configure the application to connect to the database through the API instead of connecting directly.Incorrect:API Gateway is not designed for database connection pooling. Introduces latency and complexity (HTTP SQL translation is inefficient). Not a scalable solution for high-frequency database connections. B. Use RDS Proxy to create a proxy. Configure the application to connect to the database through the proxy instead of connecting directly.Correct:RDS Proxy is a fully managed connection pooling service for RDS (supports MySQL, PostgreSQL, and SQL Server).Benefits:Reduces connection overhead (reuses connections instead of creating new ones).Prevents max connection limits (pools idle connections).Improves performance (especially for serverless apps with many short-lived connections).No code changes needed (just update connection strings).Best choice for this scenario.C. Create an Amazon Aurora DB cluster. Turn on connection pooling on the DB cluster. Migrate the data to the DB cluster. Cut over the application to the new database.Incorrect:Aurora does not support Microsoft SQL Server (only MySQL/PostgreSQL-compatible engines). Migration to Aurora is not feasible for a SQL Server database.Not a valid solution for this use case.D. Create an RDS for SQL Server Multi-AZ database. Configure the application to connect to the Multi-AZ endpoint instead of directly to the database.Incorrect:Multi-AZ provides high availability (failover), not connection pooling.Does not address the connection limit issue.No performance improvement for connection churn.Why RDS Proxy (Option B) is the Best Solution:Connection Pooling: RDS Proxy maintains a pool of database connections, reducing the need to create new ones for each request.Scalability: Handles thousands of concurrent connections efficiently. Serverless-Friendly: Ideal for Lambda-based applications that frequently open/close connections. SQL Server Support: RDS Proxy works with RDS for SQL Server. No Downtime: No need to migrate databases or modify application logic (just update connection strings).Final Answer:B. Use RDS Proxy to create a proxy. Configure the application to connect to the database through the proxy instead of connecting directly.Implementation Steps:Create an RDS Proxy in the AWS Console:Select the RDS for SQL Server instance as the target.Configure connection pooling settings (min/max connections).Update Application Connection Strings:Replace direct RDS endpoint with the RDS Proxy endpoint.Monitor Performance:Check CloudWatch metrics for reduced connection churn and improved latency. This solution will eliminate connection limit issues and enhance performance for the serverless application.