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

检查应用程序负载均衡器目标的运行状况

您可以检查已注册到目标组的目标的运行状况。有关运行状况检查失败问题的帮助,请参阅问题排查:已注册目标未处于可用状态

Console
检查目标的运行状况
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 选择目标组的名称以打开其详细信息页面。

  4. 详细信息选项卡会显示目标总数,以及处于各运行状况的目标数。

  5. Targets 选项卡上,Status 列指示每个目标的状态。

  6. 如果状态是 Healthy 以外的任何值,则状态详细信息列将包含更多信息。

接收有关运行状况不佳的目标的电子邮件通知

使用 CloudWatch 警报触发 Lambda 函数,以发送有关运行状况不佳的目标的详细信息。有关分步说明,请参阅以下博客文章:识别负载均衡器的运行状况不佳的目标

Amazon CLI
检查目标的运行状况

使用 describe-target-health 命令。此示例对输出进行筛选,以仅包括运行不正常的目标。对于运行不正常的目标,输出将包含原因代码。

aws elbv2 describe-target-health \ --target-group-arn target-group-arn \ --query "TargetHealthDescriptions[?TargetHealth.State!='healthy'].[Target.Id,TargetHealth.State,TargetHealth.Reason]" \ --output table

下面是示例输出。

---------------------------------------------- | DescribeTargetHealth | +--------------+---------+-------------------+ | 172.31.0.57 | unused | Target.NotInUse | | 172.31.0.50 | unused | Target.NotInUse | +--------------+---------+-------------------+

目标状态和原因代码

下表列出了每种目标状态的可能原因代码。

目标状态为 healthy

未提供原因代码。

目标状态为 initial
  • Elb.RegistrationInProgress:目标正在注册到负载均衡器。

  • Elb.InitialHealthChecking:负载均衡器仍在向目标发送确定其运行状况所需的最低数量运行状况检查。

目标状态为 unhealthy
  • Target.ResponseCodeMismatch:运行状况检查未返回预期的 HTTP 代码。

  • Target.Timeout:运行状况检查请求超时。

  • Target.FailedHealthChecks:负载均衡器在建立与目标的连接时收到错误,或目标响应格式错误。

  • Elb.InternalError:由于内部错误,运行状况检查失败。

目标状态为 unused
  • Target.NotRegistered:目标未注册到目标组。

  • Target.NotInUse:目标组未被任何负载均衡器使用,或目标所在的可用区未启用其负载均衡器。

  • Target.InvalidState:目标处于已停止或已终止状态。

  • Target.IpUnusable:目标 IP 地址已预留,以供负载均衡器使用。

目标状态为 draining
  • Target.DeregistrationInProgress:目标正处于注销过程中,且注销延迟期尚未到期。

目标状态为 unavailable
  • Target.HealthCheckDisabled:目标组禁用了运行状况检查。