在您通過公網訪問RDS MySQL或MariaDB前,需要將本地裝置或外部伺服器的公網IP地址添加到RDS白名單中。本文介紹如何確定公網IP地址。
問題描述
已經將本地IP地址添加到白名單中,但仍然無法串連。
以上很可能是因為您的公網IP地址不正確,或者本地公網IP地址發生變動。
本文只適用於ECS以外的裝置訪問RDS執行個體的情況。如果是ECS執行個體訪問RDS執行個體,可以在ECS執行個體的詳情頁面查看準確的公網IP地址和內網IP地址。
注意事項
如果您發現您本地裝置的公網IP地址會變化,而且建立的串連是用於生產環境,則建議您改為使用內網串連,或者在白名單中配置合理的公網IP段,確保不會因為IP地址改變而斷連。
定位本地裝置的公網IP地址
臨時添加白名單。
將公司的公網網段或者0.0.0.0/0添加到RDS MySQL或MariaDB執行個體的白名單。
警告0.0.0.0/0表示允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。完成測試後必須立即刪除。
擷取公網IP(任選一種方式)。
方案一(推薦):通過
curl ipinfo.io/ip查詢本地用戶端公網IP。說明如果串連仍存在異常,再通過
curl ifconfig.me查詢公網IP。方案二:通過SQL查詢。
在本地裝置,通過命令列、用戶端串連RDS MySQL執行個體。
mysql -hRDS串連地址 -u賬戶 -p密碼 -P3306
執行以下SQL查詢以擷取真實出口IP。
show processlist如下圖所示, show processlist 所在的行對應的 Host 就是本地裝置的真實出口 IP 位址。

更新白名單。
刪除白名單中的0.0.0.0/0。
添加步驟2擷取的真實公網IP。
常見問題
如何確定是本地公網IP地址變動導致無法串連資料庫?
將0.0.0.0/0添加到RDS MySQL或MariaDB執行個體的白名單中,等待1分鐘左右,此時任何裝置都可以訪問RDS執行個體。如果測試可以正常串連資料庫,請將0.0.0.0/0從白名單中刪除,然後添加本地IP地址再進行測試,如果無法串連,則代表您當前的本地公網IP地址不是您之前填寫的IP地址。
設定了白名單為什麼還是不行?
如果確認是本地公網IP地址變動導致的白名單問題,請等待1分鐘左右,這是因為設定白名單後需要等待1分鐘左右才會生效。
除了白名單之外,還有很多因素會導致您無法串連資料庫,詳情請參見解決無法串連執行個體問題。