AWS Systems Architect Professional

Amazon RDS Proxy for Serverless Applications – SAP-C02 Study Guide

Learn how Amazon RDS Proxy improves connection scalability, availability, and security for Lambda applications using Amazon RDS and Aurora.

AWS Systems Architect ProfessionalAWS Systems Architect ProfessionalUpdated Sep 1, 2026
Study options
WatchComing later
ListenComing later
ReadAvailable
ReviewComing later

Study guide

Technical reference and lesson notes

Purpose of This Lesson

Amazon RDS Proxy is a fully managed database proxy positioned between applications and Amazon RDS or Amazon Aurora. It is especially useful when a serverless workload, such as AWS Lambda, creates database connections rapidly and unpredictably.

This guide explains how connection pooling through RDS Proxy reduces pressure on relational databases and improves availability and connection management.

Key Concepts

What Amazon RDS Proxy Does

RDS Proxy maintains a pool of established connections to an RDS or Aurora database. Applications connect to the proxy instead of opening a new database connection directly for every request.

The proxy can then reuse existing database connections across multiple application requests. This is valuable for workloads in which application concurrency changes quickly, particularly Lambda-based applications.

The Serverless Connection Problem

AWS Lambda functions can scale horizontally by launching many concurrent executions. If each execution establishes its own database connection, a sudden traffic increase can result in:

  • A large number of simultaneous database connections
  • Increased CPU and memory consumption on the database
  • Connection-limit exhaustion
  • Additional connection setup overhead
  • Reduced application stability during traffic spikes

RDS Proxy helps decouple application concurrency from the number of direct connections maintained by the database.

Connection Pooling

With RDS Proxy, Lambda functions connect to the proxy endpoint. The proxy manages reusable connections to the underlying RDS or Aurora database.

Conceptually, the architecture is:

Lambda functions
       |
       v
Amazon RDS Proxy
       |
       v
Amazon RDS or Amazon Aurora

The pool allows multiple short-lived or highly concurrent application invocations to share a smaller set of established database connections. This can reduce connection-management overhead and improve database efficiency.

High Availability and Failover

RDS Proxy is highly available across multiple Availability Zones. It also helps applications handle database failover more effectively by managing the database connections behind a stable proxy endpoint.

Applications connect to the proxy rather than embedding direct database connection details throughout the application. This can reduce the amount of failover-specific connection handling required in the application layer.

RDS Proxy does not replace a Multi-AZ deployment or make the underlying database automatically scalable. The database still requires an appropriate high-availability and capacity design.

Authentication and Security

RDS Proxy provides a centralized point for controlling how applications authenticate to the database. Instead of placing database credentials directly in application code or Lambda configuration, credentials can be managed through AWS Secrets Manager and used by the proxy.

IAM-based authentication can also be part of the access design where supported. The important architectural principle is to centralize database access and credential management rather than allowing every function to manage independent database connections and secrets.

Exam-Relevant Takeaways

  • RDS Proxy is a managed proxy for Amazon RDS and Amazon Aurora.
  • Its primary value is connection pooling, not database storage scaling.
  • It is particularly useful for AWS Lambda and other rapidly scaling application workloads.
  • It helps protect the database from excessive connection creation and connection storms.
  • RDS Proxy is designed for high availability across multiple Availability Zones.
  • Applications connect to the proxy endpoint, while the proxy manages connections to the database.
  • It can centralize database authentication and integrate with credential-management approaches such as AWS Secrets Manager.
  • RDS Proxy does not turn a relational database into a horizontally scalable database and does not eliminate the need to size the database correctly.

Architecture Decision Guide

RequirementRecommended approachReason
Lambda functions create many concurrent database connectionsUse Amazon RDS ProxyPools and reuses database connections
A traditional, steady application has a manageable connection countDirect database connectivity may be sufficientRDS Proxy may add unnecessary complexity and cost
The database requires high availabilityUse an appropriate RDS or Aurora HA design, optionally with RDS ProxyProxy availability does not replace database failover architecture
Credentials are duplicated across many functionsCentralize access through RDS Proxy and a managed secretReduces credential-management sprawl
The database is CPU- or storage-constrainedResize or redesign the databaseRDS Proxy primarily addresses connection management, not core database capacity
The application needs a NoSQL data model and massive horizontal scaleEvaluate services such as Amazon DynamoDBRDS Proxy does not change the relational scaling model

Common Exam Traps

  • Confusing connection pooling with query or data scaling: RDS Proxy reduces connection overhead; it does not automatically increase database CPU, storage, or query performance.
  • Assuming RDS Proxy is only for Aurora: It can be used with supported Amazon RDS engines as well as Aurora.
  • Treating RDS Proxy as a database replacement: The proxy sits in front of the database and requires an underlying RDS or Aurora deployment.
  • Assuming it removes the need for Multi-AZ: RDS Proxy is highly available, but the database itself still needs an appropriate Multi-AZ or Aurora availability design.
  • Using direct connections from every Lambda invocation: This can exhaust database connection limits during bursts and is a common serverless anti-pattern.
  • Expecting RDS Proxy to solve slow queries: Slow SQL, missing indexes, locks, and insufficient database capacity must be addressed at the database and application layers.

