RDS数据库详细信息:
我有一个可公开访问的RDS数据库,该数据库仅限于访问特定的IP地址。
RDS有两个安全小组附属于RDS:
注意:我知道我只需要为这个目的保留一个安全小组。
这个RDS数据库具有默认的VPC和3个公共子网。所有这些子网在路由表中都有两条路线:
local
Lambda函数详细信息:
我有一个lambda函数,它没有配置任何vpc。
我正在尝试从lambda函数中的代码访问RDS数据库。因为lambda没有任何特定的IP地址,所以我无法在RDS的安全组中添加入站规则来允许它。当我简单地在RDS的安全组中添加入站规则以允许来自所有is的访问时,我的lambda函数代码就能够连接到RDS数据库并使用它。
我不希望我的RDS数据库被允许从互联网上的任何地方访问,我需要做什么样的配置/设置才能从lambda访问RDS。
我还尝试将lambda函数配置为与RDS实例相同的vpc和相同的子网;但是,我没有成功地连接到RDS数据库。
发布于 2021-10-02 09:02:51
在这种情况下,最好对lambda使用与RDS实例相同的VPC。这更便宜,更安全。你不需要设置一个互联网网关和弹性IP。而且您只能从VPC中访问RDS实例。
您可以使用Lambda管理控制台启用此功能。选择需要访问RDS实例的Lambda函数,然后转到Configuration ->高级设置,并选择VPC (这是您的RDS实例所在),您需要它来访问。
对于附加到同一个安全组的实例--使安全组成为入站规则的源和出站规则的目的地。
对于不同安全组中的实例,请确保两个安全组都允许彼此访问。
如果仍然不能工作,请检查在设置RDS连接时返回的错误消息。超时意味着网络出现问题。
在这里可以找到更多的https://aws.amazon.com/premiumsupport/knowledge-center/connect-lambda-to-an-rds-instance/
https://stackoverflow.com/questions/69415388
复制相似问题