An automotive company is modernizing its vehicle telematics ingestion pipeline by migrating a legacy on-premises system to AWS. The new architecture must ingest telemetry payloads from over active vehicles, resulting in sudden traffic bursts of up to requests per second. The telemetry data must be processed and stored in an Amazon Aurora PostgreSQL database cluster deployed in a private subnet. Additionally, the processing components must securely perform outbound API calls to an external third-party service for real-time fleet health checks, and this outbound path must be highly available. The modernization must ensure that the database is protected from connection exhaustion, that telemetry data is not dropped during traffic bursts, and that the ingestion workload does not exhaust the regional AWS Lambda concurrency pool of the AWS account.
Which architectural design meets these requirements while maximizing reliability and performance efficiency?
- Configure Amazon API Gateway with an AWS service integration to publish incoming telemetry payloads directly to an Amazon SQS queue. Configure the Lambda function to be triggered by the SQS queue, and set the maximum concurrency on the SQS event source mapping to limit the number of concurrent executions. Deploy the Lambda function in private subnets across multiple Availability Zones, routing outbound internet traffic through a dedicated NAT Gateway in each Availability Zone. Configure the Lambda function to connect to the Aurora PostgreSQL database through an Amazon RDS Proxy.Cevap
- BConfigure Amazon API Gateway to directly invoke the Lambda function synchronously. Set a reserved concurrency limit on the Lambda function to prevent it from exhausting the regional pool. Deploy the Lambda function in a single private subnet with a single NAT Gateway to manage outbound traffic to the fleet-health service. Configure the Lambda function to establish direct connections to the Aurora PostgreSQL database, relying on an in-memory connection pooling library within the function code.
- CConfigure Amazon API Gateway with a regional endpoint that directly invokes the Lambda function. Configure the Lambda function to run in private subnets across multiple Availability Zones with outbound traffic routed through a single NAT Gateway. Have the Lambda function connect to the database via an Amazon RDS Proxy. Do not set any concurrency limits on the Lambda function, allowing it to scale dynamically to handle the telemetry bursts and minimize latency.
- DConfigure Amazon API Gateway to invoke the Lambda function asynchronously using the Event invocation type. Configure the Lambda function to decrypt database credentials using the default AWS-managed KMS key. Deploy the Lambda function in private subnets across multiple Availability Zones, routing outbound internet traffic through a single NAT Gateway. Have the Lambda function connect directly to the Aurora PostgreSQL database, adjusting the database max_connections parameter to match the peak concurrent Lambda executions.