Comment résoudre les problèmes d'échec des surveillances de l'état pour les équilibreurs Application Load Balancer ?
Les cibles enregistrées dans mon Application Load Balancer ne sont pas saines. Comment déterminer la cause de l'échec des surveillances de l'état de mes cibles ?
Résolution
Pour résoudre les problèmes d'échec des vérifications d'état de votre Application Load Balancer :
1. Vérifiez l'état de vos cibles pour rechercher le code de la raison et la description de votre problème.
2. Suivez les étapes de résolution ci-dessous correspondant au message d'erreur que vous avez reçu.
Elb.InitialHealthChecking
Description : les surveillances de l'état initiales sont en cours.
Résolution : pour qu'une cible puisse recevoir les demandes de l'équilibreur de charge, les vérifications d'état initiales de la cible doivent aboutir. Attendez que les surveillances de l'état initiales aboutissent et vérifiez de nouveau l'état.
Elb.RegistrationInProgress
Description : l'enregistrement de la cible est en cours.
Solution : l'équilibreur de charge commence à acheminer les demandes vers la cible dès que le processus d'enregistrement est terminé et que les surveillances de l'état initiales ont abouti.
Target.DeregistrationInProgress
Description : l'annulation de l'enregistrement de la cible est en cours.
Résolution : lorsque vous annulez l'enregistrement d'une cible, l'équilibreur de charge attend que les demandes en cours soient terminées. Cette période s'appelle le délai d'annulation d'enregistrement. Par défaut, Elastic Load Balancing attend 300 secondes avant de terminer le processus d'annulation d'enregistrement. Toutefois, vous pouvez personnaliser cette valeur.
Si une annulation d'enregistrement de cible n'a pas de demandes en cours et de connexions actives, Elastic Load Balancing annule l'enregistrement immédiatement, sans attendre que le délai d'annulation d'enregistrement soit écoulé. L'état initial d'une cible dont l'enregistrement est en cours d'annulation est Draining (Drainage). Une fois le délai d'annulation d'enregistrement écoulé, le processus d'annulation d'enregistrement se termine et l'état de la cible devient Unused (Inutilisée). Si la cible fait partie d'un groupe Auto Scaling, elle peut être résiliée et remplacée.
Target.FailedHealthChecks
Description : l'équilibreur de charge a reçu une erreur lors de l'établissement d'une connexion à la cible, ou la réponse de la cible était incorrecte.
Solution :
- Vérifiez que votre application est en cours d'exécution. Utilisez la commande service pour vérifier l'état des services sur les cibles Linux. Pour les cibles Windows, consultez l'onglet Services du gestionnaire des tâches de Windows. Si le service est arrêté, démarrez-le. Si le service n'est pas reconnu, vérifiez que le service requis est installé.
- Vérifiez que la cible écoute le trafic sur le port de surveillance de l'état. Vous pouvez utiliser la commande ss sur les cibles Linux pour identifier les ports qu'écoute votre serveur. Pour les cibles Windows, vous pouvez utiliser la commande netstat.
- Vérifiez que votre application répond aux demandes de surveillance de l'état de l'équilibreur de charge en conséquence. L'exemple suivant montre une demande type de surveillance de l'état d'Application Load Balancer à laquelle vos cibles doivent envoyer une réponse HTTP valide. La valeur d'en-tête Host (Hôte) contient l'adresse IP privée de la cible, suivie du port de surveillance de l'état. User-agent a la valeur ELB-HealthChecker/2.0. La fin de ligne des champs d'en-tête de message est la séquence CRLF, et l'en-tête s'arrête à la première ligne vide suivie d'une CRLF. Si nécessaire, ajoutez un hôte virtuel par défaut à votre configuration de serveur web pour recevoir les demandes de surveillance de l'état.
GET / HTTP/1.1 Host: 10.0.0.1:80 Connection: close User-Agent: ELB-HealthChecker/2.0 Accept-Encoding: gzip, compressed
- Le type de cible de votre groupe cible détermine l'interface réseau à laquelle l'équilibreur de charge envoie les surveillances de l'état sur les cibles. Par exemple, vous pouvez enregistrer des ID d'instances, des adresses IP et des fonctions Lambda. Si le type de cible est l'ID d'instance, l'équilibreur de charge envoie les demandes de vérification d'état à l'interface réseau principale des cibles. Si le type de cible est l'adresse IP, l'équilibreur de charge envoie les demandes de vérification d'état à l'interface réseau associée à l'adresse IP correspondante. Si vos cibles ont plusieurs interfaces attachées, vérifiez que votre application écoute sur l'interface réseau correcte.
- La politique de sécurité ELBSecurityPolicy-2016-08 est utilisée pour les connexions cibles et les surveillances de l'état HTTPS. Vérifiez que la cible fournit un certificat de serveur et une clé dans le format spécifié dans la politique de sécurité. Vérifiez également que la cible prend en charge un ou plusieurs chiffrements correspondants et un protocole fourni par l'équilibreur de charge pour établir la liaison TLS.
Target.InvalidState
Description : la cible est à l'état Stopped (Arrêtée) ou Terminated (Résiliée).
Solution : Si la cible est une instance Amazon Elastic Compute Cloud (Amazon EC2), ouvrez la console Amazon EC2. Vérifiez ensuite que l'instance est en cours d'exécution. Démarrez l'instance si nécessaire.
Target.IpUnusable
Description : l'adresse IP ne peut pas être utilisée en tant que cible, car elle est utilisée par un équilibreur de charge.
Résolution : lorsque vous créez un groupe cible, vous spécifiez son type de cible. Lorsque la cible est de type IP, ne choisissez pas une adresse IP qu'un équilibreur de charge utilise déjà.
Target.NotInUse
Description : le groupe cible n'est pas utilisé par un équilibreur de charge ou la cible est dans une zone de disponibilité qui n'est pas activée pour l'équilibreur de charge.
Solution :
- Vérifiez le groupe cible et assurez-vous qu'il est configuré pour recevoir le trafic de l'équilibreur de charge.
- Vérifiez que la zone de disponibilité de la cible est activée pour l'équilibreur de charge.
Target.NotRegistered
Description : la cible n'est pas enregistrée dans le groupe cible.
Résolution : vérifiez que la cible est enregistrée dans le groupe cible.
Target.ResponseCodeMismatch
Description : les surveillances de l'état n'ont pas retourné un code HTTP attendu.
Solution :
- Les codes de succès sont les codes HTTP à utiliser lors de la recherche d'une réponse de succès provenant d'une cible. Vous pouvez spécifier des valeurs ou des plages de valeurs entre 200 et 499. La valeur par défaut est 200. Vérifiez la configuration de la vérification d'état de votre équilibreur de charge pour identifier les codes de succès qu'il doit recevoir. Ensuite, examinez les journaux d'accès au serveur Web pour déterminer si les codes de succès attendus sont renvoyés. Modifiez la valeur de code de succès si nécessaire.
- Vérifiez que le chemin ping est valide. Le chemin ping est la destination des vérifications d'état sur les cibles. Veillez à spécifier un URI (/path?query) valide. La valeur par défaut est /. Modifiez la valeur de chemin ping si nécessaire.
Target.Timeout
Description : délai d’attente de la demande dépassé.
Résolution : si vous pouvez vous connecter, la page cible peut ne pas répondre avant l'expiration de la période de surveillance de l'état. La plupart des serveurs web, comme NGINX et IIS, permettent de consigner le délai de réponse du serveur. Si vos demandes de surveillance de l'état prennent plus de temps que le délai d’expiration configuré, vous pouvez :
- Choisir une page cible plus simple pour la vérification d'état.
- Ajuster les paramètres de vérification d'état.
Si vous ne pouvez pas vous connecter :
- Vérifiez que le groupe de sécurité associé à la cible autorise le trafic à partir depuis l'équilibreur de charge en utilisant le port et le protocole de surveillance de l'état. Vous pouvez ajouter une règle au groupe de sécurité pour autoriser tout le trafic à partir du groupe de sécurité de l'équilibreur de charge. En outre, le groupe de sécurité de votre équilibreur de charge doit autoriser le trafic vers les cibles.
- Vérifiez que la liste ACL réseau associée aux sous-réseaux de votre cible autorise le trafic entrant sur le port de surveillance de l'état. Vérifiez qu'elle autorise également le trafic sortant sur les ports éphémères (1024-65535).
- Vérifiez que la liste ACL réseau associée aux sous-réseaux de vos nœuds d'équilibreur de charge autorise le trafic entrant sur les ports éphémères. Vérifiez qu'elle autorise également le trafic sortant sur les ports de surveillance de l'état et les ports éphémères.
- Vérifiez que tous les pare-feu au niveau du système d'exploitation sur la cible autorisent le trafic de surveillance de l'état entrant et sortant.
- Vérifiez que la table de routage des sous-réseaux associés à la cible contient une entrée qui autorise le trafic de surveillance de l'état vers l'équilibreur de charge.
- Vérifiez que l'utilisation de la mémoire et du processeur de vos cibles est dans la plage admise. Si l'utilisation de la mémoire ou du processeur est trop élevée, ajoutez des cibles ou augmentez la capacité de votre groupe Auto Scaling. Si votre cible est une instance EC2, vous pouvez également mettre à niveau l'instance vers un type d'instance supérieur.
Informations connexes
Résolution des problèmes liés à vos équilibreurs Application Load Balancer (Langue Français non garanti)
Vidéos associées

Contenus pertinents
- demandé il y a 4 moislg...
- demandé il y a 2 moislg...
- demandé il y a 4 moislg...
- demandé il y a 6 moislg...
- demandé il y a 4 moislg...
- AWS OFFICIELA mis à jour il y a 5 ans
- AWS OFFICIELA mis à jour il y a 9 mois
- AWS OFFICIELA mis à jour il y a 10 mois
- AWS OFFICIELA mis à jour il y a un mois