Mysql

無法連接到 MySQL 的 AWS RDS 只讀副本

  • May 30, 2021

我無法連接到 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)

這是我檢查過的配置:

  1. 安全組允許我從本地電腦連接到遠端 RDS。
  2. Public accessibility 只讀副本的Yes
  3. 我可以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 可能會在不同的子網中創建新的只讀副本。

如果新的只讀副本位於私有子網中,我無法從本地電腦連接到它。

引用自:https://dba.stackexchange.com/questions/291979