目前,我正在开发部署到谷歌云平台 GKE 集群的 nodejs 应用程序。此应用程序需要调用只能通过 VPN 访问的第 3 方 API,因此我必须建立一个到第 3 方 API 提供商网络的站点到站点 VPN。
我知道可以使用 GCP Cloud VPN 实现站点到站点 VPN,并且我以前有使用 GCP Cloud VPN 的经验。但对我来说问题是这个第 3 方 API 将只允许来自我的 VPC 的一个 IP 地址访问他们的网络,这是一个问题,因为 GKE 集群中的所有 pod 都有自己的临时 IP。
问题是我如何才能使从 GKE 集群到第 3 方 API 的传出 API 调用仅来自一个 IP 地址,以便第 3 方提供商管理员可以将该单个 IP 地址列入白名单以访问他们的 API?
我正在考虑使用一个 Linux 虚拟机作为 nat 路由器,这样对第 3 方 API 的 API 调用将首先通过这个 nat 路由器,然后从 nat 路由器到 Cloud VPN 网关。但是当我查看 VPC 路由表时,我就是看不到这种方法是如何实现的,因为在 VPC 路由表中我无法指定特定的网段作为源。我只能设置目的地和下一跳,这将影响 VPC 中的所有实例。
这是我的 VPC 的当前拓扑供参考:
这是可以在 GCP 中完成的事情,还是我以错误的方式看待问题?
谢谢你