A logistics company is modernizing a retail stock allocation API. The API is hosted on AWS using Amazon API Gateway and AWS Lambda, and must securely interact with an Amazon Aurora PostgreSQL database located in a private subnet. The application experiences extreme traffic spikes during promotions, increasing from 50 to 10,000 requests per second. The security policy requires database credentials to be stored in AWS Secrets Manager, encrypted using a customer-managed KMS key to allow granular access control via key policies. The network architecture must be highly available, minimize exposure to the public internet, and prevent database connection exhaustion. Which of the following architectures meets these requirements with the highest availability and security?
- AConfigure a regional API Gateway. Deploy Amazon RDS Proxy in the database subnets. Configure the Lambda function to run in the private subnets of the VPC across multiple Availability Zones, and configure VPC endpoints for AWS Secrets Manager and KMS. Store the database credentials in AWS Secrets Manager, encrypted with the default AWS-managed key aws/secretsmanager for Secrets Manager, and set a reserved concurrency limit on the Lambda function.
- BConfigure a regional API Gateway. Deploy Amazon RDS Proxy in the database subnets. Configure the Lambda function to run in the private subnets of the VPC across multiple Availability Zones. Configure the VPC route tables to direct all outbound traffic to Secrets Manager and KMS through a single NAT Gateway deployed in a single public subnet. Store the database credentials in AWS Secrets Manager, encrypted with a customer-managed KMS key, and set a reserved concurrency limit on the Lambda function.
- Configure a regional API Gateway. Deploy Amazon RDS Proxy in the database subnets. Configure the Lambda function to run in the private subnets of the VPC across multiple Availability Zones, and configure VPC endpoints for AWS Secrets Manager and KMS. Store the database credentials in AWS Secrets Manager, encrypted with a customer-managed KMS key, and set a reserved concurrency limit on the Lambda function.Answer
- DConfigure a regional API Gateway. Deploy Amazon RDS Proxy in the database subnets. Configure the Lambda function to run in the private subnets of the VPC across multiple Availability Zones, and configure VPC endpoints for AWS Secrets Manager and KMS. Store the database credentials in AWS Secrets Manager, encrypted with a customer-managed KMS key, and allow the Lambda function to use unreserved concurrency to handle scaling during promotional spikes.