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

VPC内AWS Lambda连接SQS超时求助(已配置互联网访问)

排查VPC内Lambda调用公共SQS超时的建议
  • 检查安全组出站规则:确认Lambda关联的安全组出站规则允许HTTPS(443端口)访问SQS服务所在的IP范围。可临时设置出站规则允许所有0.0.0.0/0的443流量测试,若恢复正常,再根据AWS官方IP地址范围,添加对应区域SQS服务的IP段到安全组。

  • 验证网络ACL配置:网络ACL是无状态的,需确保Lambda所在子网的出站ACL允许443端口流量,同时入站ACL允许NAT网关返回的临时端口(通常为1024-65535)流量。若ACL限制了返回端口,会导致TCP连接无法完成三次握手,最终引发超时。

  • 确认SQS与Lambda的区域一致性:跨区域调用SQS可能因网络路由或延迟导致超时,检查预生产环境中Lambda和SQS是否处于同一AWS区域,避免跨区域调用。

  • 核对Lambda执行角色权限:尽管测试环境权限正常,仍需确认预生产环境的Lambda角色策略中,sqs:SendMessage权限的资源是否为目标SQS队列的正确ARN(注意区域、账户ID、队列名称是否匹配)。部分场景下,资源配置错误可能导致连接被阻断,表现为超时而非权限拒绝。

  • 在子网内抓包分析流量:在Lambda所在子网启动一台同安全组的EC2实例,执行tcpdump -i any host <SQS公共端点IP> and port 443,触发Lambda调用SQS后观察抓包结果:

    • 若无SYN包发出:检查Lambda子网路由表是否指向NAT网关
    • 有SYN包但无SYN-ACK响应:排查NAT网关到互联网的路由或SQS端点可达性
    • 有SYN-ACK但未完成SSL握手:排查SSL证书或中间代理问题
  • 检查NAT网关状态与路由:确认NAT网关处于Available状态,Lambda所在子网的路由表默认路由(0.0.0.0/0)指向该NAT网关;同时NAT网关所在子网的路由表需有指向互联网网关(IGW)的默认路由,确保NAT能正常转发流量。

  • 正确使用AWS Reachability Analyzer:

    1. 通过nslookup <SQS公共URL>获取目标SQS的IP地址
    2. 在Reachability Analyzer中创建路径分析:
      • 源选择Lambda所在子网的弹性网络接口(ENI)
      • 目标选择“IP address”,填入SQS的IP地址,端口指定443
    3. 运行分析后,根据结果定位网络链路中的阻断点(如安全组、ACL、路由表问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:06:27