Surveillance de l'état de vos groupes cibles - Elastic Load Balancing

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.

Surveillance de l'état de vos groupes cibles

Votre Application Load Balancer envoie périodiquement des demandes à ses cibles enregistrées pour tester leur état. Ces tests sont appelés vérifications de l'état.

Chaque nœud de l'équilibreur de charge achemine les demandes uniquement vers les cibles saines dans les zones de disponibilité activées pour l'équilibreur de charge. Chaque nœud d'équilibreur de charge vérifie l'état de santé de chaque cible en utilisant les paramètres de vérification de l'état des groupes cibles auprès desquels les cibles sont enregistrées. Une fois que votre cible est enregistrée, elle doit passer avec succès une seule vérification de l'état pour être considérée comme saine. Lorsque toutes les vérifications de l'état sont terminées, le nœud d'équilibreur de charge ferme la connexion qui a été établie pour la vérification de l'état.

Si un groupe cible ne contient que des cibles enregistrées non conformes, l'équilibreur de charge achemine les demandes vers toutes ces cibles, quel que soit leur état. Cela signifie que 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. L'effet de fail-open est d'autoriser le trafic à destination de toutes les cibles situées dans toutes les zones de disponibilité activées, quel que soit leur état, sur la base de l'algorithme de répartition de charge.

Les bilans de santé ne sont pas pris en charge WebSockets.

Paramètres de surveillance de l'état

Vous configurez les surveillances de l'état pour les cibles d'un groupe cible comme décrit dans le tableau suivant. Les noms de paramètres utilisés dans le tableau sont les noms utilisés dans l'API. L'équilibreur de charge envoie une demande de contrôle de santé à chaque cible enregistrée toutes les HealthCheckIntervalSecondssecondes, en utilisant le port, le protocole et le chemin de contrôle d'état spécifiés. Chaque demande de vérification de l'état est indépendante et le résultat dure pendant la totalité de l'intervalle. Le temps nécessaire pour que la cible réponde n'affecte pas l'intervalle pour la demande de vérification de l'état suivante. Si les bilans de santé dépassent le nombre de défaillances UnhealthyThresholdCountconsécutives, l'équilibreur de charge met la cible hors service. Lorsque les bilans de santé dépassent le nombre de réussites HealthyThresholdCountconsécutives, l'équilibreur de charge remet la cible en service.

Paramètre Description

HealthCheckProtocol

Protocole utilisé par l'équilibreur de charge lors des vérifications de l'état des cibles. Les protocoles possibles sont HTTP et HTTPS. La valeur par défaut est le protocole HTTP.

Le chemin d'accès auquel envoyer les demandes de surveillance de l'état.

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.

HealthCheckPath

La destination des surveillances de l'état des cibles.

Si la version du protocole est HTTP/1.1 ou HTTP/2, spécifiez un URI valide (/path?query). La valeur par défaut est /.

Si la version du protocole est gRPC, indiquez le chemin d'une méthode de surveillance de l'état personnalisée au format /package.service/method. L’argument par défaut est /AWS.ALB/healthcheck.

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. La valeur par défaut est de 5 secondes si le type de la cible est instance ou ip et de 30 secondes si le type de la cible est lambda.

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. La valeur par défaut est de 30 secondes si le type de la cible est instance ou ip et de 35 secondes si le type de la cible est lambda.

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.

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.

Matcher

Les codes à utiliser lors de la recherche d'une réponse positive provenant d'une cible. Ils sont appelés codes de réussite dans la console.

Si la version du protocole est HTTP/1.1 ou HTTP/2, les valeurs possibles sont comprises entre 200 et 499. Vous pouvez spécifier plusieurs valeurs (par exemple, « 200,202 ») ou une plage de valeurs (par exemple, « 200-299 »). La valeur par défaut est 200.

Si la version du protocole est gRPC, les valeurs possibles sont comprises entre 0 et 99. Vous pouvez spécifier plusieurs valeurs (par exemple, « 0,1 ») ou une plage de valeurs (par exemple, « 0-5 »). La valeur par défaut est 12.

État de santé d'une cible

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. Pour qu'une cible puisse recevoir des demandes de l'équilibreur de charge, elle doit passer avec succès les vérifications de l'état initiales. Lorsqu'une cible a passé avec succès les vérifications de l'état initiales, son état est Healthy.

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

Valeur 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 | Elb.InitialHealthChecking

healthy

La cible est saine.

Codes de motif connexes : aucun

unhealthy

La cible n'a pas répondu à une vérification de l'état ou a échoué à la vérification de l'état.

Codes de motif connexes : Target.ResponseCodeMismatch | Target.Timeout | Target.FailedHealthChecks | 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'écouteur, la cible est dans une zone de disponibilité qui n'est pas activée pour l'équilibreur de charge, ou l'état de la cible indique qu'elle a été arrêtée ou résiliée.

Codes de motif connexes : Target.NotRegistered | Target.NotInUse | Target.InvalidState | Target.IpUnusable

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

unavailable

Les vérifications de l'état sont désactivées pour le groupe cible.

Code motif connexe : Target.HealthCheckDisabled

Codes de motif de vérification de l'état

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. Les codes de motif qui commencent par Elb proviennent de l'équilibreur de charge et ceux qui commencent par Target proviennent de la cible. Pour plus d'informations sur les causes possibles des échecs liés aux surveillances de l'état, consultez Résolution des problèmes.

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.HealthCheckDisabled

Les vérifications de l'état sont désactivées

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

Target.ResponseCodeMismatch

Les vérifications de l'état ont échoué et généré les codes suivants : [code]

Target.Timeout

Délai d'attente de la demande dépassé

Vérifier l'état de santé de vos cibles

Vous pouvez vérifier l'état de santé des cibles enregistrées auprès de vos groupes cible.

Pour vérifier l'état de santé de vos cibles à l'aide de la console
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sous Load Balancing (Répartition de charge), choisissez Target Groups (Groupes cibles).

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

  4. Dans l'onglet Targets, la colonne Status indique l'état de chaque cible.

  5. Si le statut est une valeur autre que Healthy, la colonne Détails de l'état contient des informations supplémentaires. Pour obtenir de l'aide en cas d'échec des surveillances de l'état, consultez Résolution des problèmes.

Pour vérifier l'état de santé de vos cibles à l'aide du AWS CLI

Utilisez la commande describe-target-health. La sortie de cette commande contient l'état de santé de la cible. Si le statut est différent de Healthy, la sortie inclut également un code de motif.

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 non saines. Pour step-by-step obtenir des instructions, consultez le billet de blog suivant : Identifier les cibles défectueuses de votre équilibreur de charge.

Modifier les paramètres de vérification de l'état d'un groupe cible

Vous pouvez modifier les paramètres de vérification de l'état de votre groupe cible à tout moment.

Pour modifier les paramètres de vérification de l'état d'un groupe cible à l'aide de la console
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sous Load Balancing (Répartition de charge), choisissez Target Groups (Groupes cibles).

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

  4. Dans l'onglet Détails du groupe, dans la section Paramètres de surveillance de l'état, choisissez Modifier.

  5. Sur la page Modifier les paramètres de surveillance de l'état, modifiez les paramètres selon vos besoins, puis choisissez Enregistrer les modifications.

Pour modifier les paramètres du bilan de santé d'un groupe cible à l'aide du AWS CLI

Utilisez la commande modify-target-group.