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

Dernière mise à jour : 25/08/2022

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 backend dans chaque zone de disponibilité dans laquelle votre Classic Load Balancer est configuré pour répondre. Assurez-vous que les instances backend enregistrées n'échouent pas aux surveillances de l'état et qu'elles sont dimensionnées de manière appropriée pour gérer la charge requise par votre 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, 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 sont en cours d'exécution, mais que la métrique UnhealthyHostCount indique que les instances ne sont pas saines, vérifiez que l'application 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 Résoudre les problèmes liés à un Classic Load Balancer : surveillance de l'état de santé.

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

Vérifiez que votre équilibreur de charge et vos instances backend sont capables de gérer l'utilisation du CPU, la mémoire, le 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 ?


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