2017-06-22 182 views
0

RDS無法訪問互聯網,與Lambda具有相同的VPC。我可以在同一VPC中從EC2連接到RDS。我試圖建立從LAMBDA到RDS 成功套接字連接:無法從AWS Lambda連接到RDS Postgres,但可以建立套接字連接

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

@ Michael-sqlbot因爲錯誤的連接將通過'ConnectionRefusedError' –

回答

0

我的解決方案:我已遷移到DynamoDB - 現在我不需要編譯psycopg2在靜態鏈接庫的部署存檔中。