Amazon web services 使用VPC对等对Lambda到RDS连接进行故障排除

Amazon web services 使用VPC对等对Lambda到RDS连接进行故障排除,amazon-web-services,aws-lambda,amazon-vpc,aws-vpc-peering,Amazon Web Services,Aws Lambda,Amazon Vpc,Aws Vpc Peering,我的AWS Lambda函数在连接到另一个VPC中的RDS实例时超时。专有网络被监视 我检查过的东西: Lambda位于正确的VPC内 RDS在另一个VPC内 RDS存在于对等的子网中 VPC对等已“接受” Lambda安全组对RDS安全组的正确端口(5432)具有进入权限 Lambda安全组对任何端口上的任何位置都有出口权限 从Lambda VPC子网到对等网络存在路由表条目 存在从RDS VPC子网到对等网络的路由表条目 我还可以检查/利用什么来解决此连接问题 更新 两个VPC都启用

我的AWS Lambda函数在连接到另一个VPC中的RDS实例时超时。专有网络被监视

我检查过的东西:

  • Lambda位于正确的VPC内
  • RDS在另一个VPC内
  • RDS存在于对等的子网中
  • VPC对等已“接受”
  • Lambda安全组对RDS安全组的正确端口(
    5432
    )具有进入权限
  • Lambda安全组对任何端口上的任何位置都有出口权限
  • 从Lambda VPC子网到对等网络存在路由表条目
  • 存在从RDS VPC子网到对等网络的路由表条目
我还可以检查/利用什么来解决此连接问题


更新

  • 两个VPC都启用了DNS主机名和DNS解析

更新

我尝试了以下方法:

  • 在与Lambda相同的子网上创建EC2实例
  • 将lambda SG分配给EC2
  • SSH连接到EC2
  • telnet
    到RDS:
这样EC2就可以连接了。因此,问题必须与lambda有关

接下来我可以尝试什么?

在我的情况下(可能也是你的情况下?)问题是查询超时,而不是连接尝试。您可以通过将查询更改为
select1asx
或类似方式来测试这一点。解决方案是优化查询,使其能够在合理的时间内运行


启动与Lambda设置相似的EC2并通过SSH连接的技巧是很好的。

两个VPC都在同一个区域或不同的区域?两个VPC都在同一个区域我不知道“引用两个安全组”是什么意思,但有一个SG规则允许从Lambda SG进入RDS sgOk。要准确识别问题,请提供有关配置的更多信息。如果可能,共享sg组和路线表的屏幕截图。您还可以尝试在同一子网(Lambda的同一子网)中启动一个EC2实例。将Lambda安全组用于EC2。从EC2、telnet到端口5432上的RDS。如果telnet正在工作,那么您可以确保VPC对等正在工作,然后问题可能出在Lambda身上。@JyothishKumarS感谢您的建议。可以确认问题是否与lambda有关
telnet rds.xxxxxxxxxx.eu-west-2.rds.amazonaws.com 5432
Trying 10.11.65.225...
Connected to rds.xxxxxxxxxx.eu-west-2.rds.amazonaws.com.
Escape character is '^]'.
^CConnection closed by foreign host.