• 针对七层负载均衡服务,当监听获取到健康检查异常的信息时,可以从以下方面对ECS实例进行健康排查:
确保您能够直接通过ECS访问到您的应用服务。
确保后端服务器开启了相应的端口,该端口必须与您在负载均衡监听配置中配置的后端端口保持一致。
检查后端ECS内部是否开启了防火墙或其他的安全类防护软件,这类软件很容易将负载均衡服务的本地 IP地址屏蔽掉,导致负载均衡服务无法跟后端服务器进行通讯。
检查负载均衡健康检查参数设置是否正确,建议参照缺省提供的健康检查参数进行设置。
建议使用静态页面来进行健康检查,如果您用于健康检查的页面在后端ECS应用服务器上并不是缺省首页,需要您在健康检查配置中指定该页面的URL。健康检查指定的检测文件,建议是html形式的简单页面,只用于检查返回结果,不建议用php等动态脚本语言。
检查后端ECS资源是否有较高负载,降低了ECS对外提供服务的响应速度。
• 另外,由于七层负载均衡服务跟后端ECS之间通过内网通讯,因此需要ECS监听内网或者全网端口。您可使用以下方法进行检查:
1, 检查监听功能是否正常。
假设负载均衡前端端口是80,ECS后端端口也是80,ECS内网IP是10.11.192.1。在服务器上运行以下命令,如果能看到10.11.192.1:80的监听信息,或者0.0.0.0:80的监听信息,说明这部分端口的监听正常。
Windows 服务器上运行:netstat -ano | findstr :80
Linux 服务器上运行:netstat -anp | grep :80
2, 检查服务器内网防火墙是否放行80端口,可以暂时关闭防火墙进行测试。输入以下命令关闭防火墙。
Windows:firewall.cpl
Linux:/etc/init.d/iptables stop
3, 检查后端端口是否正常。
! 对于四层负载均衡,使用telnet测试有响应即为正常。本例中使用telnet 10.11.192.1 80来测试。
! 对于七层负载均衡,HTTP状态码需要是200等代表正常的状态码,检验方法如下:
Windows:直接在ECS上访问ECS的内网IP测试是否正常,本例中为:http://10.11.192.1 。
Linux:使用curl -I命令查看状态是否为HTTP/1.1 200 OK,本例是:curl -I 10.11.192.1。