我在三个区域创建了 3 个 VPC,并在这 3 个区域之间配置了 VPC 对等连接,它运行良好,我可以通过私有 IP 从任何区域 ping 通所有服务器,我在“A”区域配置了 openvpn,我的目的是使用来自我家庭网络的单个 VPN 连接连接到所有 3 个区域的私有网络。但通过该 VPN,我只能连接到 VPC“A”区域中的实例,我如何通过一个 VPN 连接连接到所有 3 个区域的私有子网?
VPC A (172.16.0.0/16) 俄亥俄州、VPC B (172.32.0.0/16) 加利福尼亚州、VPB C (10.100.0.0/16) 爱尔兰、这是我的 3 个 VPC。为了连接所有三个 VPC,我使用了 vpcpeering“A—>B,A—>C,B—>C”通过这种方式,我可以从任何区域内部连接我的所有三个区域网络,我可以 ping 所有三个区域之间的任何私有实例,到目前为止,它工作正常。现在,为了从我的家庭网络连接这三个区域的所有私有实例,我在 VPC A 中配置了 openvpn。但从这里我只能连接到 VPC A 内的私有实例,我无法连接到 VPC B 和 VPC C,我如何从我在 VPC A 中创建的 VPN 连接连接到所有区域中的所有实例。
答案1
连接所有三个AWS VPC
的唯一方法是为VPN
每个三个创建一个。
VPC Peering
不支持通过网关或私有连接进行边到边路由。
如果对等关系中的任一 VPC 具有以下连接之一,则您无法将对等关系扩展到该连接:
- 与公司网络的 VPN 连接或 AWS Direct Connect 连接
- 通过互联网网关建立互联网连接
- 通过 NAT 设备在私有子网中建立互联网连接
- 到 AWS 服务的 VPC 终端节点;例如,到 Amazon S3 的终端节点。
- (IPv6) ClassicLink 连接。您可以在链接的 EC2-Classic 实例与 VPC 对等连接另一端的 VPC 中的实例之间启用 IPv4 通信。但是,EC2-Classic 不支持 IPv6,因此您无法扩展此连接以进行 IPv6 通信。
例如,如果 VPC A 和 VPC B 是等对等的,并且 VPC A 具有这些连接中的任何一个,则 VPC B 中的实例无法使用该连接访问连接另一端的资源。同样,连接另一端的资源也无法使用该连接访问 VPC B。
VPC Peering
也不支持传递对等。您可以通过在所有三个节点之间创建 VPC 对等节点来解决此问题。
更多详情请点击这里:https://docs.aws.amazon.com/vpc/latest/peering/invalid-peering-configurations.html
答案2
我通过在其中一个区域的 Ubuntu 上安装 openvpn 来解决这个问题。这样,当我连接到 vpn 时,我的 ip 就改变了,这意味着我处于同一个网络中,但是我的所有 3 个区域都通过 vpc 对等连接,因此我可以通过私有 ip 本身连接到我的机器。open vpn 是一个开源软件,如果您手动安装,您可以创建用户并授予他们访问权限,这会使工作变得容易得多。除非您通过 aws 市场配置 openvpn,否则其成本会随着用户数量的增加而增加。