Résolution des problèmes liés aux équilibreurs de charge de service dans Amazon ECS - Amazon Elastic Container Service

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.

Résolution des problèmes liés aux équilibreurs de charge de service dans Amazon ECS

Les services Amazon ECS service peuvent enregistrer des tâches auprès d'un équilibreur de charge Elastic Load Balancing. Les erreurs de configuration d'équilibreur de charge sont des causes courantes de l'arrêt des tâches. Si vos tâches arrêtées ont été lancées par des services qui utilisent un équilibreur de charge, pensez aux causes possibles suivantes.

Le rôle lié au service Amazon ECS n'existe pas

Le rôle lié à un service Amazon ECS service permet aux services Amazon ECS service d'enregistrer des instances de conteneur avec des équilibreurs de charge Elastic Load Balancing. Le rôle lié à un service doit être créé dans votre compte. Pour plus d’informations, consultez Utilisation des rôles liés à un service pour Amazon ECS.

Groupe de sécurité des instances de conteneurs

Si votre conteneur est mappé au port 80 sur votre instance de conteneur, votre groupe de sécurité d'instance de conteneur doit autoriser le trafic entrant sur le port 80 pour que les surveillances de l'état de l'équilibreur de charge réussissent.

L'équilibreur de charge Elastic Load Balancing n'est pas configuré pour toutes les zones de disponibilité

Votre équilibreur de charge doit être configuré pour utiliser toutes les zones de disponibilité d'une région, ou au moins toutes les zones de disponibilité dans lesquelles se trouvent vos instances de conteneur. Si un service utilise un équilibreur de charge et lance une tâche sur une instance de conteneur située dans une zone de disponibilité que l'équilibreur de charge n'est pas configuré pour utiliser, la tâche ne passe jamais le test de santé. Cela entraîne l'arrêt de la tâche.

Le bilan de santé de l'équilibreur de charge Elastic Load Balancing est mal configuré

Les paramètres de surveillance de l'état de l'équilibreur de charge peuvent être trop restrictifs ou pointer vers des ressources qui n'existent pas. S'il est déterminé qu'une instance de conteneur est défectueuse, elle est supprimée de l'équilibreur de charge. Veillez à vérifier si les paramètres suivants sont correctement configurés pour votre équilibreur de charge de service.

Ping Port

La valeur Ping Port pour une surveillance de l'état d'équilibreur de charge correspond au port des instances de conteneur vérifiées par l'équilibreur de charge pour en déterminer l'état. Si ce port n'est pas correctement configuré, l'équilibreur de charge est susceptible d'annuler l'enregistrement de votre instance de conteneur. Ce port doit être configuré de manière à utiliser la valeur hostPort correspondant au conteneur dans la définition de tâche de votre service que vous utilisez avec la surveillance de l'état.

Ping Path

Cela fait partie du bilan de santé de l'équilibreur de charge. Il s'agit d'un point de terminaison de votre application qui peut renvoyer un code d'état valide (par exemple, 200) lorsque l'application est saine. Cette valeur est souvent définie sur index.html, mais si votre service ne répond pas à cette demande, la surveillance de l'état échoue. Si votre conteneur n'a pas de fichier index.html, vous pouvez définir la valeur / afin de cibler l'URL de base pour l'instance de conteneur.

Response Timeout

Cette valeur correspond au délai dont dispose votre conteneur pour renvoyer une réponse à la commande ping de surveillance de l'état. Si cette valeur est inférieure à la durée nécessaire pour une réponse, la surveillance de l'état échoue.

Health Check Interval

Il s'agit de la durée entre les pings de surveillance de l'état. Plus vos intervalles de surveillance de l'état sont courts, plus votre instance de conteneur peut atteindre rapidement le seuil de défectuosité.

Unhealthy Threshold

Il s'agit du nombre d'échecs possibles des surveillances de l'état avant que votre instance de conteneur ne soit considérée comme étant défectueuse. Si vous avez un seuil d'insalubrité de 2 et un intervalle de 30 secondes entre les bilans de santé, votre tâche dispose de 60 secondes pour répondre au ping du bilan de santé avant qu'elle ne soit considérée comme non saine. Vous pouvez augmenter le seuil de défectuosité ou l'intervalle de surveillance de l'état afin de donner à vos tâches plus de temps pour répondre.

Impossible de mettre à jour le nom du service : le nom du conteneur ou le port de l'équilibreur de charge ont été modifiés dans la définition de la tâche

Si votre service utilise un équilibreur de charge, vous pouvez utiliser le SDK AWS CLI ou le SDK pour modifier la configuration de l'équilibreur de charge. Pour plus d'informations sur la façon de modifier la configuration, consultez le UpdateServicemanuel Amazon Elastic Container Service API Reference. Si vous mettez à jour la définition de tâche pour le service, le nom et le port de conteneur spécifiés dans la configuration de l'équilibreur de charge doivent rester dans la définition de tâche.

Vous avez atteint la limite du nombre de tâches que vous pouvez exécuter simultanément.

Pour un nouveau compte, vos quotas peuvent être inférieurs aux Service Quotas. Le quota de service de votre compte peut être affiché dans la console Service Quotas. Pour demander une augmentation de quota, consultez Demande d'augmentation de quota dans le Guide de l'utilisateur Service Quotas.