簡體   English   中英

在AWS Lambda中連接AWS RDS(psql)

[英]Connect AWS RDS (psql) in AWS Lambda

我在python中編寫了一個簡單的lambda函數,以從AWS RDS中獲取一些數據。 PostgreSQL是數據庫引擎。

conn = psycopg2.connect(host=hostname, user=username, password=password, dbname=db_name,  connect_timeout=50)

我確實喜歡這個 但這沒有用。 總是返回這樣的錯誤

響應:{“ errorMessage”:“ 2018-06-06T11:28:53.775Z任務在3.00秒后超時”}

我該如何解決?

這很可能是超時,因為無法建立網絡連接。

如果你想通過公共IP地址連接到數據庫,那么你的lambda函數應該被連接到VPC。 相反,連接將通過互聯網從Lambda進入VPC,再到Amazon RDS實例。

如果您希望通過私有IP地址連接到數據庫,則應將Lambda函數配置為使用與Amazon RDS實例相同的VPC。

在這兩種情況下,都應使用RDS實例的DNS名稱建立連接,但是在VPC的內部和外部解析方式會有所不同。

最后,與Amazon RDS實例關聯的安全組需要允許傳入連接。 這也將根據請求來自公共空間還是私人空間而有所不同。 您可以通過將安全組打開到0.0.0.0/0進行測試,如果可行,請嘗試將其限制在最小范圍內。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM