Google 计算引擎 Http 负载平衡器在 VM 重启后不工作
Google Compute Engine Http Load Balancer Not Working after VM restart
我是 Google Compute Engine 的新手,我很难找到可以解释我所看到的行为的文档。
我现在已经为我的项目设置了一个简单的配置。我有
1 个虚拟机 运行 我的 UI (nodejs)
1 个虚拟机 运行 一个 API 层 (java tomcat)
1 个云 SQL 数据库
我设置了 2 个实例组:
1. UI 有唯一的 UI 虚拟机
2. API 有唯一的 API VM
然后我使用一些简单的规则设置了一个 HTTP 负载平衡器来将请求路由到 UI 或 API 实例组
我遇到的问题是,当我重新启动 UI VM 时,它会重新加载并运行正确启动我所有服务的启动脚本(我验证了这一点),负载平衡器不断报告 UI 后端服务已关闭。
有趣的是,如果我使用我的 UI VM 的直接 IP,我会在端口 80 上获得我的 UI 负载,就像它应该的那样。但是,负载均衡器一直将其报告为已关闭。我似乎无法在文档中弄清楚我做错了什么。
需要注意的事项:我为 UI 虚拟机配置了一个临时 IP,每次重新启动虚拟机时该 IP 基本上都会发生变化。但是,负载均衡器不是由通过证明 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
我是 Google Compute Engine 的新手,我很难找到可以解释我所看到的行为的文档。
我现在已经为我的项目设置了一个简单的配置。我有 1 个虚拟机 运行 我的 UI (nodejs) 1 个虚拟机 运行 一个 API 层 (java tomcat) 1 个云 SQL 数据库
我设置了 2 个实例组: 1. UI 有唯一的 UI 虚拟机 2. API 有唯一的 API VM
然后我使用一些简单的规则设置了一个 HTTP 负载平衡器来将请求路由到 UI 或 API 实例组
我遇到的问题是,当我重新启动 UI VM 时,它会重新加载并运行正确启动我所有服务的启动脚本(我验证了这一点),负载平衡器不断报告 UI 后端服务已关闭。
有趣的是,如果我使用我的 UI VM 的直接 IP,我会在端口 80 上获得我的 UI 负载,就像它应该的那样。但是,负载均衡器一直将其报告为已关闭。我似乎无法在文档中弄清楚我做错了什么。
需要注意的事项:我为 UI 虚拟机配置了一个临时 IP,每次重新启动虚拟机时该 IP 基本上都会发生变化。但是,负载均衡器不是由通过证明 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