我希望利用现有的 Direct Connect 服务作为冗余互联网网关,以应对主连接中断的情况。
我注意到 NAT 网关说明指出这是不可能的,有没有人能够使用 NAT 实例或类似设备做到这一点?
在 AWS 网站或其他地方找不到很多内容。
答案1
VPC 从根本上来说不是带有交换机和路由器的 LAN——这是一个软件定义的网络。它不提供的是将流量从边缘路由到边缘和传输 VPC 的方法——通过一个虚拟网关设备进入 VPC,然后通过另一个虚拟网关设备离开。
您无法通过 Direct Connect、硬件 VPN 或 VPC Peering 连接进入,然后直接地通过 NAT 网关、直接连接、硬件 VPN 或 VPC 对等连接离开——所有这些都是围绕以下概念设计的:访问实例,互相之间不能互相访问。
这意味着您不能使用 Direct Connect直接地访问互联网——但您可以通过在 EC2 中运行的提供隧道和 NAT 服务的服务器来实现这一点——并与办公室/数据中心 LAN 上的隧道服务器合作。
要克服的关键概念是,流量必须以适当的 IP 地址出现在 VPC 中 - 来自/到 Direct Connect,流量需要从 LAN 地址到 EC2 实例,来自/到(定制的)NAT 实例和 Internet,来自/到 NAT 实例的 IP 地址。
一对 openvpn 服务器(一个在办公室,一个在 EC2)可以处理这个问题,因为 openvpn 通过 UDP 以 TLS 形式传输流量,其中 VPC 可见的唯一源 IP 地址和目标 IP 地址是您的 LAN 上的机器的 IP 地址和实例的 IP 地址。
您的 LAN 上的服务器将通过接受通过路由器发送给它的 Internet 绑定流量并将其通过隧道传输到 EC2 实例来与您的 LAN 路由器进行交互,EC2 实例将解封装该流量,并使用其自己的源 IP 对其进行 NAT 以将其传送到 Internet - 并且在响应流量时对其进行取消 NAT 并将其发送回 LAN 的隧道以传送回启动它的机器。