¿Por qué mi instancia de Amazon EC2 no puede unirse al clúster de Amazon ECS?
No puedo usar un clúster de Amazon Elastic Container Service (Amazon ECS) para registrar mi instancia de Amazon Elastic Compute Cloud (Amazon EC2).
Resolución
En primer lugar, utilice el runbook de AWS Systems Manager AWSSupport-TroubleshootECSContainerInstance para comprobar automáticamente si hay posibles problemas. El runbook AWSSupport-TroubleshootECSContainerInstance soluciona automáticamente los motivos más habituales por los que una instancia de EC2 no puede registrarse o unirse a un clúster.
Nota: Asegúrese de utilizar el runbook AWSSupport-TroubleshootECSContainerInstance en la misma región de AWS en la que se encuentran el clúster de Amazon ECS y la instancia de EC2.
Si el resultado del runbook no proporciona recomendaciones, utilice las siguientes acciones para solucionar este problema de forma manual.
Requisitos previos:
- La instancia EC2 debe tener un rol de AWS Identity and Access Management (IAM) asociado con los permisos necesarios para comunicarse con la configuración de Amazon ECS. El rol de IAM de la instancia también debe tener los permisos ecs:RegisterContainerInstance para que Amazon ECS pueda registrar la instancia del contenedor con el clúster. Si no necesita personalizar su rol de IAM, utilice AmazonEC2ContainerServiceforEC2Role.
- Verifique que la configuración de red de la instancia del contenedor sea correcta. Para obtener más información, consulte La configuración de red de la instancia de contenedor de Amazon ECS es incorrecta en ¿Cómo puedo resolver el error "CannotPullContainerError" en la tarea de tipo de lanzamiento de Amazon ECS EC2?
Verificación del estado del agente de Amazon ECS en la instancia de Amazon Linux 2
Para comprobar si el agente de contenedor de Amazon ECS se está ejecutando en la instancia, ejecute el siguiente comando:
sudo systemctl status ecs
Si el agente de contenedor de Amazon ECS no se ejecuta en la instancia, ejecute el siguiente comando para iniciar el agente:
sudo systemctl start ecs
La salida del comando start tiene un aspecto similar al ejemplo siguiente:
Active: active (running)
Para comprobar si el servicio Docker se está ejecutando, ejecute el siguiente comando:
sudo systemctl status docker
Si el servicio Docker no está en ejecución, ejecute el siguiente comando para iniciar el servicio:
sudo systemctl start docker
La salida del comando start tiene un aspecto similar al ejemplo siguiente:
Active: active (running)
Comprobación de las configuraciones de lanzamiento
Si la instancia de lanzamiento forma parte de un grupo de escalamiento automático, confirme que la configuración de lanzamiento del grupo de escalamiento automático sea correcta. Para obtener más información, consulte la entrada 5. paso Creación de una nueva configuración de lanzamiento en Refreshing an Amazon ECS container instance cluster with a new Amazon Machine Image (AMI).
Comprobación de la AMI de la instancia de contenedor
Si la AMI de la instancia de contenedor es está copiada o se ha personalizado, asegúrese de que la instancia cumpla con los siguientes requisitos:
- Una distribución de Linux que ejecute como mínimo la versión 3.10 del kernel de Linux.
- Debe usar la versión más reciente del agente de contenedor de Linux de Amazon ECS.
- Un daemon de Docker que ejecute como mínimo la versión 1.9.0 y cualquier dependencia de versión ejecutable de Docker. Para obtener más información, consulte Install Docker Engine from binaries en el sitio web de Docker Docs. Para ver la versión actual de Docker, ejecute el comando sudo docker version. Para obtener más información, consulte Install Docker Engine en el sitio web de Docker Docs.
Los requisitos están preconfigurados en las AMI optimizadas para Amazon ECS. Se recomienda usar una AMI optimizada para Amazon ECS, a menos que la aplicación requiera una versión que aún no esté disponible en esa AMI. Para obtener más información, consulte Recuperación de metadatos de las AMI de Linux optimizadas para Amazon ECS.
Cómo comprobar si los datos de usuario de una instancia contienen la información de clúster correcta
Para comprobar si los datos de usuario de una instancia contienen la información de clúster correcta, ejecute el siguiente comando:
#!/bin/bash echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config
Nota: Sustituya cluster name por el nombre de su clúster.
Comprobación de los archivos de registro
Si el problema persiste, utilice el recopilador de registros de Amazon ECS para recopilar los registros. A continuación, revise los registros para encontrar la causa. También puede comprobar los archivos de registro en el host de contenedor del agente de contenedor de Amazon ECS y Docker.
Para ver los archivos de registro del agente de contenedor de Amazon ECS y Docker, ejecute los siguientes comandos:
sudo cat /var/log/ecs/ecs-agent.log.YYYY-MM-DD-**sudo cat /var/log/docker
**Nota:**Sustituya YYYY-MM-DD por la fecha en la que desea comprobar los archivos de registro.
Solución de errores habituales
Error: lanzamiento de una nueva instancia de EC2. Motivo del estado: esta cuenta está bloqueada y no se reconoce como una cuenta válida. Si tiene alguna pregunta, póngase en contacto con aws-verification@amazon.com. No se pudo iniciar la instancia de EC2.
Este error se produce cuando su cuenta de AWS está bloqueada y Amazon no la reconoce. Para desbloquear la cuenta, envíe un correo electrónico a aws-verification@amazon.com para solicitar que AWS desbloquee su cuenta.
Error: repetición del registro: ClientException: La instancia de contenedor 12345678910abcdefghixzy está inactiva. \n\tcódigo de estado: 400, ID de la solicitud: 012345678a-012345b-012ab-0a1-9f645f4s5c12" module=agent.go
Este error se produce cuando el agente de contenedor de Amazon ECS no puede utilizar el clúster para registrar la instancia de contenedor de EC2 porque está inactiva en ese momento. Este error está relacionado con la aplicación que se ejecuta en la instancia. Para entender la causa del error, consulte primero la aplicación. Si el error persiste, compruebe los registros del agente de contenedor de Amazon ECS.
Error: Algunas instancias pueden unirse al clúster, pero otras no pueden hacerlo a pesar de tener las mismas configuraciones.
Este error se produce cuando una llamada a la API específica supera la cuota de tasa y genera un elemento ThrottlingException. Para obtener más información, consulte Limitación de solicitudes para la API de Amazon ECS. Para solucionar este error, aumente la cuota de tasa en el nivel de la cuenta. Utilice AWS CloudTrail para comprobar si hay llamadas a API comunes, como ListTasks y RegisterContainerInstance.
Error: Después de cambiar el tipo de instancia, las instancias nuevas no pueden unirse al clúster.
Este error se produce cuando el agente de contenedor de Amazon ECS se detiene en el estado Pendiente y no puede cambiar el tipo de instancia. Para cambiar el tipo de instancia en Amazon ECS, siga estos pasos:
- Elimine la instancia de contenedor.
- Lance una nueva instancia de contenedor que tenga el nuevo tipo de instancia.
Nota: Se recomienda utilizar una AMI de Amazon Linux 2 optimizada para Amazon ECS para lanzar la instancia de su clúster.
O bien, cree una nueva configuración de lanzamiento y, a continuación, actualice la configuración de lanzamiento en el grupo de escalamiento automático.
Para obtener más información, consulte How do I change my container instance type in Amazon ECS?
Error: No se ha podido registrar como una instancia de contenedor en ECS: excepción de acceso denegado: el usuario arn:aws:sts::1122334455:assumed-role/ecsInstanceRole/i-00aa11bb22cc33def is no está autorizado a realizar ecs:RegisterContainerInstance en el recurso arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster. Código de estado: 400, ID de la solicitud: 0a123456-7899-10101-a987-6543210deff
-o-
Error: 2019-06-29T16:10:09Z [ERROR] Error al volver a registrarse: excepción de acceso denegado: el usuario: arn:aws:sts::1122334455:assumed-role/ecsInstanceRole/i-0052b2e858b1891ef no está autorizado a realizar: ecs:registerContainerInstance en el recurso arn:aws:ecs:us-east-1:1122334455:cluster/exampleCluster. Código de estado: 400, ID de la solicitud: 0a123456-7899-10101-a987-123456pqrs
Estos errores se producen cuando no tiene los permisos necesarios de IAM. Para resolver estos errores, cree un rol de IAM de una instancia de contenedor. A continuación, ejecute el runbook AWSSupport-TroubleshootECSContainerInstance para determinar qué permisos faltan en el rol de la instancia de contenedor.
Información relacionada

Contenido relevante
- preguntada hace un meslg...
- preguntada hace 3 meseslg...
- preguntada hace 20 díaslg...
- Respuesta aceptadapreguntada hace 2 meseslg...
- preguntada hace 2 meseslg...
- OFICIAL DE AWSActualizada hace 5 meses
- OFICIAL DE AWSActualizada hace un mes
- OFICIAL DE AWSActualizada hace 2 meses
- OFICIAL DE AWSActualizada hace 2 años