连接AWS Lambda和RDS数据库时超时

时间:2019-04-20 04:31:10

标签: amazon-web-services aws-lambda amazon-rds

我有一个简单的.Net core 2.1 Web应用程序,已将其部署到AWS lambda。该应用程序与RDS PostGres数据库对话。该Web应用程序能够从我的本地机器连接到RDS PostGres数据库,但是同一应用程序在生产环境中连接到RDS数据库超时。

我想念什么?

ASP.Net 2.1 Lambda配置::lambda具有执行角色,该角色具有对所有RDS资源拥有所有权利的策略。 enter image description here enter image description here

IAM: enter image description here

RDS =>“连接和安全”标签: enter image description here enter image description here

CloudWatch日志:单击lambda函数=>“监视”选项卡=>在cloudwatch日志中查看日志会显示以下错误: enter image description here

1 个答案:

答案 0 :(得分:2)

因此,似乎您的RDS的安全组仅允许来自1个特定IP(76.187.198.247)的入站连接。

这仅在您的lambda位于与弹性IP关联的子网(不是)中并且弹性IP是RDS安全组的入站地址的情况下才有效。

Lambda未绑定到特定的硬件,并且IP每次都会更改,因此您将阻止与SG的入站连接。

但是,在这种情况下,这种弹性IP是不必要的成本,有一种更好的方法:

1)创建一个将在其中初始化lambda的子网, 2),然后在Lambda设置中选择要启动到VPC(与RDS实例相同)的计算机,然后 3)选择那些子网(如果发生AZ中断,最佳做法是> 2) 4)更改RDS安全组设置,以允许来自子网lambda启动的入站流量进入