Real-World Engineer Notes

  • Use RDS Proxy when application concurrency can grow much faster than the database can safely create connections.
  • Lambda functions should use the proxy endpoint rather than the direct database endpoint when the proxy is part of the architecture.
  • Connection pooling is most valuable for workloads with many short-lived or bursty connections. A stable application with a small, predictable connection footprint may not need a proxy.
  • Monitor both proxy behavior and database behavior. A proxy can reduce connection pressure, but it cannot compensate for an undersized database or inefficient queries.
  • Keep database credentials out of source code and use a centralized secret-management strategy.
  • Validate application behavior with the chosen database engine, including transaction and session usage, because some session-specific behavior can limit how effectively connections are reused.
  • RDS Proxy introduces an additional managed component and cost. Select it when the connection-management and availability benefits justify that tradeoff.

Quick Reference Summary

  • Service: Amazon RDS Proxy
  • Position: Between the application and Amazon RDS or Aurora
  • Primary capability: Database connection pooling
  • Best fit: Rapidly scaling or bursty workloads, especially AWS Lambda
  • Benefits: Lower connection overhead, reduced database connection pressure, improved efficiency, centralized authentication, and managed high availability
  • Does not provide: Automatic horizontal scaling of a relational database or a replacement for Multi-AZ database design

Flashcards

  1. Q: What is Amazon RDS Proxy?

A: A fully managed proxy that sits between applications and supported Amazon RDS or Aurora databases.

  1. Q: What is the main purpose of RDS Proxy?

A: To pool and reuse database connections, reducing connection-management pressure on the database.

  1. Q: Why is RDS Proxy useful for AWS Lambda?

A: Lambda can create many concurrent executions quickly, and each execution could otherwise create a separate database connection.

  1. Q: Where should a Lambda function connect when RDS Proxy is deployed?

A: To the RDS Proxy endpoint rather than directly to the database endpoint.

  1. Q: What database resources can RDS Proxy help protect during connection bursts?

A: Database CPU and memory, as well as the database connection limit.

  1. Q: Does RDS Proxy horizontally scale an RDS database?

A: No. It manages connections but does not automatically scale database compute, storage, or query capacity.

  1. Q: Is RDS Proxy highly available?

A: Yes. It is designed for high availability across multiple Availability Zones.

  1. Q: Does using RDS Proxy eliminate the need for database high availability?

A: No. The underlying RDS or Aurora database still requires an appropriate HA design.

  1. Q: How can RDS Proxy improve credential management?

A: It can centralize database authentication and use managed credentials, such as secrets stored in AWS Secrets Manager.

  1. Q: What type of workload is a strong candidate for RDS Proxy?

A: A bursty, highly concurrent application—especially a serverless workload—that would otherwise open many direct database connections.

Practice Questions

Question 1

A company runs an AWS Lambda application that writes to an Amazon Aurora database. During traffic spikes, Lambda concurrency increases rapidly and Aurora reaches its database connection limit, even though CPU utilization remains moderate. What is the best solution?

A. Increase the Lambda function timeout
B. Place Amazon RDS Proxy between Lambda and Aurora
C. Move the database to Amazon S3
D. Add an Amazon CloudFront distribution

Correct answer: B

Explanation: RDS Proxy pools and reuses connections, reducing the number of direct connections Aurora must manage during Lambda concurrency spikes. The other options do not address relational database connection exhaustion.

Question 2

A solutions architect deploys RDS Proxy in front of an Amazon RDS database and claims that the proxy will automatically provide database storage scaling and eliminate the need for a Multi-AZ database configuration. Which statement is correct?

A. The claim is correct because RDS Proxy provides all database HA and scaling capabilities.
B. RDS Proxy provides connection pooling, but the database still needs its own capacity and availability design.
C. RDS Proxy only works with read replicas and cannot be used with a primary database.
D. RDS Proxy replaces the RDS database with a serverless database engine.

Correct answer: B

Explanation: RDS Proxy improves connection management and has a highly available proxy layer, but it does not replace database sizing, storage scaling, Multi-AZ deployment, or other database architecture decisions.

Question 3

An organization has hundreds of Lambda functions that independently store database credentials and connect directly to an Aurora cluster. The organization wants to reduce connection storms and centralize database authentication. Which architecture best meets these requirements?

A. Configure each Lambda function to create a new connection for every request.
B. Place RDS Proxy in front of Aurora and manage database credentials centrally.
C. Store credentials in Lambda source code to reduce lookup latency.
D. Replace Aurora with an Amazon EBS volume.

Correct answer: B

Explanation: RDS Proxy provides a centralized database access layer with connection pooling. Credentials can be managed through an appropriate centralized secret-management design instead of being duplicated in application code.

Question 4

A workload uses a traditional application server with a small, stable number of long-lived database connections. There are no significant traffic bursts, and database connections are well below the engine limit. What is the most reasonable design decision?

A. RDS Proxy is mandatory for every RDS deployment.
B. Direct database connectivity may be sufficient, subject to normal security and HA requirements.
C. Use Lambda solely to create database connections.
D. Add RDS Proxy to increase the database’s CPU capacity.

Correct answer: B

Explanation: RDS Proxy is most valuable when connection creation and concurrency are problematic. A stable workload with a manageable connection count may not justify the additional component and cost. RDS Proxy also does not increase database CPU capacity.