An airline is modernizing its legacy loyalty reward points redemption backend by migrating it to a serverless architecture on AWS. The solution will expose a public REST API via Amazon API Gateway, which triggers an AWS Lambda function. This function processes transactions, updates customer records in a private Amazon Aurora PostgreSQL database, and calls an external loyalty-partner API over the public internet to validate partner reward points. During promotional events, traffic is expected to spike from a baseline of requests per second to over requests per second. The architect must ensure that database connections are managed efficiently to prevent database overload, that sudden traffic spikes do not consume the entire account-level concurrent execution pool (which would throttle other critical serverless workloads in the same AWS account), and that all outbound traffic to both the private database and the public internet remains highly available and resilient to Availability Zone outages.
Which architectural design meets these requirements?
- Deploy the Lambda function across private subnets in multiple Availability Zones, routing outbound internet traffic through redundant NAT Gateways in each Availability Zone. Configure Amazon RDS Proxy to manage connections to the Aurora PostgreSQL database, and configure a reserved concurrency limit for the Lambda function.Cevap
- BDeploy the Lambda function across private subnets in multiple Availability Zones, routing all outbound internet traffic through a single NAT Gateway in one Availability Zone to minimize NAT Gateway costs. Configure Amazon RDS Proxy to manage connections to the Aurora PostgreSQL database, and configure a reserved concurrency limit for the Lambda function.
- CDeploy the Lambda function across private subnets in multiple Availability Zones, routing outbound internet traffic through redundant NAT Gateways in each Availability Zone. Configure Amazon RDS Proxy to manage connections to the Aurora PostgreSQL database, and rely on the regional unreserved concurrency pool to allow the function to scale dynamically to meet demand.
- DDeploy the Lambda function across private subnets in multiple Availability Zones, routing outbound internet traffic through redundant NAT Gateways in each Availability Zone. Configure Amazon RDS Proxy to manage connections to the Aurora PostgreSQL database. Store database credentials in AWS Secrets Manager and enable cross-account access using the default AWS-managed key (aws/secretsmanager) in the secrets policy. Configure a reserved concurrency limit for the Lambda function.