Mysql
無法連接到 MySQL 的 AWS RDS 只讀副本
我無法連接到 AWS RDS MySQL 只讀副本。
$ mysql -h my-db-read-replica.qprdbd0pavr5.us-east-1.rds.amazonaws.com -umyname ERROR 2003 (HY000): Can't connect to MySQL server on 'my-db-read-replica.qprdbd0pavr5.us-east-1.rds.amazonaws.com' (60)
這是我檢查過的配置:
- 安全組允許我從本地電腦連接到遠端 RDS。
Public accessibility
只讀副本的Yes
- 我可以
nmap
用來檢測 RDS 上的 3306 埠是否打開。$ nmap -Pn -p 3306 my-db-read-replica.qprdbd0pavr5.us-east-1.rds.amazonaws.com Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower. Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-18 17:12 CST Nmap scan report for my-db-read-replica.qprdbd0pavr5.us-east-1.rds.amazonaws.com (3.208.xxx.xxx) Host is up. rDNS record for 3.208.xxx.xxx: ec2-3-208-xxx-xxx.compute-1.amazonaws.com PORT STATE SERVICE 3306/tcp filtered mysql Nmap done: 1 IP address (1 host up) scanned in 6.46 seconds
我還重新啟動了只讀副本,但我仍然無法連接到它。
昨天連接正常。
連接失敗的原因可能是什麼?
問題的根本原因是只讀副本的子網組同時包含公有子網和私有子網。
公共子網具有已
0.0.0.0/0
路由到 Internet 網關的路由表。私有子網具有已
0.0.0.0/0
路由到 NAT 實例的路由表。當只讀副本的實例類型發生更改時,AWS 可能會在不同的子網中創建新的只讀副本。
如果新的只讀副本位於私有子網中,我無法從本地電腦連接到它。