在您通過公網訪問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執行個體的白名單,具體操作請參見通過用戶端、命令列串連RDS MySQL執行個體。
重要0.0.0.0/0表示允許任何裝置訪問RDS執行個體,有安全風險,請謹慎使用。如果使用,應當及時從白名單中刪除。
在本地裝置,使用用戶端或命令列串連到RDS執行個體。
mysql -hRDS串連地址 -u賬戶 -p密碼 -P3306
查詢進程資訊。
show processlist
如下圖所示, show processlist 所在的行對應的 Host 就是本地裝置的真實出口 IP 位址。
將步驟 1中在白名單中添加的 0.0.0.0/0 條目刪除,添加上真實的本地公網IP。
常見問題
如何確定是本地公網IP地址變動導致無法串連資料庫?
將0.0.0.0/0添加到RDS MySQL或MariaDB執行個體的白名單中,等待1分鐘左右,此時任何裝置都可以訪問RDS執行個體。如果測試可以正常串連資料庫,請將0.0.0.0/0從白名單中刪除,然後添加本地IP地址再進行測試,如果無法串連就代表您當前的本地公網IP地址不是您之前填寫的IP地址。
設定了白名單為什麼還是不行?
如果確認是本地公網IP地址變動導致的白名單問題,請等待1分鐘左右,這是因為設定白名單後需要等待1分鐘左右才會生效。
除了白名單之外,還有很多因素會導致您無法串連資料庫,詳情請參見解決無法串連執行個體問題。