您需要將本地公網IP添加到RDS執行個體白名單,才能遠端連線RDS PostgreSQL。如果填寫的本地公網IP錯誤,則會串連失敗。
問題描述
將本地裝置的公網IP地址添加到RDS白名單後,無法訪問RDS執行個體,而其他裝置可以訪問該RDS執行個體。且將RDS白名單設定為公司的網段或者0.0.0.0/0
後,本地裝置也可以訪問RDS執行個體。
問題原因
添加到白名單的本地裝置公網IP地址不正確。
解決方案
本文只適用於ECS以外的裝置訪問RDS執行個體的情況。如果是ECS執行個體訪問RDS執行個體,可以在ECS執行個體的詳情頁面查看準確的公網IP地址和內網IP地址。
將
0.0.0.0/0
路由條目加入RDS PostgreSQL的白名單,操作方法請參見設定白名單。使用pgAdmin4用戶端串連RDS PostgreSQL執行個體。
單擊資料庫,選擇postgres,單擊頁面上方的工具>查詢工具。
執行如下SQL語句,查看顯示結果中query列的值為SELECT所對應的client_addr列的IP,即為本地裝置公網IP。
select datname, pid, usename,client_addr, client_hostname, client_port,query from pg_stat_activity;
系統顯示類似如下。
將在步驟1白名單中添加的
0.0.0.0/0
路由條目刪除,添加真實的公網IP。
更多資訊
如果您的本地裝置公網IP地址會有變化,而且建立的串連是用於生產環境,則建議改為使用內網串連,或者在白名單中配置合理的公網IP段,確保不會因為IP地址改變而中斷連線。
適用於
雲資料庫RDS PostgreSQL版