代码之家  ›  专栏  ›  技术社区  ›  BENBUN Coder

Lambda访问Postgres(RDS)超时

  •  0
  • BENBUN Coder  · 技术社区  · 2 年前

    我有一个lambda,它正试图连接到RDS(Postgres)数据库。此操作当前失败,出现超时错误。

    我在SO上读了很多问题,但我被网络设置弄糊涂了(我不是网络人)。

    因此,我目前拥有的是:

    Postgress数据库运行

    • VPC=VPC-######36ad2f342781
    • VPC安全组=sg-#####17956464c22a

    lambda具有以下内容

    • VPC=VPC-######36ad2f342781
    • VPC安全组=sg-#####17956464c22a

    安全组具有以下规则 enter image description here enter image description here

    CloudWatch错误为 enter image description here

    感谢任何帮助。。。

    1 回复  |  直到 2 年前
        1
  •  3
  •   Mark B    2 年前

    您的安全组当前正在阻止从Lambda功能到RDS服务器的网络流量。简单地将它们添加到同一个安全组不会有任何效果,而且实际上是一种糟糕的做法。很多人错误地认为同一安全组中的事物可以自动相互通信,但事实并非如此。

    您需要为Lambda函数创建一个单独的安全组,没有任何入站规则,并且使用允许所有出站流量的默认出站规则。然后,您需要在RDS服务器的安全组中添加一个入站规则,该规则允许端口上的入站流量 5342 ,源是分配给Lambda函数的安全组的ID。