Scaling Aurora PostgreSQL with RDS Proxy and Reader Instances

SAA-C03 By islever Editorial Last updated

Short answer

C Add additional reader instances to the Aurora cluster and create an Amazon RDS Proxy target group for the Aurora cluster.

Question

An ecommerce company runs its application on AWS. The application uses an Amazon Aurora PostgreSQL cluster in Multi-AZ mode for the underlying database. During a recent promotional campaign, the application experienced heavy read load and write load. Users experienced timeout issues when they attempted to access the application. A solutions architect needs to make the application architecture more scalable and highly available. Which solution will meet these requirements with the LEAST downtime?
  1. Create an Amazon EventBridge rule that has the Aurora cluster as a source. Create an AWS Lambda function to log the state change events of the Aurora cluster. Add the Lambda function as a target for the EventBridge rule. Add additional reader nodes to fail over to.
  2. Modify the Aurora cluster and activate the zero-downtime restart (ZDR) feature. Use Database Activity Streams on the cluster to track the cluster status.
  3. Add additional reader instances to the Aurora cluster. Create an Amazon RDS Proxy target group for the Aurora cluster. Correct Answer
  4. Create an Amazon ElastiCache for Redis cache. Replicate data from the Aurora cluster to Redis by using AWS Database Migration Service (AWS DMS) with a write-around approach.

Key Takeaways

The exam tests the ability to distinguish between handling application-level connection limits (RDS Proxy) and database-level query throughput (Reader Instances), avoiding distractors that address restarts or caching complexities.

This question addresses scaling an Amazon Aurora PostgreSQL cluster under heavy read and write load to resolve timeout issues. The correct solution combines adding reader instances for read scalability and using Amazon RDS Proxy to manage connection overhead.

Common mistake: Many learners choose Option D because they associate 'heavy read load' with caching. However, implementing a write-around cache adds significant complexity and latency, making it less suitable for 'least downtime' than simply scaling the database tier with proxies and readers.

Expert Analysis

Why the Answer Is Correct

Option C is the correct answer because it directly addresses both scalability and availability requirements with minimal operational disruption. Adding reader instances increases the read capacity of the cluster, distributing the heavy read load across multiple nodes. Simultaneously, creating an Amazon RDS Proxy target group allows the proxy to handle connection pooling and management. This prevents the database from being overwhelmed by too many open connections, which is a common cause of timeouts during traffic spikes. This approach requires no code changes to the application logic beyond pointing to the proxy endpoint, ensuring the least downtime.

Why the Other Options Are Wrong

Option A suggests using EventBridge and Lambda to log state changes, which provides monitoring but does not actively scale resources or handle incoming requests, leaving the timeout issue unresolved. Option B activates Zero-Downtime Restart (ZDR), which is designed for applying patches or configuration changes without restarting the instance; it does nothing to increase capacity for high traffic loads. Option D proposes using ElastiCache with AWS DMS in a write-around approach. While caching can help reads, a write-around strategy can lead to data inconsistency if the cache fails before the DB writes complete, and setting up this replication pipeline introduces significant complexity and potential points of failure compared to native Aurora scaling features.

Community Comment Notes

Community consensus strongly supports Option C as the only viable option for handling the specific combination of read/write load and timeouts. As user Marunio noted, "Only C is real viable option - Adding Reader replica for handling Read load and RDS Proxy for connections." User MatAlves correctly identified that options A and B do not address load, and criticized Option D's write-around approach as unsuitable for the scenario. Another commenter, xBUGx, reinforced that "there is no better option" available among the choices provided.

Official Reference

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-proxy.html

This link opens the official vendor documentation in a new tab.

Exam Strategy

When asked to reduce timeouts or handle connection storms, always consider Amazon RDS Proxy first. It is specifically designed to decouple application connections from database connections, preventing resource exhaustion during traffic spikes.

Frequently Asked Questions

Why not use ElastiCache for Redis instead of RDS Proxy?

ElastiCache adds complexity and potential data consistency issues. RDS Proxy is natively integrated with Aurora to handle connection pooling efficiently without modifying data access patterns.

Does adding reader instances solve write timeouts?

Reader instances primarily offload read queries. However, reducing overall load on the primary writer via read distribution helps prevent resource exhaustion that contributes to timeouts.

More SAA-C03 FAQ →

Community Votes

C
100%

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

Discussion 9 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 9

  1. Marunio 👍 7 Answered C
    Only C is real viable option - Adding Reader replica for handling Read load and RDS Proxy for connections.
  2. MatAlves 👍 4
    A - "Lambda function to log state changes" - doesn't help with read/write load. B - ZDR applies to restarts that Aurora performs automatically to resolve error conditions: doesn't help with read/write load. D - Write-around approach: data is always written to the database and the data that is read goes to the cache. Doesn't help with read/write load. C - CORRECT. Even though it doesn't address "write operations", Aurora Replicas to offload read workloads from the primary DB instance. Amazon RDS Proxy allows applications to pool and share connections established with the database, improving database efficiency and application scalability.
  3. xBUGx 👍 4 Answered C
    I go with C bc there is no better option
  4. Scheldon 👍 2 Answered C
    AnswerC. Proxy should help with the problem
  5. jaswantn 👍 2
    RDX proxy to handle timeout issue. option C
Show 4 more comments
  1. alawada 👍 2 Answered C
    RDX proxy to handle timeout issue
  2. sk1974 👍 1 Answered C
    C is the most applicable among the 4 available options.
  3. Andy_09 👍 5
    I would go for option C
  4. MatAlves 👍 2 Answered C
    C - Explanation below:

Reader comments & corrections

No reader corrections 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.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide