当我添加所有实例时,为什么Elastic负载均衡器状态"退出服务"

时间:2014-09-04 06:54:40

标签: amazon-web-services amazon-ec2 load-balancing

我在虚拟私有云中创建了一个Elastic负载均衡器。

我已将所有现有实例添加到Elastic负载均衡器,它显示"退出服务"带有提示的消息"实例至少连续失败了健康状况检查的不健康阈值数。"

2 个答案:

答案 0 :(得分:3)

首先需要在服务器中测试我们的运行状况检查日志。

步骤

  1. 使用SSH连接到我们的服务器
  2. 运行此命令“tail -f /var/log/apache2/access.log”,然后您将获得响应代码。(200 - OK,302 - 重定向)。
  3. 200以外的响应代码表示运行状况检查失败。
  4. 在我的情况下,我发现响应代码是302,这意味着重定向问题。
  5. 我刚在浏览器中运行了我的网址,它重定向到x.com/login
  6. 为此我需要在Load balancer中更改我的ping路径,只是我打开了loadbalancer,并将我的ping路径从'/'更改为'/ login',然后我的响应自动从302更改为200.我的实例是“在役”。

答案 1 :(得分:0)

以下列出了可能发生的典型原因:开始的好地方:

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html

问题:关闭与负载均衡器连接的实例。

原因:如果连接空闲超过60秒,Elastic Load Balancing将终止连接。当负载均衡器两侧(客户端负载均衡器和负载均衡器到后端实例)没有发生读或写事件时,建立空闲连接。

解决方案:将已注册实例的超时设置设置为至少60秒。

问题:响应超时。

原因:当负载均衡器执行运行状况检查时,实例可能处于显着负载状态,并且可能需要比配置的超时间隔更长的响应时间。

解决方案:尝试调整运行状况检查设置的超时。

问题:收到非200回复​​。

原因:当负载均衡器执行HTTP / HTTPS运行状况检查时,实例必须返回200 HTTP代码。任何其他响应代码都将被视为失败的健康检查。

解决方案:在应用程序日志中搜索发送到运行状况检查请求的响应。

问题:公钥验证失败。

原因:如果您使用启用了后端身份验证的HTTPS或SSL负载平衡器,则如果证书上的公钥与负载均衡器上配置的公钥不匹配,则公钥身份验证将失败。

解决方案:检查您的SSL证书是否需要更新。如果您的SSL证书是最新的,请尝试在您的负载均衡器上重新安装证书。