我有带 NAT 和附加弹性 IP 地址的“VPC-A”。其中有几个服务在负载下运行,无法轻松移动。
此外,我还有“VPC-B”,它有自己的子网 NAT,当然还有其他弹性 IP 地址。
两个 VPC 之间已经设置了对等连接,因此里面的服务可以相互通信。
第一个 EIP 地址被第三方服务列入白名单,因此我可以从 VPC-A 向他们的 API 发出请求。
在 VPC-B 中我有一项新服务,必须对这些 API 发出类似的请求,但此 VPC 中的 EIP 未列入白名单。
我尝试将所有传出流量路由到对等连接而不是 NAT,但 AWS 不支持此功能(我可以在路由表中设置此规则,但它不起作用)。
当所有传出的请求都流经它时,是否可以以某种方式在两个 VPC 之间共享一个 EIP?
我正在考虑反向代理,但也许还有其他选择?
答案1
反向代理几乎是唯一可行的解决方案。您无法在对等连接上本地共享任何类型的网关设备,但反向代理很简单。
您也可以使用一对 EC2 实例来实现这一点,但这是一种相当有创意和高级的配置……对等连接的每一侧各一个,它们之间使用 OpenVPN 或其他类型的隧道。在没有 EIP 的网络上,像 NAT 实例一样在其自己的子网上配置实例,使用指向它的适当 VPC 路由表,但其内部路由通过隧道从 VPC 发送流量。在 EIP 端,对流量进行 NAT 以使用实例的私有 IP 作为其伪装源。