Saltar al contenido

¿Cómo soluciono los problemas de programación de las tareas de Amazon ECS que se ejecutan en instancias de EC2?

4 minutos de lectura
0

Amazon Elastic Container Service (Amazon ECS) no coloca mis tareas en mis instancias de Amazon Elastic Compute Cloud (Amazon EC2) como se esperaba.

Resolución

Si Amazon ECS no puede colocar la tarea, la tarea permanece en el estado APROVISIONAMIENTO. Se muestra el siguiente error en los mensajes de eventos de servicio:

«service ServiceName was unable to place a task because no container instance met all of its requirements».

Para solucionar este problema, comprueba si hay este error en los mensajes de eventos de servicio. A continuación, sigue los pasos de solución de problemas según el motivo del error.

No container instances were found in your cluster (No se ha encontrado ninguna instancia de contenedor en el clúster)

Si no registras instancias de EC2 en el clúster, se mostrará un error. Comprueba si hay problemas de escalamiento o inicio de instancias con el proveedor de capacidad o el grupo de Amazon EC2 Auto Scaling que has configurado.

Si la instancia se ha iniciado, comprueba por qué no está conectada al clúster.

The closest matching (container-instance abcdexyz) has insufficient CPU/memory/GPU units available (La coincidencia más cercana (container-instance abcdexyz) no tiene suficientes unidades de CPU, memoria o GPU disponibles)

Este problema se produce cuando las instancias de contenedor disponibles no tienen la CPU, la memoria o la GPU que solicita la tarea. Para solucionar este problema, toma las siguientes medidas:

Para seguir solucionando problemas con la CPU, consulta ¿Cómo puedo resolver el error «the closest matching container-instance container-instance-id has insufficient CPU units available" en Amazon ECS?

The closest matching (container-instance abcdexyz) already uses a port required by your task (La coincidencia más cercana [container-instance abcdexyz] ya usa un puerto requerido por la tarea)

Este problema se produce cuando la instancia de contenedor ya usa el puerto requerido. No puedes ejecutar varias tareas en el mismo puerto. Para resolver este problema, agrega más instancias de contenedor al clúster. Se recomienda escalar automáticamente las instancias de contenedor. Crea un proveedor de capacidad para tu clúster. O bien, para permitir que las tareas usen cualquier puerto disponible en una instancia de contenedor, usa la asignación dinámica de puertos.

The closest matching (container-instance abcdexyz) misses an attribute required by your task (A la coincidencia más cercana [container-instance abcdexyz] le falta un atributo requerido por la tarea)

Este problema se produce cuando a la instancia de contenedor le falta un atributo requerido definido en la definición de la tarea. Para comprobar si faltan atributos, ejecuta el comando check-attributes de la interfaz de la línea de comandos de Amazon ECS (CLI de ECS):

ecs-cli check-attributes --container-instances container-instance --cluster cluster-name --region region-code --task-def task-def-name

Nota: Sustituye container-instance por el nombre de la instancia de contenedor, cluster-name por el nombre del clúster, region-code por la región de AWS y task-def-name por la definición de la tarea.

El resultado del comando anterior muestra una tabla con los atributos requeridos que faltan. Para obtener información sobre cómo solucionar problemas de atributos que faltan, consulta Comprobar si faltan atributos y depurar errores en los atributos de motivo en el sitio web de GitHub.

The closest matching (container-instance abcdexyz) doesn't have the agent connected (La coincidencia más cercana [contenedor-instancia abcdexyz] no tiene el agente conectado)

Este problema se produce cuando el agente Amazon ECS se desconecta. Para solucionar este problema, consulta los siguientes artículos:

The closest matching (container-instance abcdexyz) encountered error "MemberOf placement constraint unsatisfied." (La coincidencia más cercana [container-instance abcdexyz] encontró el error «MemberOf placement constraint unsatisfied».)

Si utilizas restricciones de ubicación para establecer tareas en instancias específicas, asegúrate de que las instancias de contenedor admitan los atributos o restricciones seleccionados.

Para obtener más información, consulta ¿Cómo soluciono los problemas relacionados con las restricciones de ubicación de tareas de Amazon ECS?

Información relacionada

Solución de problemas de Amazon ECS

OFICIAL DE AWSActualizada hace 2 años