配置Egress-Only Internet Gateway后AWS Lambda访问互联网超时排查
Lambda通过Egress-Only Internet Gateway访问外网超时的配置排查
问题场景
Lambda执行以下代码时持续超时,目标是通过Egress-Only Internet Gateway(EIGW)访问互联网,需要排查VPC相关配置问题:
exports.handler = async function(event, context) { const response = await fetch("https://www.google.com/"); console.log(response); return response; };
当前配置信息
VPC
- IPv6 CIDR(网络边界组):2406:da1c:697:400::/56(ap-southeast-2区域)
- IPv4 CIDR:10.4.0.0/16
私有子网
- IPv6 CIDR:2406:da1c:697:42c::/64
- IPv4 CIDR:10.4.48.0/20
私有子网路由表
- 10.4.0.0/16 → local
- 2406:da1c:697:400::/56 → local
- ::/0 → eigw-01a19162a848f3cef(Egress-Only Internet Gateway)
网络ACL(入站/出站规则)
- 规则100:允许所有IPv4流量(0.0.0.0/0)
- 规则101:允许所有IPv6流量(::/0)
Lambda安全组
- 入站规则:仅允许来自10.4.0.0/16的IPv4自定义TCP流量(端口0)
- 出站规则:
- 允许所有IPv6流量(::/0)
- 允许所有IPv4流量(0.0.0.0/0)
核心问题排查点
Egress-Only Internet Gateway仅处理IPv6出站流量,你的配置存在几个关键疑点:
Lambda未分配IPv6地址
检查私有子网的「自动分配IPv6地址」是否开启:如果该选项未勾选,Lambda只会获得IPv4地址,而你的私有子网没有配置NAT网关处理IPv4出站流量,同时EIGW不支持IPv4,导致所有外网请求无有效出口,最终超时。目标域名无IPv6解析
www.google.com在部分区域可能没有AAAA记录(IPv6解析记录),如果Lambda用IPv6发起请求却无法解析到目标IPv6地址,会直接超时。可以通过本地工具(dig AAAA www.google.com或nslookup -type=AAAA www.google.com)验证目标域名的IPv6解析情况。子网与路由表关联失效
确认当前私有子网是否实际关联了你配置的那张路由表——如果子网没绑定正确的路由表,IPv6默认路由(::/0指向EIGW)不会生效,流量无法导向EIGW。额外验证步骤
- 查看CloudWatch日志,确认是否有DNS解析失败、连接超时的具体报错信息;
- 在同子网启动一台开启IPv6的EC2实例,测试访问
https://www.google.com/,排查是Lambda配置问题还是VPC网络本身的问题; - 确认Lambda执行角色已关联
AWSLambdaVPCAccessExecutionRole权限(创建VPC Lambda时默认添加,若手动修改过需检查)。
内容的提问来源于stack exchange,提问作者rolele
相关产品推荐
相关产品推荐

