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