为您的经典负载均衡器配置运行状况检查 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为您的经典负载均衡器配置运行状况检查

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

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

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

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

运行状况检查配置

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

字段 描述

协议

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

有效值:TCPHTTPHTTPSSSL

控制台默认值:HTTP

CLI/API 默认值:TCP

端口

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

协议:TCPHTTPHTTPSSSL

端口范围:1 至 65535

控制台默认值:HTTP:80

CLI/API 默认值:TCP:80

路径

HTTP 或 HTTPS 请求的目标。

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

默认值:/index.html

响应超时

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

有效值:2 至 60

默认值:5

运行状况检查间隔

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

有效值:5 至 300

默认值:30

不正常阈值

在声明 EC2 实例运行状况不佳前必须出现的连续失败的运行状况检查次数。

有效值:2 至 10

默认值:2

正常阈值

在声明 EC2 实例运行状况良好之前必须出现的连续成功的运行状况检查次数。

有效值:2 至 10

默认值:10

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

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

更新运行状况检查配置

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

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

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

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

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

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

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

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

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

  3. 选择您的负载均衡器。

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

  5. Configure Health Check 页面上,根据需要更新配置。

  6. 选择 Save

使用 Amazon 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

检查实例的运行状况

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

New EC2 experience
使用控制台检查实例的运行状况
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

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

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

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

Old EC2 experience
使用控制台检查实例的运行状况
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

  3. 选择您的负载均衡器。

  4. Description 选项卡上,Status 指示有多少实例处于可用状态。

  5. Instances 选项卡上,Status 列指示每个实例的状态。

使用 Amazon CLI 检查实例的运行状况

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

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

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

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