A media broadcasting company is modernizing its user subscription metadata API by refactoring a legacy application into a serverless architecture on AWS. The new system will use Amazon API Gateway and AWS Lambda to query an Amazon RDS PostgreSQL database. The database resides in private VPC subnets. The Lambda function must also make outbound HTTPS calls to an external partner's payment gateway. The migration has the following requirements:
* The database must be protected against connection exhaustion during high-traffic broadcast events.
* High availability must be maintained for all outbound external payments API calls.
* The subscription API function must not impact other critical serverless workloads in the same AWS account by exhausting the regional concurrency limit during peak events.
* All environment variables containing sensitive database credentials must be encrypted using an AWS KMS key that supports custom key policies for auditing by an external security team's AWS account.
Which configuration should a Solutions Architect recommend?
- ADeploy Amazon RDS Proxy in the database VPC to manage connection pooling. Configure the Lambda function to run inside the VPC's private subnets, and deploy NAT Gateways in multiple Availability Zones. Configure Provisioned Concurrency for the Lambda function without setting a Reserved Concurrency limit, and encrypt environment variables using a Customer Managed Key with a key policy allowing cross-account access.
- Deploy Amazon RDS Proxy in the database VPC to manage connection pooling. Configure the Lambda function to run inside the VPC's private subnets, and deploy NAT Gateways in multiple Availability Zones to provide redundant outbound paths for external payment calls. Configure Reserved Concurrency for the Lambda function, and encrypt environment variables using a Customer Managed Key with a key policy that allows cross-account read access to the auditing team.Answer
- CDeploy Amazon RDS Proxy in the database VPC to manage connection pooling. Configure the Lambda function to run inside the VPC's private subnets, and deploy a single NAT Gateway in a public subnet to route outbound payment calls to the internet. Configure Reserved Concurrency for the Lambda function, and encrypt environment variables using a Customer Managed Key with a key policy that allows cross-account access.
- DDeploy Amazon RDS Proxy in the database VPC to manage connection pooling. Configure the Lambda function to run inside the VPC's private subnets, and deploy NAT Gateways in multiple Availability Zones. Configure Reserved Concurrency for the Lambda function, and encrypt environment variables using the default AWS-managed KMS key (aws/lambda) while adding the auditing team's AWS account role to the key policy.