对您的 Classic Load Balancer 的实例进行运行状况检查 - Elastic Load Balancing

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对您的 Classic Load Balancer 的实例进行运行状况检查

您的经典负载均衡器会定期向其注册实例发送请求以测试其状态。这些测试称为运行状况检查。在执行运行状况检查时,运行状况良好的实例的状态为 InService。在执行运行状况检查时,运行状况不佳的任何实例的状态为 OutOfService。负载均衡器会对所有已注册实例执行运行状况检查,无论实例处于运行状况良好状态还是不佳状态。

负载均衡器仅将请求路由到正常的实例。当负载均衡器确定某个实例不正常时,会停止将请求路由到该实例。当实例恢复正常状态时,负载均衡器将恢复向该实例路由请求。

负载均衡器使用 Elastic Load Balancing 提供的默认运行状况检查配置,或使用您配置的运行状况检查配置检查已注册实例的运行状况。

如果您已将 Auto Scaling 组与经典负载均衡器关联,则可以使用负载均衡器运行状况检查确定 Auto Scaling 组中的实例的运行状况。默认情况下,Auto Scaling 组会定期确定每个实例的运行状况。有关更多信息,请参阅 Amazon Auto Scaling 用户指南中的将 Elastic Load Balancing 运行状况检查添加到您的 A EC2 uto Scaling 群组

运行状况检查配置

运行状况配置包含负载均衡器用于确定已注册实例的运行状况的信息。下表介绍了运行状况检查配置字段。

字段 描述

协议

连接到实例所使用的协议。

有效值:TCPHTTPHTTPSSSL

控制台默认值:HTTP

CLI/API默认:TCP

端口

用于以 protocol:port 对的形式连接实例的端口。如果负载均衡器在配置的响应超时期内未能在指定端口上与实例连接,则将实例视为运行状况不佳。

协议:TCPHTTPHTTPSSSL

端口范围:1 至 65535

控制台默认值:HTTP:80

CLI/API默认:TCP:80

路径

HTTP或HTTPS请求的目的地。

在端口和路径上向实例发出HTTP或HTTPSGET请求。如果负载均衡器在响应超时期内收到“200 OK”之外的任何响应,则会将实例视为运行状况不佳。如果响应包括正文,则应用程序必须将 Content-Length 标头设置为大于等于零的值,或者指定其值设置为“chunked”的 Transfer-Encoding。

默认值:/index.html

响应超时

接收来自运行状况检查的响应时要等待的时间 (秒)。

有效值:2 至 60

默认值:5

HealthCheck 间隔

单个实例的运行状况检查之间的时间量 (秒)。

有效值:5 至 300

默认值:30

不正常阈值

在宣布EC2实例运行状况不佳之前必须连续失败的运行状况检查次数。

有效值:2 至 10

默认值:2

正常阈值

在宣布EC2实例运行正常之前必须连续成功进行运行状况检查的次数。

有效值:2 至 10

默认值:10

负载均衡器使用指定的端口、协议和路径,每 Interval 秒向每个已注册的实例发送一次运行状况检查请求。每个运行状况检查请求都是独立的,并且在整个时间间隔内持续。等待实例响应所花费的时间不会影响下次运行状况检查的时间间隔。如果运行状况检查超过UnhealthyThresholdCount连续失败次数,则负载均衡器会使该实例停止服务。当运行状况检查超过HealthyThresholdCount连续成功率时,负载均衡器会将实例重新投入使用。

如果实例在HTTPS运行状况检查间隔内返回 200 响应代码,则 HTTP /运行状况检查成功。如果TCP连接成功,则TCP运行状况检查成功。如果SSL握手成功,则SSL运行状况检查成功。

更新运行状况检查配置

您可随时更新负载均衡器的运行状况检查配置。

使用控制台更新负载均衡器的运行状况检查配置
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择负载均衡器

  3. 选择负载均衡器的名称以打开其详细信息页面。

  4. Health checks 选项卡上,选择 Edit

  5. 编辑运行状况检查设置页面的运行状况检查下,根据需要更新配置。

  6. 确定选择无误之后,选择保存更改

要更新负载均衡器的运行状况检查配置,请使用 AWS CLI

使用以下 configure-health-check 命令:

aws elb configure-health-check --load-balancer-name my-load-balancer --health-check Target=HTTP:80/path,Interval=30,UnhealthyThreshold=2,HealthyThreshold=2,Timeout=3

检查实例的运行状况

您可检查已注册实例的运行状况。

使用控制台检查实例的运行状况
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择负载均衡器

  3. 选择负载均衡器的名称以打开其详细信息页面。

  4. 详细信息部分中,状态将指示使用中的实例数量。

  5. 目标实例选项卡的目标实例表内,运行状态列将指示每个已注册实例的具体状态。

要使用检查您的实例的运行状况 AWS CLI

使用以下 describe-instance-health 命令:

aws elb describe-instance-health --load-balancer-name my-load-balancer

根据运行状况检查进行故障排除

已注册的实例可能因多种原因无法通过负载均衡器运行状况检查。运行状况检查失败的最常见原因是EC2实例关闭了与您的负载均衡器的连接,或者EC2实例的响应超时。有关失败的运行状况检查问题的可能原因以及您可以采取的解决问题的措施的信息,请参阅 对经典负载均衡器进行故障排除:运行状况检查