当我试图连接到我的RDS Postgresql DB时,我得到以下输出
{
"errorMessage": "2022-01-07T13:28:35.428Z 975a92cd-936c-4d1c-8c23-6318cd609bff Task timed out after 10.01 seconds"
}
数据库设置为公共访问。
Lambda psycopg2连接代码
connection = psycopg2.connect(user=user,
password=password,
host=host,
port=port,
database=database)
print(connection)
<connection object at 0x7ff7eb854b90; dsn: 'user=db_user password=db_password dbname=db_name host=rds_host port=5432', closed: 0>
RDS_LAMBDA_SECURITY_GROUP入站
VPC路由表路由
此外,所有子网都与路由表相关联。
Lambda_Role权限
VPC日志
许多被拒绝的连接,不确定是否安全地在这里张贴打印。有时,连接到数据库的状态是可接受的,但也有几个连接的状态被拒绝。
知道为什么我仍然不能连接到我的数据库吗?
发布于 2022-01-18 23:22:58
我将lamba更改为nodejs,然后遵循与this question完全相同的步骤,然后使它能够工作。我相信这个错误与一个没有NAT的公共子网有关。
发布于 2022-01-11 10:22:28
RDS安全组中的Whitelist lambda安全组允许来自Lambda的入站访问。(在带有RDS端口的RDS入站规则中添加Lambda SG作为源SG )
这是必需的,除了让lambda运行在同一个VPC或在不同VPC中进行窥视。
发布于 2022-01-17 13:51:21
前几周我有这个问题。将lambda函数和RDS放在同一个VPC中,具有相同的安全组和子网。继续到RDS Connectivity & security选项卡。
端点是放入psycopg2
中的主机。
这对我来说很管用,我在psycopg2
引擎中使用了psycopg2
。
https://stackoverflow.com/questions/70622018
复制相似问题