A logistics enterprise is refactoring its legacy package tracking and routing service into a serverless architecture on AWS. The application will receive high-volume, bursty updates via Amazon API Gateway, which triggers an AWS Lambda function. This function must query and update shipment status in an Amazon Aurora PostgreSQL database deployed within private subnets of a VPC. The Lambda function also needs to connect to an external third-party traffic routing API via the public internet to calculate delivery times. The solution must ensure high availability, scale efficiently under load without exhausting database connection pools, and secure outbound internet access. Which TWO actions should a Solutions Architect take to design a solution that meets these requirements?
- Deploy an Amazon RDS Proxy in the private subnets of the VPC to manage the database connection pooling, and configure the Lambda function to connect to the database via the proxy endpoint.Answer
- Deploy redundant NAT Gateways across multiple Availability Zones in the public subnets, and configure the route tables of the Lambda function's private subnets to route internet-bound traffic through them.Answer
- CDeploy a single NAT Gateway in one public subnet, and configure the route tables of the Lambda function's private subnets across all Availability Zones to route outbound internet traffic through this gateway.
- DUse the default AWS-managed KMS key (aws/secretsmanager) to encrypt the database credentials in AWS Secrets Manager, and grant the Lambda execution role cross-account permissions to read and decrypt with this key.
- EAllow the Lambda function to scale dynamically without setting any reserved concurrency limits to guarantee that all bursty shipment updates are processed with zero latency.
- FConfigure a basic rolling deployment strategy in AWS CloudFormation to update the Lambda function, relying on manual monitoring instead of automated CloudWatch alarm rollbacks to reduce deployment overhead.