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

同账号跨VPC环境下Lambda连接RDS超时问题求助

排查Lambda跨VPC连接RDS超时问题

以下是针对该问题的具体排查步骤:

1. 安全组双向规则检查

  • Lambda侧安全组:确保出向规则允许TCP端口8192访问RDS所在VPC的CIDR(10.0.0.0/16)
  • RDS侧安全组:确保入向规则允许来自Lambda所在VPC的CIDR(10.1.0.0/16)的TCP端口8192流量
  • 注意:跨VPC对等连接需要双方安全组都配置正确的出入规则,不能仅配置单边

2. 子网路由表验证

  • Lambda所在子网的路由表:确认存在路由条目,目标地址为10.0.0.0/16,目标指向VPC对等连接的ID
  • RDS所在子网的路由表:确认存在路由条目,目标地址为10.1.0.0/16,目标指向VPC对等连接的ID
  • 务必确认这些路由表已关联到Lambda使用的子网和RDS部署的子网

3. DNS解析与端点正确性验证

  • 在Lambda代码中添加DNS解析测试,验证是否能正确解析RDS端点:
    import socket
    logger.info(f"Resolving RDS endpoint {endpoint}: {socket.gethostbyname(endpoint)}")
    
    如果解析失败,需确认:
    • RDS使用的是私有DNS端点(本地可能用公网端点,但Lambda在VPC内必须用私有端点)
    • 两个VPC均已启用启用DNS主机名和启用DNS解析选项
    • VPC对等连接的DNS解析已启用

4. 网络ACL配置检查

网络ACL是无状态的,需双向配置:

  • Lambda子网的网络ACL:
    • 出向规则:允许TCP8192端口到10.0.0.0/16的流量,同时允许Ephemeral端口(通常1024-65535)的响应流量
    • 入向规则:允许Ephemeral端口的响应流量
  • RDS子网的网络ACL:
    • 入向规则:允许来自10.1.0.0/16的TCP8192端口流量
    • 出向规则:允许Ephemeral端口的响应流量

5. Lambda代码与超时配置调整

  • 临时将Lambda的超时时间调整为120秒,确认是否是连接超时导致(当前60秒可能不足以完成跨VPC连接握手)
  • 检查代码中token的加载逻辑,确认用户名密码是否正确(可添加日志输出token['username'],禁止输出密码)
  • 将异常捕获的logger.info改为logger.error,确保连接失败的异常信息能被记录(当前超时可能导致异常未被触发,需先确认连接请求是否能到达RDS)

6. VPC对等连接状态确认

  • 检查VPC对等连接状态为已接受(同一账号下创建通常自动接受,但需确认无异常)
  • 确认两个VPC的CIDR无重叠(当前10.0.0.0/16与10.1.0.0/16无重叠,此点排除)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:05:32