Check ID: awslambda_function_vpc_multi_az
Provider: AWS
Service: awslambda
Severity: MEDIUM
Categories: resilience
Resource type: AwsLambdaFunction

What this check verifies

AWS Lambda functions attached to a VPC use subnets that span at least the required number of Availability Zones (2 by default). The evaluation counts the unique AZs of the function’s configured subnets.

Risk

Single-AZ placement limits availability. An AZ outage or subnet/IP exhaustion can block ENI creation and VPC access, causing failed invocations, timeouts, and event backlogs. This degrades uptime and can delay processing of critical events.

Recommendation

Distribute VPC-connected functions across subnets in 2 distinct AZs to ensure fault tolerance.
  • Choose subnets from different AZs
  • Avoid AZ-pinned configs or fixed IPs
  • Provide per-AZ egress/endpoints and routing
  • Regularly test AZ failover Aligns with resilience and defense in depth.

Remediation

aws lambda update-function-configuration --function-name <example_resource_name> --vpc-config SubnetIds=<subnet_id_az1>,<subnet_id_az2>,SecurityGroupIds=<example_security_group_id>

References

Where this check fires

This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable by Check ID = awslambda_function_vpc_multi_az. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks