无法从AWS Lambda连接到RDS Postgres但可以建立套接字连接

时间:2017-06-22 14:38:57

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

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.据我所知,如果我可以建立与数据库的套接字连接 - 这意味着所有关于网络的偏好都可以吗?那么哪里可以成为一个问题?

1 个答案:

答案 0 :(得分:0)

我的解决方案:我迁移到DynamoDB - 现在我不需要在具有静态链接库的部署档案中编译psycopg2