You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda调用EC2实例API超时问题排查求助

Lambda调用同VPC内EC2 API超时的排查点

1. 子网路由表配置错误

  • 如果你给Lambda用的是私有子网,先确认子网路由表里有没有指向VPC内网的路由(目标是VPC的CIDR段,比如10.0.0.0/16,下一跳选local)。要是没这条路由,Lambda根本找不到同VPC里的EC2,直接超时。
  • 要是用的公有子网,别让路由表把内网流量导去IGW,优先走local路由,不然绕公网肯定慢到超时。

2. EC2安全组出站规则没放开

  • 别光盯着EC2的入站规则,Lambda发请求过去,EC2得能把响应发回来才行。如果EC2安全组的出站规则没允许回Lambda安全组的流量(或者至少允许内网回包),响应卡着发不回去,Lambda就一直等超时。

3. Lambda用了EC2的公网地址调用

  • 你本地访问用的是EC2公网IP/域名,但Lambda在VPC里得用EC2的私有IP调用。要是代码里写的是公网地址,而子网没配NAT网关,Lambda出不了公网,直接超时。
  • 顺便检查下EC2的私有IP有没有写错,或者VPC DNS能不能正确解析EC2的私有域名。

4. Lambda执行角色权限不够

  • 同VPC通信虽然不需要额外的API权限,但Lambda要在VPC里创建弹性网卡(ENI),得有对应的权限。检查执行角色有没有附AWSLambdaVPCAccessExecutionRole这个托管策略,或者有没有ec2:CreateNetworkInterface、ec2:DeleteNetworkInterface这类权限。没权限的话,Lambda连网卡都创建不了,没法通信。

5. EC2上的API没监听内网地址

  • 登录EC2执行netstat -tulpn看看API服务的监听地址,要是只监听公网IP(比如13.xx.xx.xx),那用私有IP访问的Lambda根本连不上,自然超时。得把API改成监听0.0.0.0或者私有IP。

6. Lambda超时时间设得太短

  • 看看Lambda的超时时间是不是默认的3秒,要是你的API处理请求需要更长时间,直接就触发超时了。先临时调大到10秒试试,能成功的话再改回合适的时间。

7. 子网可用IP不够

  • Lambda在VPC里运行要占子网的IP资源创建ENI,要是子网可用IP剩得不多,创建不了ENI,Lambda没法正常启动,表现就是超时。去VPC控制台子网页面看看可用IP数量。

内容的提问来源于stack exchange,提问作者karki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:48:21