通过跨私有 VPC 的对等连接连接到 RDS

通过跨私有 VPC 的对等连接连接到 RDS

这是我的情况:

  • VPC-A 和 AWS-account-A 中的 RDS
  • Server1 位于 VPC-B、AWS-account-B 中,并且仅为私有网络
  • Server2 位于 VPC-B、AWS-account-B 中,位于公共网络 (eth0) 和私有网络 (eth1) 上

私网子网为 172.31.0.0/20

公网子网为 172.31.100.0/24

我已成功在 VPC-A 网络 (172.41.0.0/20) 和 VPC-B 的私有网络之间设置对等连接。我检查了一下,可以成功从 Server1 连接到 RDS。

Server1 和 Server2 之间有网络连接。基本上 Server2 有两个网络接口,eth1 在私有网络上。

我的问题是我无法让它从 Server2 工作,因为某种原因存在网络问题。

从 Server2 (我为 RDS 网络添加了路由:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.32.1     0.0.0.0         UG    0      0        0 eth0
172.31.32.0     0.0.0.0         255.255.240.0   U     0      0        0 eth0
172.31.100.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.41.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1

但 traceroute 显示无法访问:

$ traceroute 172.41.32.14
traceroute to 172.41.32.14 (172.41.32.14), 30 hops max, 60 byte packets
 1  ip-172-31-100-102.us-west-2.compute.internal (172.31.100.87)  2998.396 ms !H  2998.376 ms !H  2998.372 ms !H

但:

$ ping 172.31.100.87
PING 172.31.100.87 (172.31.100.87) 56(84) bytes of data.
64 bytes from 172.31.100.87: icmp_seq=1 ttl=64 time=0.351 ms
64 bytes from 172.31.100.87: icmp_seq=2 ttl=64 time=0.365 ms

我错过了什么?

答案1

好的,我找到了

在 AWS 控制台、VPC->子网中,我找到了公共网络的子网,然后在下面的“路由表”中添加了:

172.41.0.0/16 => peer connection

完成此操作并删除我在 Server2 中创建的路由后,它开始工作。

相关内容