A company is modernizing a legacy, highly secure internal customer service API and migrating it to a serverless architecture on AWS. The system must meet the following requirements:
* The API must be accessible only from the company's on-premises network (connected via AWS Direct Connect) and specific consumer VPCs in other AWS accounts; it must never be exposed to the public internet.
* The backend logic runs in AWS Lambda, which needs to retrieve data from an Amazon RDS PostgreSQL database located in a private subnet. The database has strict connection limits.
* The architecture must be highly available across multiple Availability Zones, and outbound internet traffic from the Lambda functions (for third-party API verification) must be resilient to Availability Zone failures.
* Updating the Lambda functions must support canary releases with automated rollback based on synthetic test failures.
* High-volume traffic bursts must not allow the database-querying function to exhaust the regional execution pool of the AWS account, which hosts other critical business workloads.
Which combination of actions should the solutions architect take to meet these requirements? (Select THREE.)
- Create a private Amazon API Gateway API with interface VPC endpoints. Apply an API Gateway resource policy that restricts access to the VPC endpoints of the consumer VPCs and the corporate Direct Connect gateway.Cevap
- Deploy the Lambda functions within private subnets across multiple Availability Zones, and configure route tables to route outbound internet traffic through a dedicated NAT Gateway in each Availability Zone. Deploy an Amazon RDS Proxy in the same private subnets to manage database connection pooling.Cevap
- Configure a reserved concurrency limit on the database-querying Lambda function. Use AWS CodeDeploy to manage deployments using a canary release configuration, and set up CloudWatch alarms on function errors to trigger automated rollbacks.Cevap
- DRoute all outbound Lambda traffic through a single NAT Gateway located in a central egress VPC to minimize NAT charges. Set provisioned concurrency on all Lambda functions to pre-warm execution environments and mitigate cold starts during traffic spikes.
- EDeploy a public API Gateway endpoint and authenticate incoming requests using a custom Lambda Authorizer. Encrypt data payloads using the AWS-managed KMS key for Lambda (aws/lambda) and configure CodeDeploy to perform linear updates with manual rollbacks.
- FAllow the database-querying Lambda functions to run with default unreserved concurrency to maximize scaling throughput under burst conditions. Set up an Auto Scaling group of EC2 instances running HAProxy to handle database connection pooling instead of serverless proxies.