无法从 lightsail 实例访问 amazon RDS mysql 实例

Unable to access amazon RDS mysql instance from lightsail instance

我是 AWS 的新手,不是网络管理员,只是一名开发人员,需要您的帮助。

我无法从我的 lightsail ubuntu 实例连接到我的 aws RDS (mysql)。尝试连接时,它只是等待一分钟然后失败。 我也无法 ping 我的 RDS。

这是设置
lightsail 实例在 lon-zone-A 中启用了 vpc 对等互连 我在 aws 中创建了一个 mysql RDS 实例并使用了默认的 vpc 对等互连。 mysql 仅限于 VPC 并使用具有入站规则的默认安全组 - 默认安全组源的所有流量

对于两个可用区 A 和 B,默认 VPC 在 CIDR 172.31.16.0/20172.31.0.0/16 中有 2 个子网。
在子网的路由 table 中,我有
172.26.0.0/16 作为 vpc 对等互连的目的地和目标,进一步具有

请求方 VPC CIDR 172.26.0.0/16
接受者 VPC CIDR 172.31.0.0/16

我的 lightsail 实例有私有 IP 172.26.15.xxx 并且在 lon-Zone-A 当我 ping 我的 mysql 实例时,我得到 ip 172.31.10.9

用于连接的命令mysql -h xxxxxx.xxxxx.eu-west-2.rds.amazonaws.com -P 3306 -u db_master_username -p

我设法解决了。它。 我必须在 RDS 入站规则中添加我的 lightsail 实例 IP CIDR,因为 mysql/aurora TCP 允许流量。 :-)

要启用从 AWS Lightsail 到 AWS RDS 的访问,您可以通过两种不同的方式完成:

方法一

  1. 使 RDS public易于访问。

    在 RDS 中选择您的实例并单击 'Modify'。在 'Network & Security' 部分选择 'Publicly accessible' 为是。应用设置并等待它们生效。您的 RDS 现在有 public IP。

  2. 将您的 Lightsail public IP 添加到 RDS 安全组入站流量。

    使用 CIDR:x.x.x.x/32 其中 x.x.x.x 是您的 Lightsail 实例 public IP。

方法二(更好,没有public IP的RDS)

  1. 确保您的 Lightsail 实例与 RDS 位于同一可用区。
  2. 在 Lightsail VPC 和 Amazon VPC 之间设置 VPC peering

  3. 将您的 Lightsail 本地 IP 添加到 RDS 安全组入站流量。