google-cloud-platform - 是否可以将 Google Cloud NAT 用于 TCP/代理 LB 后面的虚拟机,以便所有服务器都可以利用来自单个 IP 的导出?

标签 google-cloud-platform google-compute-engine nat google-cloud-networking

我正在尝试在 Compute Engine 上运行的一组 VM 上使用 Google Cloud NAT,这些 VM 位于它们自己的特定子网中,以便所有服务器都从单个静态 IP 地址向客户网站发出请求。不幸的是,当我将这些 VM 添加到 TCP/SSL 代理 LB 时,它们似乎没有使用我认为配置正确的 NAT。

我曾尝试配置 TCP 代理 LB 以及 HTTP(S) LB 和 Cloud NAT,当我尝试发出导出 http 请求时,它会导致超时。通过LB的入口工作正常。 VM 实例没有外部 IP,这是 Cloud NAT 的要求。

我希望 http 请求能够到达服务器,并且网络服务器通过 Cloud NAT 发出出站 http 请求,这样其他服务器只需要将一个 IP 地址(分配给 Cloud NAT 的静态 IP)列入白名单

最佳答案

我试图理解为什么在这种情况下需要 Cloud NAT,因为 TCP/SSL 代理负载均衡器将使用私有(private)连接连接到后端,并且后端不会暴露在 Internet 上。仅配置 TCP/SSL 代理就足以满足您的场景 imo。
下面的官方文档会解释我的观点1 :

Backend VMs for HTTP(S), SSL Proxy, and TCP Proxy load balancers do not need external IP addresses themselves, nor do they need Cloud NAT to send replies to the load balancer. HTTP(S), SSL Proxy, and TCP Proxy load balancers communicate with backend VMs using their primary internal IP addresses.

关于google-cloud-platform - 是否可以将 Google Cloud NAT 用于 TCP/代理 LB 后面的虚拟机,以便所有服务器都可以利用来自单个 IP 的导出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56159099/

相关文章:

google-cloud-platform - 无法使用服务帐户订阅 google pub 子主题

python - MySQL 数据使用谷歌云 SQL 和 SQLAlchemy 进行缓存

Node.js 与 Google 应用引擎

python - 如何在转发之前进行深度数据包检查

firewall - 如何编写代码以与 Skype 类似的方式通过 NAT?

google-cloud-platform - 日志未显示在 Google Cloud Logging UI 中

google-cloud-platform - 在 Docker Container 内的 Container OS 上访问 Google Cloud 服务帐户凭据

ssh - gcloud将ssh从一个VM迁移到Google Cloud上的另一个VM

google-app-engine - 从计算中拉取队列授权

linux - 如何将 IP 地址添加到 NAT 表 (Linux Debian) - POSTROUTING 链