DVA-C02 Development with AWS Services Practice Question
A company runs a web application on Amazon EC2 instances behind an Application Load Balancer (ALB). The application uses an Amazon RDS MySQL database. Recently, the application started experiencing frequent database connection timeouts. The development team discovered that the application is not closing database connections properly, leading to exhausted database connections. The team wants a solution that does not require code changes. Which option should they choose?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure Amazon RDS Proxy in front of the RDS instance and update the application to connect through the proxy.
Amazon RDS Proxy provides connection pooling, allowing the application to reuse database connections efficiently, reducing the number of open connections without code changes. Option B is incorrect: Multi-AZ provides high availability and failover but does not address connection leaks or exhaustion. Option C is incorrect: Migrating to Aurora with Auto Scaling for read replicas adds scalability for read traffic but does not fix connection leaks; it also requires migration effort. Option D is incorrect: Increasing max_connections may temporarily alleviate the symptom but does not solve the underlying issue of connections not being closed, and it can lead to resource contention.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Configure Amazon RDS Proxy in front of the RDS instance and update the application to connect through the proxy.
Why this is correct
Configuring Amazon RDS Proxy in front of the RDS instance is the most effective solution because it provides connection pooling and multiplexing. RDS Proxy maintains a pool of established database connections and reuses them for new application requests, significantly reducing the overhead on the database and making the application more resilient to transient connection issues or inefficient connection handling, such as connection leaks. This approach prevents connection exhaustion without requiring extensive application code changes to fix the underlying connection management issues.
- ✗
Enable Multi-AZ on the RDS instance to handle failover and reduce connection timeouts.
Why it's wrong here
Enabling Multi-AZ on an RDS instance provides high availability and disaster recovery by synchronously replicating data to a standby instance in a different Availability Zone and automatically failing over in case of an outage. While crucial for business continuity, Multi-AZ does not address the application's inefficient connection handling, connection leaks, or the number of active connections. It is a redundancy feature, not a solution for connection management or performance under application-induced load.
- ✗
Migrate the database to Amazon Aurora and enable Auto Scaling for read replicas.
Why it's wrong here
Migrating to Amazon Aurora and enabling Auto Scaling for read replicas enhances database scalability and performance, particularly for read-heavy workloads, by distributing read queries across multiple instances. However, this solution does not resolve the fundamental issue of connection leaks or inefficient connection management originating from the application. While Aurora can handle more connections due to its architecture, it doesn't prevent the application from opening and holding onto connections unnecessarily, which is the root cause of connection exhaustion.
- ✗
Increase the max_connections parameter in the RDS parameter group to allow more concurrent connections.
Why it's wrong here
Increasing the `max_connections` parameter in the RDS parameter group only offers a temporary workaround by allowing the database to accept more concurrent connections. This approach does not fix the underlying problem of the application failing to close connections properly, merely postponing the inevitable connection exhaustion. Furthermore, a higher number of open connections consumes more database memory and CPU resources, potentially leading to overall performance degradation and instability rather than solving the inefficient connection management.
Go deeper
Related to this question
About these practice questions
Courseiva writes every DVA-C02 question from scratch — 724 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DVA-C02 exam.