

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

# 检查网络负载均衡器目标的运行状况
<a name="check-target-health"></a>

您可以检查已注册到目标组的目标的运行状况。有关运行状况检查失败问题的帮助，请参阅[问题排查：已注册目标未处于可用状态](load-balancer-troubleshooting.md#target-not-in-service)。

------
#### [ Console ]

**要检查目标的运行状况**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格上的**负载均衡**下，选择**目标组**。

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

1. **Details**（详细信息）选项卡显示目标总数，以及每种运行状况的目标数。

1. 在 **Targets**（目标）选项卡上，**Health status**（运行状况）列指示每个目标的状态。

1. 如果目标状态是 `Healthy` 以外的任何值，则 **Health status**（运行状况）列中将包含更多信息。

**接收有关运行状况不佳的目标的电子邮件通知**  
使用 CloudWatch 警报触发 Lambda 函数以发送有关不健康目标的详细信息。有关 step-by-step说明，请参阅以下博客文章：[识别负载均衡器的运行状况不佳的目标](https://aws.amazon.com/blogs/networking-and-content-delivery/identifying-unhealthy-targets-of-elastic-load-balancer/)。

------
#### [ AWS CLI ]

**要检查目标的运行状况**  
使用 [describe-target-health](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-target-health.html) 命令。此示例对输出进行筛选，以仅包括运行状况不良的目标。对于运行状况不良的目标，输出将包含原因代码。

```
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  |
+--------------+---------+-------------------+
```

------

## 目标状态和原因代码
<a name="target-states-reason-codes"></a>

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

**目标状态为 healthy**  
未提供原因代码。

**目标状态为 initial**  
+  `Elb.RegistrationInProgress` - 目标正处于与负载均衡器的注册流程中。
+  `Elb.InitialHealthChecking` - 负载均衡器仍在向目标发送最低数量的运行状况检查，以确定其运行状况。

**目标状态为 unhealthy**  
+ `Target.FailedHealthChecks` - 负载均衡器在建立与目标的连接时收到错误，或目标响应格式错误。

**目标状态为 unused**  
+ `Target.NotRegistered` - 目标未注册到目标组
+ `Target.NotInUse` - 该目标组未被任何负载均衡器使用，或目标所在的可用区未启用其负载均衡器。
+ `Target.InvalidState` - 目标处于停止或终止状态。
+ `Target.IpUnusable` - 目标 IP 地址已保留，供负载均衡器使用。

**目标状态为 draining**  
+ `Target.DeregistrationInProgress` - 目标正处于注销过程中，且注销延迟期尚未到期。

**目标状态为 unavailable**  
+ `Elb.InternalError` - 由于内部错误，目标的运行状况无法获取。