【发布时间】:2019-09-14 10:13:37
【问题描述】:
我们已经用 ubuntu 操作系统创建了一个实例模板。使用实例模板,我们创建了包含 3 台机器的实例组。 这 3 台机器位于启用了 8080 端口的 TCP 负载均衡器后面。
我们已经在第一个虚拟机上运行了下面的 python 命令。 python -m SimpleHTTPServer 8000
我们看到其中一个实例运行状况 (1/3) 是成功的,并且已经使用 telnet 命令进行了测试。由于SimpleHTTPServer 安装在一个实例上,它显示 (1/3) 实例是健康的。
telnet <Loadbalacer ip> 8000
但是,当我们从同一实例组中的第二个虚拟机运行上述命令时,我们会看到“连接被拒绝”。
telnet XX.XX.XX.XX 8000
Trying XX.XX.XX.XX...
telnet: Unable to connect to remote host: Connection refused.
此外,在其他实例组上运行的其他虚拟机也可以访问相同的服务。无法在同一实例组内访问该服务。
我们已经验证了防火墙规则,并且已经使用“全部允许”和“指定协议和端口”协议和端口选项进行了测试。
上述用例在 AWS Classic LoadBalancer 上运行良好,但在 GCP 上失败。
我创建了一个防火墙规则,“cluster-firewall-rule”,以“master-cluster-ports”作为标签。此标签已添加为实例中网络标签的一部分。此规则允许 8080 端口的流量。
什么是 GCP 中的 AWS Classic 负载均衡器?
【问题讨论】:
-
GCP 没有 AWS CLB 的等效项。对于您的 telnet 问题,您是否在负载均衡器后面运行命令?您是在指定公共 IP 地址还是私有 IP 地址?您是否为端口 8000 创建了防火墙规则?为什么您的健康检查失败?使用涵盖 VPC、防火墙、负载均衡器和实例设置的详细信息编辑您的问题。
-
是的,我在负载均衡器后面运行命令。是的,我的防火墙规则允许 8080 端口。由于 8080 端口仅在一个实例上运行,因此表明三个实例之一是健康的。
-
使用我要求的详细信息编辑您的问题。
-
您有很多问题尚未解决。您不奖励答案或积分。
标签: amazon-web-services google-cloud-platform