Question

Difficulty: MediumModernizing Workloads with Serverless Architectures (Lambda and API Gateway)

A retail company is modernizing its order fulfillment processing system by migrating its legacy database and order-receiving application to a serverless architecture on AWS. The system must process orders via a public HTTPS endpoint, run validation logic in AWS Lambda, and store transaction details in an Amazon Aurora PostgreSQL database. During seasonal promotional events, order volume spikes unpredictably. The solutions architect must ensure that the database is protected from connection exhaustion, outbound transactions to external credit card processors remain highly available, and the serverless components do not disrupt other critical applications in the same AWS region by exhausting shared concurrency limits.

Which TWO of the following actions should the Solutions Architect take to build a secure, resilient, and high-performing architecture?

  1. Deploy Amazon RDS Proxy in the private subnets of the VPC to manage and pool database connections from the Lambda functions to the Aurora PostgreSQL cluster.Answer
  2. Configure reserved concurrency on the validation Lambda function to limit its maximum concurrent executions and protect the regional concurrency pool.Answer
  3. C
    Configure provisioned concurrency on the Lambda function without reserved concurrency to allow it to scale dynamically up to the regional limit without any throttling.
  4. D
    Deploy a single NAT Gateway in one Availability Zone to handle all outbound transaction traffic to the external payment processor from all private subnets.
  5. E
    Store the database credentials in AWS Secrets Manager encrypted with the default AWS managed KMS key, and configure cross-account resource policies on the key to grant the Lambda execution role access.

Answer

Deploy Amazon RDS Proxy in the private subnets to pool database connections, and configure reserved concurrency on the Lambda function to limit its maximum executions and protect the regional pool.
Deploying Amazon RDS Proxy allows connection pooling and reuse, protecting the Amazon Aurora PostgreSQL database from exhaustion due to the ephemeral nature of Lambda functions. Configuring reserved concurrency limits the maximum executions of the validation function, protecting the shared regional concurrency pool and ensuring other critical production functions are not throttled.

Step-by-Step Solution

1
Analyze database connection limits and scaling requirements.
Identify that rapid scaling of serverless Lambda functions can easily exhaust the Aurora PostgreSQL database's connection pool, requiring a proxying layer.
Amazon RDS Proxy pools and shares database connections to prevent connection exhaustion during traffic spikes.
2
Evaluate regional Lambda concurrency requirements.
Determine that an unconstrained, high-volume Lambda function can consume all available regional concurrency (1,0001,000 by default).
Setting reserved concurrency limits the function's maximum capacity, protecting the regional pool for other services.
3
Review high availability and security configurations for VPC networking and Secrets Manager.
Verify that NAT Gateways must be deployed in multiple Availability Zones to prevent a single point of failure, and customer-managed KMS keys must be used for cross-account credential sharing.
AWS-managed keys cannot be shared across accounts, and single AZ NAT Gateways violate multi-AZ resilience guidelines.

Key Concept

Modernizing legacy transactional architectures to serverless using API Gateway, Lambda, RDS Proxy, and resilient networking configurations.
Rate this question