load-balancing - 虚拟机重启后 Google Compute Engine Http 负载均衡器不工作

标签 load-balancing google-compute-engine

我是 Google 计算引擎的新手,很难找到可以解释我所看到的行为的文档。

我现在已经为我的项目设置了一个简单的配置。我有 1 个虚拟机运行我的 UI (nodejs) 1 个运行 API 层的 VM (java tomcat) 1 个 Cloud SQL 数据库

我设置了 2 个实例组: 1.具有唯一UI VM的UI 2.具有唯一API VM的API

然后,我使用几个简单的规则设置一个 HTTP 负载均衡器,将请求路由到 UI 或 API 实例组

我遇到的问题是,当我重新启动 UI VM 并重新加载并运行启动脚本来正确启动我的所有服务(我验证了这一点)时,负载均衡器不断报告 UI 后端服务已关闭。

有趣的是,如果我使用 UI VM 的直接 IP,我会像预期一样在端口 80 上获得 UI 负载。但是,负载均衡器始终将其报告为已关闭。我似乎无法在文档中弄清楚我做错了什么。

需要注意的是:我为 UI VM 配置了一个临时 IP,该 IP 基本上在每次重新启动 VM 时都会发生变化。但是,负载均衡器不是通过证明 VM 实例组配置的 IP 来配置的,因此它不应该关心更改的 IP,因为 VM 实例组始终知道它拥有哪些 VM。

有人可以向我解释一下我的配置哪里错误吗?

最佳答案

请确保您设置的防火墙规则允许来自负载平衡服务的流量。为此,您需要添加一条防火墙规则,允许来自 130.211.0.0/22 的 HTTP 和 HTTPS 流量,这是 HTTP(S) 负载平衡运行状况检查 IP 范围。 https://cloud.google.com/compute/docs/load-balancing/http/cross-region-example

关于load-balancing - 虚拟机重启后 Google Compute Engine Http 负载均衡器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30419407/

相关文章:

python - 使用 Google Compute Engine 时,“EntryPoint”对象没有属性 'resolve'

ssl - Heroku SSL Endpoint 附加组件的替代品

php - 使用三台服务器负载平衡 PHP Web 应用程序

docker - Kubernetes:一种手动将流量路由到不同副本的方法

ssl - 浏览器在代理后面被阻止(禁止)

redis - 如何实现 Redis 备份服务器的冗余和故障转移策略

google-compute-engine - 谷歌云计算引擎卡住

python-2.7 - 无法在 Windows 谷歌计算引擎实例上安装 Python 2.7.9

google-app-engine - Google Cloud 中长时间运行的脚本

jakarta-ee - 将 Docker 镜像部署到 Kubernetes