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

Vous pouvez enregistrer vos cibles auprès d'un ou de plusieurs groupes cibles. L'équilibreur de charge commence à acheminer les demandes vers la cible nouvellement enregistrée dès que le processus d'enregistrement est terminé. 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 plus d’informations, consultez Equilibrage de charge entre zones.

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.

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 un service UDP, la disponibilité des cibles peut être testée à l'aide de surveillances de l'état non UDP sur votre groupe cible. Vous pouvez utiliser n'importe quelle surveillance de l'état disponible (TCP, HTTP ou HTTPS) et n'importe quel port de votre cible pour vérifier la disponibilité d'un service UDP. 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 surveillances de l'état pour un service UDP, configurez le service à l'écoute sur le port de surveillance de l'état pour suivre le statut de votre service UDP et faites échouer la surveillance si le service n'est pas disponible.

Paramètres de surveillance de l'état

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 UnhealthyThresholdnombre de défaillances consécutives, l'équilibreur de charge met la cible hors service. Lorsque les bilans de santé dépassent le HealthyThresholdnombre de réussites consécutives, l'équilibreur de charge remet la cible en service.

Paramètre Description Par défaut

HealthCheckProtocole

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.

HealthCheckParcours

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

Important

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

HealthyThresholdCompter

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

UnhealthyThresholdCompter

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

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.

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 à un bilan de santé, a échoué au bilan de santé ou est à l'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 | Target.NotInUse | Target.InvalidState | Target.IpUnusable

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 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é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 Répartition de charge, choisissez Groupes cibles.

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

  4. Le panneau Détails affiche le nombre total de cibles, ainsi que le nombre de cibles pour chaque état.

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

  6. 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 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. Elle inclut un code de motif si le statut a une valeur différente de Healthy.

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.

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 pour 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 Répartition de charge, choisissez Groupes cibles.

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

  4. Dans l'onglet Health checks, choisissez Edit.

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

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

Utilisez la commande modify-target-group.