RDS无法访问互联网,与Lambda相同的VPC。我可以在同一个VPC中从EC2连接到RDS。我尝试建立从Lambda到RDS 成功的套接字连接:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print(s.connect(('xxx.cmebgbnbfkax.eu-west-1.rds.amazonaws.com', 5432)))
在日志中我看到None
所以连接成功,但我通过psycopg2连接超时:
psycopg2.connect(
host='xxx.cmebgbnbfkax.eu-west-1.rds.amazonaws.com',
dbname=<my db name>,
user=<my usernamr>,
password=<my password>)
我在Lambda上设置了最大超时--60秒。安全组允许访问端口5432.据我所知,如果我可以建立与数据库的套接字连接 - 这意味着所有关于网络的偏好都可以吗?那么哪里可以成为一个问题?
答案 0 :(得分:0)
我的解决方案:我迁移到DynamoDB - 现在我不需要在具有静态链接库的部署档案中编译psycopg2
。