Comment résoudre les erreurs HTTP 503 qui s'affichent lorsque j'utilise Classic Load Balancer ?

Date de la dernière mise à jour : 27/02/2018

Des messages d'erreurs HTTP 503 s'affichent dans les journaux d'accès d'un Classic Load Balancer, dans les métriques CloudWatch ou lorsque j'entre le nom DNS de l'équilibreur de charge dans le navigateur ou à partir de mes clients. Comment puis-je résoudre ce problème ?

Brève description

Assurez-vous d'avoir enregistré les instances principales dans toutes les zones de disponibilité dans lesquelles votre Classic Load Balancer est configuré pour répondre. Par ailleurs, les instances principales enregistrées doivent réussir les surveillances de l'état et leur taille doit être suffisante pour gérer la charge requise par l'application.

Solution

Pour vérifier le nombre d'instances backend saines derrière votre équilibreur de charge, vérifiez les métriques HealthyHostCount et UnHealthyHostCount dans CloudWatch. Si les métriques de CloudWatch indiquent que vous n'avez aucun hôte sain ou que certains hôtes ne sont pas sains, vous pouvez résoudre ce problème en vérifiant les points suivants :

Assurez-vous que vos instances bakcend peuvent répondre aux surveillances de l'état

Si les instances backend semblent en cours d'exécution et saines, mais que la métrique UnhealthyHostCount indique une ou plusieurs instances non saines, assurez-vous que l'équilibreur de charge peut répondre aux demandes de surveillance de l'état. Pour les surveillances de l'état HTTP/HTTPS, assurez-vous que votre équilibreur de charge est capable de recevoir un code de réponse 200 du serveur principal. Pour les surveillances de l'état de la couche 4, l'équilibreur de charge marque l'instance comme saine si l'instance termine avec succès une négociation TCP. Pour obtenir des instructions, consultez la section Résolution des problèmes d'un Classic Load Balancer : surveillance de l'état.

Assurez-vous que votre équilibreur de charge et vos instances backend peuvent gérer la charge

Assurez-vous que votre équilibreur de charge et vos instances backend sont capables de gérer l'utilisation du processeur, la mémoire, l'utilisation du disque et le nombre de connexions requis par votre application.

Par exemple, vérifiez les métriques CloudWatch SpilloverCount et SurgeQueueLength. Si la métrique SurgeQueueLength indique le nombre maximal de 1 024 demandes placées en file d'attente ou un nombre approchant, ou si la métrique SpilloverCount est un nombre différent de zéro, cela signifie que le serveur principal ne peut pas servir les demandes aussi rapidement qu'elles lui parviennent, ou qu'il ne peut pas les servir du tout.

Vérifiez également les métriques CloudWatch CPUUtilization de vos instances backend : si vous constatez que l'utilisation du processeur atteint des pics de 100 %, ou si elle est constamment élevée pendant de longues périodes, envisagez d'ajouter d'autres instances backend, ou augmentez la taille des instances en cours. Pour obtenir des instructions relatives à la vérification d'autres valeurs telles que l'utilisation de mémoire et de disque, reportez-vous à la documentation du fournisseur de l'instance.


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


Besoin d'aide pour une question technique ou de facturation ?