

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Surveillances de l’état des groupes cibles Network Load Balancer
<a name="target-group-health-checks"></a>

Vous pouvez enregistrer vos cibles auprès d'un ou de plusieurs groupes cibles. L'équilibreur de charge commence à acheminer les demandes vers une cible nouvellement enregistrée dès que le processus d'enregistrement est terminé et que les cibles passent les tests de santé initiaux. Quelques minutes peuvent être nécessaires pour que le processus d'inscription soit effectué et que les surveillances de l'état commencent.

Les Network Load Balancers utilisent des surveillances de l'état actives et passives pour déterminer si une cible est disponible pour traiter des demandes. Par défaut, chaque nœud d'équilibreur de charge achemine les demandes uniquement vers les cibles saines dans sa zone de disponibilité. Si vous activez l'équilibrage de charge entre zones permet, chaque nœud d'équilibreur de charge achemine les demandes vers les cibles saines dans toutes les zones de disponibilité activées. Pour de plus amples informations, veuillez consulter [Equilibrage de charge entre zones](network-load-balancers.md#cross-zone-load-balancing).

Avec les vérifications de l'état passives, l'équilibreur de charge observe la façon dont les cibles répondent aux connexions. Les vérifications de l'état passives permettent l'équilibreur de charge de détecter une cible non saine avant que celle-ci soit signalée comme étant non saine par les vérifications de l'état actives. Vous ne pouvez pas désactiver, configurer ou surveiller les vérifications de l'état passives. Les contrôles de santé passifs ne sont pas pris en charge pour le trafic UDP, et les groupes cibles pour lesquels la fonctionnalité d'adhérence est activée. Pour plus d'informations, consultez la section [Sessions persistantes](edit-target-group-attributes.md#sticky-sessions).

Si une cible devient défectueuse, l'équilibreur de charge envoie un RST TCP pour les paquets reçus sur les connexions client associées à la cible, sauf si la cible défectueuse déclenche le mode fail-open pour l'équilibreur de charge. 

Si les groupes cibles n'ont pas une cible saine dans une zone de disponibilité activée, nous supprimons l'adresse IP du sous-réseau correspondant à partir de DNS pour que les demandes ne puissent pas être acheminées vers cette zone de disponibilité. Si toutes les cibles échouent aux surveillances de l'état en même temps dans toutes les zones de disponibilité activées, l'équilibreur de charge passe en mode fail-open. Les équilibreurs de charge réseau échoueront également à s'ouvrir lorsque vous avez un groupe cible vide. Ce mode a pour effet d'autoriser le trafic à destination de toutes les cibles dans toutes les zones de disponibilité activées, quel que soit leur état de santé.

Si un groupe cible est configuré avec des surveillances de l'état HTTPS, ses cibles enregistrées échouent aux surveillances si elles ne prennent en charge que le protocole TLS 1.3. Ces cibles doivent prendre en charge une version antérieure de TLS, telle que TLS 1.2.

Pour les demandes de vérification de l'état HTTP ou HTTPS, l'en-tête de l'hôte contient l'adresse IP du nœud d'équilibrage de charge et le port de l’écouteur, et non l’adresse IP de la cible et le port de vérification de l'état.

Si vous ajoutez un écouteur TLS à votre Network Load Balancer, nous effectuons un test de connectivité de l'écouteur. Comme la résiliation TLS met également fin à la connexion TCP, une nouvelle connexion TCP est établie entre votre équilibreur de charge et vos cibles. Par conséquent, les connexions TCP pour ce test peuvent être envoyées par votre équilibreur de charge aux cibles enregistrées auprès de votre écouteur TLS. Vous pouvez identifier ces connexions TCP car elles possèdent l'adresse IP source de votre Network Load Balancer et elles ne contiennent pas de paquets de données.

Pour les services UDP et QUIC, la disponibilité des cibles peut être testée à l'aide de contrôles de santé non UDP sur votre groupe cible. Vous pouvez utiliser n'importe quel contrôle de santé disponible (TCP, HTTP ou HTTPS) et n'importe quel port de votre cible pour vérifier la disponibilité de votre service. Si le service recevant la surveillance de l'état échoue, votre cible est considérée comme indisponible. Pour améliorer la précision des contrôles de santé de votre service, configurez le service qui écoute le port de contrôle de santé pour suivre l'état de votre service UDP ou QUIC et échouer au contrôle de santé si le service n'est pas disponible.

Pour de plus amples informations, veuillez consulter [État du groupe cible](load-balancer-target-groups.md#target-group-health).

**Topics**
+ [Paramètres de surveillance de l'état](#health-check-settings)
+ [État de santé d'une cible](#target-health-states)
+ [Codes de motif de vérification de l'état](#target-health-reason-codes)
+ [Vérifiez la santé de la cible](check-target-health.md)
+ [Mettre à jour les paramètres de contrôle de santé](modify-health-check-settings.md)

## Paramètres de surveillance de l'état
<a name="health-check-settings"></a>

Vous configurez les vérifications de l'état actives pour les cibles d'un groupe cible en utilisant les paramètres suivants. Si les bilans de santé dépassent le nombre de défaillances **UnhealthyThresholdCount**consécutives, l'équilibreur de charge met la cible hors service. Lorsque les bilans de santé dépassent le nombre de réussites **HealthyThresholdCount**consécutives, l'équilibreur de charge remet la cible en service.


| Paramètre | Description | Par défaut | 
| --- | --- | --- | 
|  **HealthCheckProtocol**  |  Protocole utilisé par l'équilibreur de charge lors des vérifications de l'état des cibles. Les protocoles possibles sont HTTP, HTTPS et TCP. La valeur par défaut est le protocole TCP. Si le type de cible est `alb`, les protocoles de surveillance de l'état pris en charge sont HTTP et HTTPS.  | TCP | 
|  **HealthCheckPort**  |  Port utilisé par l'équilibreur de charge lors des vérifications de l'état des cibles. La valeur par défaut consiste à utiliser le port sur lequel chaque cible reçoit le trafic depuis l'équilibreur de charge.  | Port sur lequel chaque cible reçoit le trafic depuis l'équilibreur de charge. | 
|  **HealthCheckPath**  |  [Contrôles de santé HTTP/HTTPS] Le chemin du contrôle de santé qui est la destination des cibles pour les bilans de santé. La valeur par défaut est /.  |  / | 
|  **HealthCheckTimeoutSeconds**  |  Durée, en secondes, pendant laquelle l'absence de réponse d'une cible indique l'échec de la vérification de l'état. La plage est comprise entre 2 et 120 secondes. Cette valeur doit être de 6 secondes pour les surveillances de l'état HTTP et de 10 secondes pour les surveillances TCP et HTTPS.  | 6 secondes pour les surveillances de l'état HTTP et 10 secondes pour les surveillances TCP et HTTPS. | 
|  **HealthCheckIntervalSeconds**  |  Durée approximative, en secondes, entre les vérifications de l'état d'une cible. La plage est comprise entre 5 et 300 secondes. Le durée par défaut est 30 secondes. Les surveillances de l'état pour un Network Load Balancer sont distribuées et utilisent un mécanisme de consensus pour déterminer l'état des cibles. Par conséquent, des cibles reçoivent plus de vérifications de l'état que le nombre configuré. Pour réduire l'impact sur vos cibles si vous utilisez des vérifications d'état HTTP, utilisez une destination plus simple sur les cibles, par exemple, un fichier HTML statique, ou basculez vers des vérifications d'état TCP.  | 30 secondes | 
|  **HealthyThresholdCount**  |  Le nombre de réussites consécutives de la vérification de l'état à partir duquel une cible défectueuse est considérée comme saine. La plage est comprise entre 2 et 10. La valeur par défaut est 5.  | 5 | 
|  **UnhealthyThresholdCount**  |  Le nombre d'échecs consécutifs de la vérification de l'état à partir duquel une cible est considérée comme défectueuse. La plage est comprise entre 2 et 10. La valeur par défaut est 2.  | 2 | 
|  **Matcher**  |  [Vérifications de l'état HTTP/HTTPS] Les codes HTTP à utiliser lors de la recherche d'une réponse de réussite provenant d'une cible. La plage est comprise entre 200 et 599. La valeur par défaut est comprise entre 200 et 399.  | 200-399 | 

## État de santé d'une cible
<a name="target-health-states"></a>

Avant que l'équilibreur de charge n'envoie une demande de vérification de l'état à une cible, vous devez enregistrer cette cible auprès d'un groupe cible, spécifier son groupe cible dans une règle d'écouteur et vous assurer que la zone de disponibilité de la cible est activée pour l'équilibreur de charge.

Le tableau suivant décrit les valeurs possibles de l'état de santé d'une cible enregistrée.


| Value | Description | 
| --- | --- | 
| `initial` |  L'équilibreur de charge est en train d'enregistrer la cible ou d'exécuter les vérifications de l'état initiales sur la cible. Codes de motif connexes : `Elb.RegistrationInProgress` \$1 `Elb.InitialHealthChecking`  | 
| `healthy` |  La cible est saine. Codes de motif connexes : aucun  | 
| `unhealthy` |  La cible n'a pas répondu à un bilan de santé, a échoué au bilan de santé ou est en état d'arrêt. Code motif connexe : `Target.FailedHealthChecks`  | 
| `draining` |  L'enregistrement de la cible est en cours d'annulation et le drainage de la connexion est en cours. Code motif connexe : `Target.DeregistrationInProgress`  | 
| `unhealthy.draining` |  La cible n'a pas répondu aux examens de santé ou a échoué aux examens de santé et entre dans une période de grâce. La cible prend en charge les connexions existantes et n'acceptera aucune nouvelle connexion pendant cette période de grâce. Code motif connexe : `Target.FailedHealthChecks`  | 
| `unavailable` |  L'état cible n'est pas disponible. Code motif connexe : `Elb.InternalError`  | 
| `unused` |  La cible n'est pas enregistrée auprès d'un groupe cible, le groupe cible n'est pas utilisé dans une règle d'écoute ou la cible se trouve dans une zone de disponibilité non activée. Codes de motif connexes : `Target.NotRegistered` \$1 `Target.NotInUse` \$1 `Target.InvalidState` \$1 `Target.IpUnusable`  | 

## Codes de motif de vérification de l'état
<a name="target-health-reason-codes"></a>

Si l'état d'une cible correspond à une valeur autre que `Healthy`, l'API renvoie un code de motif et une description du problème, et la console affiche la même description dans une info-bulle. Notez que les codes de motif qui commencent par `Elb` proviennent de l'équilibreur de charge et que ceux qui commencent par `Target` proviennent de la cible.


| Code de motif | Description | 
| --- | --- | 
| `Elb.InitialHealthChecking` |  Vérifications de l'état initiales en cours  | 
| `Elb.InternalError` |  Échec des vérifications de l'état initiales en raison d'une erreur interne  | 
| `Elb.RegistrationInProgress` |  Enregistrement de la cible en cours  | 
| `Target.DeregistrationInProgress` |  Annulation de l'enregistrement de la cible en cours  | 
| `Target.FailedHealthChecks` |  Échec des vérifications de l'état  | 
| `Target.InvalidState` |  La cible est à l'état arrêté. La cible est à l'état résilié. La cible est à l'état résilié ou arrêté. La cible est à un état non valide.  | 
| `Target.IpUnusable` |  L'adresse IP ne peut pas être utilisée en tant que cible, car elle est utilisée par un équilibreur de charge  | 
| `Target.NotInUse` |  Le groupe cible n'est pas configuré de façon à recevoir le trafic de l'équilibreur de charge La cible est dans une zone de disponibilité qui n'est pas activée pour l'équilibreur de charge  | 
| `Target.NotRegistered` |  La cible n'est pas enregistrée auprès du groupe cible  | 

# Vérifiez l'état de vos cibles Network Load Balancer
<a name="check-target-health"></a>

Vous pouvez vérifier l'état de santé des cibles enregistrées auprès de vos groupes cible. Pour obtenir de l'aide en cas d'échec du bilan de santé, voir [Résolution des problèmes : une cible enregistrée n'est pas en service](load-balancer-troubleshooting.md#target-not-in-service).

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

**Pour vérifier l'état de santé de vos cibles**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sous **Répartition de charge**, choisissez **Groupes cibles**.

1. Sélectionnez le nom du groupe cible pour afficher sa page de détails.

1. L'onglet **Détails** affiche le nombre total de cibles, plus le nombre de cibles pour chaque état de santé.

1. Dans l'onglet **Cible**, la colonne **Statut d'état** indique le statut de chaque cible.

1. Si le statut d'une cible est une valeur autre que `Healthy`, la colonne **Détails de l'état de santé** contient des informations supplémentaires.

**Pour recevoir des notifications par e-mail concernant des cibles non saines**  
Utilisez des CloudWatch alarmes pour déclencher une fonction Lambda afin d'envoyer des informations sur les cibles défectueuses. Pour step-by-step obtenir des instructions, consultez le billet de blog suivant : [Identifier les cibles défectueuses de votre équilibreur de charge](https://aws.amazon.com/blogs/networking-and-content-delivery/identifying-unhealthy-targets-of-elastic-load-balancer/).

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

**Pour vérifier l'état de santé de vos cibles**  
Utilisez la commande [describe-target-health](https://docs.aws.amazon.com/cli/latest/reference/elbv2/describe-target-health.html). Cet exemple filtre la sortie pour n'inclure que les cibles qui ne sont pas saines. Pour les cibles qui ne sont pas saines, la sortie inclut un code de motif.

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

Voici un exemple de sortie.

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

------

## États cibles et codes de motif
<a name="target-states-reason-codes"></a>

La liste suivante indique les codes de motif possibles pour chaque État cible.

**L'état cible est healthy**  
Aucun code de motif n'est fourni.

**L'état cible est initial**  
+  `Elb.RegistrationInProgress`- La cible est en cours d'enregistrement auprès de l'équilibreur de charge.
+  `Elb.InitialHealthChecking`- L'équilibreur de charge envoie toujours à la cible le nombre minimum de bilans de santé requis pour déterminer son état de santé.

**L'état cible est unhealthy**  
+ `Target.FailedHealthChecks`- L'équilibreur de charge a reçu une erreur lors de l'établissement d'une connexion avec la cible ou la réponse de la cible a été mal formée.

**L'état cible est unused**  
+ `Target.NotRegistered`- La cible n'est pas enregistrée auprès du groupe cible.
+ `Target.NotInUse`- Le groupe cible n'est utilisé par aucun équilibreur de charge ou la cible se trouve dans une zone de disponibilité non activée pour son équilibreur de charge.
+ `Target.InvalidState`- La cible est à l'état arrêté ou terminé.
+ `Target.IpUnusable`- L'adresse IP cible est réservée à l'utilisation d'un équilibreur de charge.

**L'état cible est draining**  
+ `Target.DeregistrationInProgress`- La cible est en cours de désinscription et le délai de désinscription n'est pas expiré.

**L'état cible est unavailable**  
+ `Elb.InternalError`- L'état de santé cible n'est pas disponible en raison d'une erreur interne.

# Mettre à jour les paramètres de contrôle de santé d'un groupe cible de Network Load Balancer
<a name="modify-health-check-settings"></a>

Vous pouvez mettre à jour les paramètres du bilan de santé de votre groupe cible à tout moment. Pour consulter la liste des paramètres du bilan de santé, voir[Paramètres de surveillance de l'état](target-group-health-checks.md#health-check-settings).

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

**Pour mettre à jour les paramètres du bilan de santé**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sous **Répartition de charge**, choisissez **Groupes cibles**.

1. Sélectionnez le nom du groupe cible pour afficher sa page de détails.

1. Dans l'onglet **Health checks**, choisissez **Edit**.

1. Sur la page **Modifier les paramètres du bilan de santé**, modifiez les paramètres selon vos besoins.

1. Sélectionnez **Enregistrer les modifications**.

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

**Pour mettre à jour les paramètres du bilan de santé**  
Utilisez la commande [modify-target-group](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-target-group.html). L'exemple suivant met à jour les **HealthCheckTimeoutSeconds**paramètres **HealthyThresholdCount**et.

```
aws elbv2 modify-target-group \
    --target-group-arn target-group-arn \
    --healthy-threshold-count 3 \
    --health-check-timeout-seconds 20
```

------
#### [ CloudFormation ]

**Pour mettre à jour les paramètres du bilan de santé**  
Mettez à jour la [AWS::ElasticLoadBalancingV2::TargetGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html)ressource pour inclure les paramètres de contrôle de santé mis à jour. L'exemple suivant met à jour les **HealthCheckTimeoutSeconds**paramètres **HealthyThresholdCount**et.

```
Resources:
  myTargetGroup:
    Type: 'AWS::ElasticLoadBalancingV2::TargetGroup'
    Properties:
      Name: my-target-group
      Protocol: TCP
      Port: 80
      TargetType: instance
      VpcId: !Ref myVPC
      HealthyThresholdCount: 3
      HealthCheckTimeoutSeconds: 20
```

------