[英]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.