同区域同账号VPC对等连接下Lambda无法访问RDS求助
跨VPC Lambda访问RDS超时排查建议
以下是针对当前问题的具体排查步骤,按优先级排序:
1. 确认VPC对等连接状态
确保peering_cxn的状态为活跃(Active)。如果处于待接受(Pending Acceptance)状态,需登录接受方账户完成确认。
2. 全面验证路由表配置
- 检查Lambda_VPC中所有Lambda所在子网的路由表,确认已添加指向RDS_VPC CIDR(
10.0.0.0/16)的路由,目标为peering_cxn - 检查RDS_VPC中所有RDS所在子网的路由表,确认已添加指向Lambda_VPC CIDR的路由,目标为
peering_cxn - 注意:仅给部分子网配置路由会导致流量随机失败,必须覆盖所有涉及的子网
3. 检查安全组双向规则
- Lambda_SG出站规则:确认允许向
10.0.0.0/16(RDS_VPC CIDR)的8192端口发起TCP请求(自定义SG默认可能限制出站流量) - RDS_SG出站规则:允许向Lambda_VPC CIDR返回TCP流量(可配置为允许所有出站,或限定Lambda_VPC的CIDR范围)
- 补充:RDS_SG的入站规则已配置Lambda_SG允许8192端口,需确认Lambda_SG的ID关联正确
4. 验证子网NACL配置
NACL是无状态防火墙,需双向配置规则:
- Lambda_VPC子网NACL:
- 出站规则:允许
TCP 8192到10.0.0.0/16 - 入站规则:允许
TCP 1024-65535(动态返回端口)来自10.0.0.0/16
- 出站规则:允许
- RDS_VPC子网NACL:
- 入站规则:允许
TCP 8192来自Lambda_VPC的CIDR - 出站规则:允许
TCP 1024-65535到Lambda_VPC的CIDR
- 入站规则:允许
- 确保这些规则的优先级高于默认拒绝规则(比如设置规则编号为100)
5. 确认VPC DNS完整配置
两个VPC必须同时开启:
- 启用DNS主机名(Enable DNS hostnames)
- 启用DNS解析(Enable DNS resolution)
仅开启解析可能导致内网域名无法正确映射到私有IP
6. 直连RDS私有IP测试
在Lambda_VPC的EC2上执行:
telnet 10.0.41.180 8192
如果仍超时,说明DNS解析无问题,问题出在网络连通性而非域名解析
7. 检查Lambda子网覆盖
确认Lambda部署的所有子网都已配置对等路由。如果Lambda仅部分子网有路由,调度到无路由的子网时会触发超时
8. 验证VPC CIDR无重叠
确认Lambda_VPC的CIDR与RDS_VPC的10.0.0.0/16无重叠,CIDR重叠会导致对等连接路由冲突
内容的提问来源于stack exchange,提问作者Fisher Coder
相关产品推荐
相关产品推荐

