¿Cómo soluciono los errores de comprobación de estado para las tareas de Amazon ECS en Fargate?
Tengo errores en las comprobaciones de estado de mis tareas de Amazon Elastic Container Service (Amazon ECS) en AWS Fargate.
Resolución
Solucionar los errores más comunes del balanceador de carga
Si recibe alguno de los siguientes errores:
- (servicio AWS-Service) (puerto 8080) no está en buen estado en (target-grouparn:uxyztargetgroup/aws-targetgroup/123456789) debido a (motivo Las comprobaciones de estado fallaron con estos códigos: [502]) o [request timeout]
- (servicio AWS-Service) (puerto 8080) no está en buen estado dentro del grupo objetivo tf-20190411170 debido a (motivo: Las comprobaciones de estado fallaron)
Trate con estos pasos para solucionar el problema:
- Si su contenedor está asignado al puerto 80, confirme que su grupo de seguridad de contenedores permita el tráfico entrante en el puerto 80 para el balanceador de carga.
- Confirme que el valor de la señal del puerto para el estado del balanceador de carga esté configurado correctamente. Si este puerto no se ha configurado correctamente, entonces su balanceador de carga podría anular el registro del contenedor por sí mismo.
- Defina un período de gracia mínimo para las comprobaciones de estado. Esto indica al programador de servicios que ignore las comprobaciones de estado de Elastic Load Balancing durante un período de tiempo predefinido después de que se haya instanciado una tarea.
- Supervise las métricas de CPU y memoria del servicio. Por ejemplo, una CPU alta puede hacer que la aplicación deje de responder y provocar un error 502.
- Compruebe los registros de tu aplicación para ver si hay errores.
- Compruebe si la señal del puerto y la ruta de la comprobación de estado se hayan configurado correctamente.
- Asegúrese de que su base de datos de backend esté conectada correctamente. Esto supone que la aplicación se ejecuta como un conjunto de tareas lanzadas por Amazon Elastic Container Service (Amazon ECS) en instancias de Amazon Elastic Compute Cloud (Amazon EC2). También supone que la aplicación no puede comunicarse con la base de datos de Amazon Relational Database Service (Amazon RDS).
Solucionar errores 504
Puede recibir un error 504 por cualquiera de los siguientes motivos:
- Su balanceador de carga no pudo establecer una conexión con el destino antes de que expirara el tiempo de espera de la conexión (10 segundos).
- Su balanceador de carga estableció una conexión con el destino, pero el destino no respondió antes de que transcurriera el tiempo de espera.
- La lista de control de acceso a la red de su subred no permite el tráfico desde los destinos a los nodos del balanceador de carga de los puertos efímeros (1024-65535)
Si recibes un error 504 como el siguiente:
- (servicio AWS-Service) (puerto 8080) no está en buen estado en el grupo objetivo debido a (motivo) Las comprobaciones de estado fallaron con estos códigos:[504]
Trate con estos pasos para solucionar el problema:
- Confirme que el backend ha respondido correctamente sin demora.
- Establezca correctamente el valor del tiempo de espera de respuesta.
Nota: El tiempo de espera de respuesta es la cantidad de tiempo que tiene tu contenedor para devolver una respuesta a la señal de comprobación de estado. Si este valor es inferior al tiempo necesario para responder, se produce un error en la comprobación de estado. - Consulte los registros de acceso de su balanceador de carga para obtener más información sobre los errores.
Solucionar problemas en las comprobaciones de estado del contenedor fallidas
Si aparece el siguiente error, significa que su servicio no está integrado con su balanceador de carga, pero los contenedores de su tarea están realizando comprobaciones de estado que su servicio no puede superar:
- (servicio AWS-Service) (tarea ff3e71a4-d7e5-428b-9232-2345657889) las comprobaciones de estado del contenedor fallaron
Pruebe a solucionar el problema con los siguientes pasos:
- Confirme que el comando que está pasando al contenedor es correcto y tiene la sintaxis correcta.
- Compruebe los registros de su aplicación y los registros de Amazon CloudWatch para ver si la tarea ha estado ejecutándose durante un tiempo.
Nota: No puede acceder al host subyacente porque Fargate es gestionado por AWS. Para seguir solucionando problemas, inicie las tareas de Amazon ECS en Amazon EC2. A continuación, conéctese a sus instancias EC2 mediante SSH.
Información relacionada
Parámetros de definición de servicio
Parámetros avanzados de definición de contenedores
Habilitar el registro de acceso
Solucionar problemas en sus Balanceadores de Carga de la Aplicación
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 4 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace un año