Comment résoudre les erreurs 503 (service indisponible) de mon Application Load Balancer ?

Date de la dernière mise à jour : 13/05/2022

Je reçois une erreur HTTP 503 (Service indisponible) lorsque j'utilise un Application Load Balancer (ALB). Comment puis-je résoudre cette erreur ?

Brève description

Pour déterminer si l'Application Load Balancer génère les erreurs 503, effectuez l'une des opérations suivantes :

  • Accédez à vos métriques CloudWatch et localisez une métrique labellisée HttpCode_ELB_503_Count.
  • Exécutez cette commande CURL. Si la réponse contient « 503 Service Temporally Unavailable », l'erreur provient de l'Application Load Balancer.
    Assurez-vous de remplacer MY_URL par l'URL utilisée pour accéder à l'Application Load Balancer :
$ curl -IkL MY_URL
  • Vérifiez vos journaux d'accès de votre Application Load Balancer. Vérifiez qu'il existe un elb_status_code = 503 dans les journaux.
  • Si vous voyez erreur 503 dans l'un de ces emplacements, c'est que l'erreur est générée par votre Application Load Balancer. Pour résoudre cette erreur, suivez les étapes de dépannage suivantes.

    Résolution

    Vérifiez que le groupe cible comporte des cibles enregistrées

    Vérification à l'aide de la console EC2

    1.  Ouvrez la console Amazon EC2.
    2. Dans le panneau de navigation, sous Load Balancing (Répartition de charge), sélectionnez Target Groups (Groupes cibles).
    3. Choisissez le nom du groupe cible pour ouvrir la page de détails qui le concerne.
    4. Cliquez sur l'ongletTarget (Cibles).
    5. Vérifiez que des cibles sont répertoriées. Si elles sont listées, cela signifie qu'elles sont enregistrées.

    Vérification à l'aide de l'AWS CLI

    Remarque : si vous recevez des erreurs lors de l'exécution de commandes AWS CLI, assurez-vous que vous utilisez la version la plus récente de l'AWS CLI.

    Pour vérifier les cibles à l'aide de l'AWS CLI, utilisez la commande describe-target-health.

    Enregistrer des cibles

    Si vous ne voyez aucune cible enregistrée, enregistrez-la via la console ou via l'AWS CLI.

    Vérifiez que le groupe cible est associé à un groupe Auto Scaling (si vous utilisez la scalabilité automatique)

    Si votre groupe cible fait partie d'un groupe Auto Scaling, vérifiez que les deux sont correctement associés. Si ce n'est pas le cas, attachez les groupes.

    Vérification à l'aide de la console EC2 :

    1. Ouvrez la console Amazon EC2.
    2. Dans le panneau de navigation, sous Auto Scaling (Scalabilité automatique), choisissez Auto Scaling Groups (Groupes Auto Scaling).
    3. Choisissez le groupe Auto Scaling que vous souhaitez vérifier.
    4. Sous Load balancing (Équilibrage de charge), vérifiez que le groupe cible de l'Application Load Balancer est associé au groupe Auto Scaling.

    Vérification à l'aide de l'AWS CLI

    Exécutez la commande describe-auto-scaling. Assurez de remplacez MY-ASG par le nom de votre groupe Auto Scaling. Remplacez AWS-REGION par votre Région AWS spécifique.

    $ aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name MY-ASG --region AWS-REGION

    Dans la sortie de la commande, vérifiez que le groupe cible est répertorié sous TargetGroupARNs.

    Attachez le groupe cible

    Si les groupes cibles ne sont pas attachés au groupe Auto Scaling, associez-les via la console ou via la CLI.

    Vérifiez l'état de la cible

    Après avoir confirmé que vos cibles sont enregistrées, vérifiez qu'elles sont dans un état sain. Pour plus d'informations, reportez-vous à Comment puis-je résoudre les problèmes de surveillance de l'état pour Application Load Balancer ?


    DeregisterTargets (Désenregistrer les cibles)

    AttachLoadBalancerTargetGroups (Associer des groupes cibles d'équilibrage de charge)

    Cet article vous a-t-il été utile ?


    Avez-vous besoin d'aide pour une question technique ou de facturation ?