在您通過公網訪問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分鐘左右才會生效。
除了白名單之外,還有很多因素會導致您無法連接數據庫,詳情請參見解決無法連接實例問題。