Solución de problemas con los balanceadores de carga de servicio - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Solución de problemas con los balanceadores de carga de servicio

Los servicios de Amazon ECS pueden registrar tareas en un balanceador de carga de Elastic Load Balancing. Los errores de configuración de los balanceadores de carga son habitualmente la causa de que se paren las tareas. Si las tareas paradas se iniciaron mediante servicios que utilizan un balanceador de carga, tenga en cuenta las siguientes causas posibles.

importante

Las comprobaciones de estado de contenedor no se admiten para las tareas que forman parte de un servicio configurado para usar un Classic Load Balancer. El programador de servicio de Amazon ECS omite las tareas con el estado UNHEALTHY que se encuentren detrás de un Classic Load Balancer.

Permisos de IAM incorrectos para el rol ecsServiceRole de IAM

El rol ecsServiceRole permite a los servicios de Amazon ECS registrar instancias de contenedor en balanceadores de carga de Elastic Load Balancing. Debe tener los permisos adecuados definidos para este rol. Para obtener más información, consulte Rol de IAM del programador de servicio.

Grupo de seguridad de instancia de contenedor

Si el contenedor está asignado al puerto 80 en su instancia de contenedor, el grupo de seguridad de la instancia de contenedor debe permitir el tráfico de entrada en el puerto 80 para que se superen las comprobaciones de estado del balanceador de carga.

Elastic Load BalancingBalanceador de carga de no configurado para todas las zonas de disponibilidad

El balanceador de carga se debe configurar para utilizar todas las zonas de disponibilidad de una región o, al menos, todas las zonas de disponibilidad en las que residen sus instancias de contenedor. Si un servicio utiliza un balanceador de carga e inicia una tarea en una instancia de contenedor que reside en la zona de disponibilidad que el balanceador de carga no tiene configurada para utilizar, la tarea no supera nunca la comprobación de estado y se cancela.

Elastic Load BalancingComprobación de estado del balanceador de carga de mal configurado

Los parámetros de comprobación de estado del balanceador de carga pueden ser demasiado restrictivos o señalar a recursos que no existen. Si se determina que una instancia de contenedor no está en buen estado, se elimina del balanceador de carga. Asegúrese de comprobar que los parámetros siguientes estén configurados correctamente para el balanceador de carga de su servicio.

Ping Port

El valor Ping Port de una comprobación de estado del balanceador de carga es el puerto en las instancias de contenedor que comprueba el balanceador de carga para determinar si está en buen estado. Si este puerto está mal configurado, el balanceador de carga probablemente cancele el registro de su instancia de contenedor desde sí mismo. Este puerto debe estar configurado para utilizar el valor hostPort para el contenedor en la definición de tarea de su servicio que está utilizando con la comprobación de estado.

Ping Path

Este valor se suele establecer en index.html, pero si el servicio no responde a dicha solicitud, la comprobación de estado falla. Si el contenedor no tiene un archivo index.html, puede definirlo como / para alcanzar la URL base de la instancia de contenedor.

Response Timeout

Es la cantidad de tiempo de la que dispone el contenedor para devolver una respuesta al ping de comprobación de estado. Si este valor es inferior a la cantidad de tiempo requerida para una respuesta, la comprobación de estado falla.

Intervalo de comprobación de estado

Es la cantidad de tiempo entre pings de comprobación de estado. Mientras más cortos sean los intervalos de comprobación de estado, antes podrá alcanzar la instancia de contenedor el umbral en mal estado.

Unhealthy Threshold

Es el número de veces que puede fallar la comprobación de estado antes de que se considere que la instancia de contenedor está en mal estado. Si tiene un umbral en mal estado de 2 y un intervalo de comprobación de estado de 30 segundos, entonces la tarea tiene 60 segundos para responder al ping de comprobación de estado antes de que se suponga que tiene mal estado. Puede aumentar el umbral en mal estado o el intervalo de comprobación de estado para dar a sus tareas más tiempo para responder.

No se puede actualizar el servicio servicename: se ha cambiado el nombre del contenedor o el puerto del balanceador de carga en la definición de tarea

Si el servicio utiliza un balanceador de carga, no se puede cambiar la configuración del balanceador de carga definida para el servicio cuando se creó. Si actualiza la definición de la tarea para el servicio, el nombre del contenedor y el puerto del contenedor que se especificaron cuando se creó el servicio deben permanecer en la definición de la tarea.

Para cambiar el nombre del balanceador de carga, el nombre del contenedor o el puerto del contenedor asociado a una configuración de balanceador de carga de servicio, debe crear un nuevo servicio.