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

Lambda与EC2内网连通性问题排查求助

排查VPC内Lambda调用EC2 HTTPS超时问题的方法

以下是针对性的排查步骤,从服务端到网络层逐步验证:

  • 验证EC2端服务可用性

    • 在EC2实例本地执行curl -I localhost:443(替换为实际HTTPS端口),确认服务正常监听并返回HTTP响应头,排除服务未启动、端口未绑定的问题。
    • 查看EC2上的应用日志(如Nginx/Apache的access.log/error.log,或自定义应用日志),检查是否有来自Lambda ENI IP的请求记录:
      • 无记录:说明请求未到达EC2,重点排查网络链路;
      • 有错误记录:根据日志提示修复应用层问题(如TLS握手失败、路由匹配错误)。
  • 核对Lambda网络配置细节

    • 检查Lambda所在子网的路由表:确认存在指向VPC本地CIDR的路由(目标为local),确保请求不会被错误路由到外部网络。
    • 确认Lambda关联的ENI状态:在EC2控制台的「网络接口」中,筛选描述含lambda.amazonaws.com的ENI,检查其私有IP是否在子网范围内、状态为in-use。
    • 查看Lambda的CloudWatch日志:搜索是否有DNS解析错误(如getaddrinfo ENOTFOUND),若调用EC2用的是域名,需确认VPC DNS配置(启用VPC DNS、自定义DNS服务器)能正确解析私有域名;用IP调用则跳过此步。
  • 抓包分析流量走向

    • 在EC2实例上执行tcpdump -i any port 443 -w ec2_https.pcap,触发Lambda调用后停止抓包,用tcpdump -r ec2_https.pcap分析:
      • 若未发现来自Lambda ENI IP的SYN包:说明请求未到达EC2,需排查Lambda子网路由、NACL或安全组;
      • 若有SYN包但无SYN-ACK响应:检查EC2的安全组入站规则、本地防火墙(如iptables);
      • 若TLS握手中断:重点排查TLS版本兼容性、证书配置。
    • 若EC2抓不到包,可启用VPC流量镜像,对Lambda所在子网的流量进行捕获,确认请求是否从Lambda正常发出。
  • 细粒度检查安全组与NACL

    • 安全组:即使共用安全组,仍需确认入站规则允许Lambda ENI的IP段或整个VPC CIDR访问443端口(安全组为状态化,无需单独配置出站响应规则,但需确保入站规则未限制特定IP)。
    • 网络ACL(NACL):NACL为无状态,需同时确认:
      • 入站规则允许443端口的流量;
      • 出站规则允许Ephemeral端口(通常1024-65535)的响应流量返回Lambda。
  • 验证TLS/SSL兼容性

    • 在Lambda代码中添加调试逻辑,捕获HTTPS请求的具体错误(如Pythonrequests库捕获SSLError,Node.jshttps模块监听error事件),确认是否为TLS版本不兼容、证书不信任等问题。
    • 临时改用HTTP调用EC2(若业务允许),若请求成功则定位为TLS层面问题,需调整Lambda运行时的TLS配置或EC2的HTTPS服务配置。
  • 检查EC2实例资源与系统状态

    • 通过CloudWatch Metrics或EC2本地执行top/htop,检查CPU、内存、磁盘使用率,排除因资源耗尽导致服务无法处理请求的情况。
    • 查看EC2系统日志(控制台「实例」→「监控」→「获取系统日志」),排查是否有网卡故障、iptables规则异常等系统层面的网络问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:16:22