我试图在谷歌 Cloud 上设置网络负载均衡器,但 Health 检查总是返回不 Health 状态 .
我告诉你我遵循的步骤
-
我创建了两个Windows Server 2012 R2实例
-
我检查了端口80对两个实例都是公开的
-
我创建了转发规则,Google Cloud为我提供了外部IP
-
我在两个服务器实例的网络环回接口中设置了外部IP
-
我创建了一个网络路由,用于转发两个实例上的流量(路由菜单)
-
我为169.254.169.254/32(网络负载均衡器流量源)创建了另一个网络路由并指向两个Windows实例服务器
-
我在两个实例服务器上的IIS 8上创建了相同的站点(example.com),并且站点正在正常运行 .
-
域example.com的DNS设置指向我用于网络负载均衡器的外部IP谷歌 Cloud
-
我配置了运行状况检查
-
路径:/
-
协议:HTTP
-
主机:example.com
-
Session Afinity:客户端IP
-
我创建了一个目标池,我添加了服务器实例和 Health 检查
-
I将目标池分配给转发规则
当我选择目标池选项时,两个实例都标记为Google Cloud 给我的外部IP不 Health ,我不知道为什么会这样 .
我看到网页一直在随机切换服务器实例 .
你的帮助是折旧的!谢谢!
1 回答
您无需添加任何GCE网络路由 .
GCE代理负责将负载均衡器IP添加到VM的网络配置中 . 无需手动完成 . https://github.com/GoogleCloudPlatform/compute-image-windows
IIS必须响应LB IP上的请求:
从IIS管理器检查IIS绑定 . 重置IIS .
从
netstat
确认IIS正在侦听0.0.0.0或负载均衡IP .从其中一台服务器访问LB IP . 它应该工作 .
GCE防火墙必须允许来自客户端IP和元数据服务器(169.254.169.254)的流量 . 元数据服务器用于 Health 检查 .
网络负载 balancer 教程 . https://cloud.google.com/compute/docs/load-balancing/network/example