Solución de problemas de los equilibradores de carga de servicio en Amazon ECS
Los servicios de Amazon ECS pueden registrar tareas con 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.
- No existe el rol vinculado al servicio de Amazon ECS
-
El rol vinculado al servicio de Amazon ECS permite a los servicios de Amazon ECS registrar instancias de contenedor en los balanceadores de carga de Elastic Load Balancing. El rol vinculado al servicio se debe crear en la cuenta. Para obtener más información, consulte Uso de roles vinculados al servicio para Amazon ECS.
- 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.
- El equilibrador de carga de Elastic Load Balancing no se ha configurado para todas las zonas de disponibilidad
-
El balanceador de carga se debe configurar para que utilice todas las zonas de disponibilidad de una región o, al menos, todas en las que residen sus instancias de contenedor. Si un servicio utiliza un equilibrador de carga e inicia una tarea en una instancia de contenedor que reside en la zona de disponibilidad que el equilibrador de carga no tiene configurada para utilizar, la tarea no supera nunca la comprobación de estado. Esto supone la cancelación de la tarea.
- Comprobación de estado del equilibrador de carga de Elastic Load Balancing mal configurada
-
Los parámetros de comprobación de estado del balanceador de carga pueden ser demasiado restrictivos ni señalar a recursos que no existen. Si se determina que una instancia de contenedor no está en buen estado, se elimina del equilibrador 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 que utilice el valor
hostPort
para el contenedor en la definición de tareas del servicio que está utilizando con la comprobación de estado. - Ping Path
-
Esto forma parte de la comprobación del estado del equilibrador de cargas. Es un punto de conexión de la aplicación que puede devolver un código de estado correcto (por ejemplo, 200) cuando la aplicación está en buen estado. Este valor se suele establecer en
index.html
, pero si el servicio no responde a esa solicitud, la comprobación de estado falla. Si el contenedor no tiene un archivoindex.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 o el puerto del contenedor del equilibrador de carga en la definición de tarea -
Si su servicio utiliza un equilibrador de carga, puede utilizar la AWS CLI o el SDK para modificar su configuración. Para obtener más información acerca de cómo modificar la configuración, consulte UpdateService en la Referencia de la API de Amazon Elastic Container Service. Si actualiza la definición de la tarea del servicio, el nombre y el puerto del contenedor que se especificaron en la configuración del equilibrador de carga deben permanecer en la definición de la tarea.
- Ha alcanzado el límite del número de tareas que puede ejecutar de forma simultánea.
-
Para una nueva cuenta, sus cuotas podrían ser inferiores a las cuotas de servicio. La cuota de servicio de su cuenta se puede consultar en la consola de Service Quotas. Para solicitar un aumento de cuota, consulte Solicitud de un aumento de cuota en la Guía de usuario de Service Quotas.