Mensajes de eventos del servicio de Amazon ECS
A continuación, se proporcionan ejemplos de mensajes de eventos de servicio que es posible que vea en la consola de Amazon ECS.
El servicio (service-name
) ha alcanzado un estado estable.
El programador del servicio envía un evento de servicio service (
cuando el servicio esté en buen estado y con el número deseado de tareas, alcanzando así un estado estable.service-name
) has
reached a steady state.
El programador de servicios informa periódicamente del estado, por lo que podría recibir este mensaje varias veces.
El servicio (service-name
) no ha podido asignar una tarea porque ninguna instancia de contenedor cumplía todos los requisitos.
El programador del servicio envía este mensaje de evento cuando no puede encontrar los recursos disponibles para agregar otra tarea. Las causas posibles de este error son:
- No se ha encontrado en su clúster ninguna instancia de contenedor
-
Si no se ha registrado ninguna instancia de contenedor en el clúster en el que intenta ejecutar una tarea, recibe este error. Debería añadir instancias de contenedor a su clúster. Para obtener más información, consulte Lanzamiento de una instancia de contenedor de Linux de Amazon ECS.
- No hay puertos suficientes
-
Si la tarea utiliza mapeo de puertos de host fijo (por ejemplo, la tarea usa el puerto 80 en el host para un servidor web), debe tener al menos una instancia de contenedor por tarea, dado que solo un contenedor puede utilizar un único puerto de host a la vez. Debería agregar instancias de contenedor a su clúster o reducir el número de tareas deseadas.
- Demasiados puertos registrados
-
La instancia de contenedor más coincidente para la ubicación de tareas no puede exceder el límite máximo permitido de puerto reservado de 100 puertos de host por instancia de contenedor. El uso del mapeo dinámico de los puertos de host puede solucionar el problema.
- Puerto ya en uso
-
La definición de tarea de esta tarea utiliza el mismo puerto en su asignación de puertos que una tarea que ya se ejecuta en la instancia de contenedor que se ha elegido. El mensaje de evento de servicio tendría el ID de instancia de contenedor elegido como parte del siguiente mensaje.
The closest matching container-instance is already using a port required by your task.
- No hay memoria suficiente
-
Si la definición de tareas especifica 1 000 MiB de memoria y las instancias de contenedor en el clúster tienen cada una 1 024 MiB de memoria, solo puede ejecutar una copia de esta tarea por instancia de contenedor. Puede experimentar con menos memoria en la definición de tareas para que pueda lanzar más de una tarea por instancia de contenedor o lanzar más instancias de contenedor en su clúster.
nota
Si intenta maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS.
- No hay suficiente CPU
-
Una instancia de contenedor tiene 1 024 unidades de CPU por cada núcleo de CPU. Si la definición de tareas especifica 1 000 unidades de CPU y las instancias de contenedor en el clúster tienen cada una 1 024 unidades de CPU, solo puede ejecutar una copia de esta tarea por instancia de contenedor. Puede experimentar con menos unidades de CPU en la definición de tarea para poder lanzar más de una tarea por instancia de contenedor o lanzar más instancias de contenedor en su clúster.
- No hay suficientes puntos de asociación de ENI
-
Cada una de las tareas que utilizan el modo de red
awsvpc
recibe su propia interfaz de red elástica (ENI), que se asocia a la instancia de contenedor que la aloja. Las instancias de Amazon EC2 tienen un límite en cuanto al número de ENI que se les pueden asociar y no hay ninguna instancia de contenedor en el clúster que disponga capacidad de ENI.El límite de ENI para instancias de contenedor individuales depende de las siguientes condiciones:
-
Si no se ha inscrito en el ajuste de cuenta
awsvpcTrunking
, el límite de ENI para cada instancia de contenedor depende del tipo de instancia. Para obtener más información, consulte Direcciones IP por interfaz de red por tipo de instancia en la Guía del usuario de Amazon EC2. -
Si se ha inscrito en el ajuste de cuenta
awsvpcTrunking
, pero no ha lanzado nuevas instancias de contenedor con un tipo de instancia compatible después de la inscripción, el límite de ENI de cada instancia de contenedor sigue siendo el valor predeterminado. Para obtener más información, consulte Direcciones IP por interfaz de red por tipo de instancia en la Guía del usuario de Amazon EC2. -
Si se ha inscrito en el ajuste de cuenta
awsvpcTrunking
y ha lanzado nuevas instancias de contenedor con un tipo de instancia compatible después de la inscripción, están disponibles ENI adicionales. Para obtener más información, consulte Instancias admitidas para un aumento de las interfaces de red de contenedores de Amazon ECS.
Para obtener más información acerca de la inscripción en el ajuste de cuenta
awsvpcTrunking
, consulte Aumento de las interfaces de red de instancias de contenedor de Linux de Amazon ECS.Puede añadir instancias de contenedor a su clúster para proporcionar más adaptadores de red disponibles.
-
- Falta atributo requerido en instancia de contenedor
-
Algunos parámetros de definición de tareas requieren que se instale en la instancia de contenedor una versión de API remota de Docker específica. Otras, como las opciones de controlador de registros, requieren que las instancias de contenedor registren dichos controladores de registro con la variable de configuración del agente
ECS_AVAILABLE_LOGGING_DRIVERS
. Si la definición de tareas contiene un parámetro que requiere un atributo de instancia de contenedor específico y no tiene instancias de contenedor disponibles que puedan satisfacer este requisito, la tarea no se puede colocar.Una causa común de este error es si el servicio utiliza tareas que utilizan el modo de red
awsvpc
y el tipo de lanzamiento de EC2. El clúster especificado no tiene una instancia de contenedor registrada en la misma subred que se especificó en laawsvpcConfiguration
cuando se creó el servicio.Para obtener más información sobre qué atributos son necesarios para parámetros de definición de tareas específicas y variables de configuración de agentes, consulte Parámetros de definición de tareas de Amazon ECS y Configuración del agente de contenedor de Amazon ECS.
El servicio (service-name
) no ha podido asignar una tarea porque ninguna instancia de contenedor cumplía todos los requisitos. El container-instance-id
de contenedor-instancia más parecida tiene disponibles unidades de CPU insuficientes.
La instancia de contenedor más parecida para la colocación de tareas no contiene suficientes unidades de CPU para satisfacer los requisitos en la definición de tareas. Revise los requisitos de CPU en los parámetros de tamaño de tarea y de definición de contenedor de la definición de tarea.
El servicio (service-name
) no ha podido asignar una tarea porque ninguna instancia de contenedor cumplía todos los requisitos. Las instancia de contenedor más parecida id-instancia-contenedor
encontró el error "AGENT".
El agente de contenedor de Amazon ECS en la instancia de contenedor que más coincide para la ubicación de la tarea está desconectado. Si puede conectar a la instancia de contenedor con SSH, puede examinar los registros de agente; para obtener más información, consulte Parámetros de configuración del registro del agente de contenedor de Amazon ECS. También debe verificar que el agente se está ejecutando en la instancia. Si utiliza la AMI optimizada para Amazon ECS puede intentar detener y reiniciar el agente mediante el siguiente comando.
-
Para la AMI de Amazon Linux 2 optimizada para Amazon ECS y la AMI de Amazon Linux 2023 optimizada para Amazon ECS
sudo systemctl restart ecs
-
Para la AMI de Amazon Linux optimizada para Amazon ECS
sudo stop ecs && sudo start ecs
El servicio (service-name
) (la instancia instance-id
) no es correcta en (elb elb-name
) debido a (razón por la que la instancia ha fallado o al menos el número de comprobaciones de salud UnhealthyThreshold consecutivas).
Este servicio está registrado con un balanceador de carga y las comprobaciones de estado del balanceador de carga están fallando. Para obtener más información, consulte Solución de problemas de los equilibradores de carga de servicio en Amazon ECS.
El servicio (service-name
) no puede iniciar las tareas de forma consistente y con éxito.
Este servicio contiene tareas que no se han podido iniciar después de varios intentos consecutivos. En este momento, el programador de servicio comienza a aumentar incrementalmente el tiempo entre intentos. Debe encontrar el motivo por el que las tareas no se pueden lanzar. Para obtener más información, consulte Lógica de limitación controlada de servicios de Amazon ECS.
Una vez que el servicio se actualice, por ejemplo con una definición de tarea actualizada, el programador de servicio continuará funcionando con normalidad.
Se están limitando de las operaciones del servicio (service-name
) de manera controlada. Vuelva a intentarlo más adelante.
Este servicio no puede lanzar más tareas debido a los límites controlados de API. Una vez que el programador de servicios pueda lanzar más tareas, se reanudará.
Para solicitar un aumento de la cuota del límite de tasa de la API, abra la página AWS Support Center
servicio (service-name
) no pudo detener o iniciar tareas durante una implementación debido a la configuración de implementación del servicio. Actualice el valor minimumHealthyPercent o MaximumPercent y vuelva a intentarlo.
Este servicio no puede detener o iniciar tareas durante una implementación de servicio debido a la configuración de implementación. La configuración de la implementación consta de los valores minimumHealthyPercent
y maximumPercent
que se definen al crear el servicio. Estos valores también se pueden actualizar en un servicio existente.
El valor minimumHealthyPercent
representa el límite mínimo del número de tareas que se deben ejecutar para un servicio durante una implementación o cuando una instancia de contenedor se está agotando. Es un porcentaje del número deseado de tareas para el servicio. Este valor se redondea hacia arriba. Por ejemplo, si el porcentaje mínimo en buen estado es 50
y el número de tareas deseado es cuatro, el programador puede detener dos tareas existentes antes de iniciar dos nuevas. Del mismo modo, si el porcentaje mínimo en buen estado es del 75 % y el recuento de tareas deseado es dos, entonces el programador no puede detener ninguna tarea debido a que el valor resultante también es dos.
El valor maximumPercent
representa el límite máximo del número de tareas que se deben ejecutar para un servicio durante una implementación o cuando una instancia de contenedor se está agotando. Es un porcentaje del número deseado de tareas para un servicio. Este valor se redondea hacia abajo. Por ejemplo, si el porcentaje máximo es 200
y el recuento de tareas deseado es cuatro, el programador puede iniciar cuatro tareas nuevas antes de detener cuatro tareas existentes. Del mismo modo, si el porcentaje máximo es 125
y el recuento de tareas deseado es tres, el programador no puede iniciar ninguna tarea debido a que el valor resultante también es tres.
Al establecer un porcentaje mínimo o uno máximo en buen estado, debe asegurarse de que el programador pueda detener o iniciar al menos una tarea cuando se desencadena una implementación.
servicio (service-name
) no pudo ubicar una tarea. Motivo: Ha alcanzado el límite del número de tareas que puede ejecutar en forma simultánea
Puede solicitar un aumento de cuota para el recurso que provocó el error. Para obtener más información, consulte Cuotas de servicio de Amazon ECS. Para solicitar un aumento de cuota, consulte Solicitud de un aumento de cuota en la Guía de usuario de Service Quotas.
servicio (service-name
) no pudo ubicar una tarea. Motivo: Error interno.
A continuación, se presenta el posible motivo para este error:
El servicio no puede iniciar una tarea debido a que una subred se encuentra en una zona de disponibilidad no compatible.
Para obtener más información sobre las regiones de Fargate y las zonas de disponibilidad admitidas, consulte Regiones compatibles con Amazon ECS en AWS Fargate.
Para obtener más información acerca de cómo ver la zona de disponibilidad de las subredes, consulte Ver la subred en la Guía del usuario de Amazon VPC.
servicio (service-name
) no pudo ubicar una tarea. Motivo: La configuración de CPU solicitada supera el límite.
Puede solicitar un aumento de cuota para el recurso que provocó el error. Para obtener más información, consulte Cuotas de servicio de Amazon ECS. Para solicitar un aumento de cuota, consulte Solicitud de un aumento de cuota en la Guía de usuario de Service Quotas.
servicio (service-name
) no pudo ubicar una tarea. Motivo: La configuración de MEMORIA solicitada supera el límite.
Puede solicitar un aumento de cuota para el recurso que provocó el error. Para obtener más información, consulte Cuotas de servicio de Amazon ECS. Para solicitar un aumento de cuota, consulte Solicitud de un aumento de cuota en la Guía de usuario de Service Quotas.
servicio (service-name
) no pudo ubicar una tarea. Motivo: Ha alcanzado el límite del número de vCPU que puede ejecutar de forma simultánea
AWS Fargate está pasando de cuotas basadas en el recuento de tareas a cuotas basadas en vCPU.
Puede solicitar un aumento de todas las cuotas basadas en vCPU de Fargate. Para obtener más información, consulte Cuotas de servicio de Amazon ECS. Para solicitar un aumento de cuota de Fargate, consulte Solicitud de aumento de cuota en la Guía del usuario de Service Quotas.
El servicio (service-name
) no pudo alcanzar un estado estable porque el conjunto de tareas (taskSet-ID
) no se pudo reducir horizontalmente. Motivo: el número de tareas protegidas es superior al recuento de tareas deseado.
El servicio tiene más tareas protegidas que el recuento de tareas deseado. Puede elegir una de las siguientes opciones:
-
Espere a que caduque la protección de las tareas actuales para poder finalizarlas.
-
Determine qué tareas pueden detenerse y utilice la API
UpdateTaskProtection
con la opciónprotectionEnabled
configurada enfalse
para desactivar la protección de estas tareas. -
Aumente el recuento de tareas deseado del servicio a un número mayor al de tareas protegidas.
El servicio (service-name
) no pudo alcanzar un estado estable. Motivo: no se encontró ninguna instancia de contenedor en su proveedor de capacidad.
El programador del servicio envía este mensaje de evento cuando no puede encontrar los recursos disponibles para agregar otra tarea. Las causas posibles de este error son:
- No hay ningún proveedor de capacidad asociado al clúster
-
Use
describe-services
para comprobar que tiene un proveedor de capacidad asociado al clúster. Puede actualizar la estrategia del proveedor de capacidad para el servicio.Compruebe que haya capacidad disponible en el proveedor de capacidad. En el caso del tipo de lanzamiento de EC2, asegúrese de que las instancias de contenedor cumplan con los requisitos de definición de tareas.
- No se ha encontrado en su clúster ninguna instancia de contenedor
-
Si no se ha registrado ninguna instancia de contenedor en el clúster en el que intenta ejecutar una tarea, recibe este error. Debería añadir instancias de contenedor a su clúster. Para obtener más información, consulte Lanzamiento de una instancia de contenedor de Linux de Amazon ECS.
- No hay puertos suficientes
-
Si la tarea utiliza la asignación de puertos de host fija (por ejemplo, la tarea usa el puerto 80 en el host para un servidor web), debe tener al menos una instancia de contenedor por tarea. Solo un contenedor puede usar un solo puerto de host a la vez. Debería agregar instancias de contenedor a su clúster o reducir el número de tareas deseadas.
- Demasiados puertos registrados
-
La instancia de contenedor más coincidente para la ubicación de tareas no puede exceder el límite máximo permitido de puerto reservado de 100 puertos de host por instancia de contenedor. El uso del mapeo dinámico de los puertos de host puede solucionar el problema.
- Puerto ya en uso
-
La definición de tarea de esta tarea utiliza el mismo puerto en su asignación de puertos que una tarea que ya se ejecuta en la instancia de contenedor que se ha elegido. El mensaje de evento de servicio tendría el ID de instancia de contenedor elegido como parte del siguiente mensaje.
The closest matching container-instance is already using a port required by your task.
- No hay memoria suficiente
-
Si la definición de tareas especifica 1 000 MiB de memoria y las instancias de contenedor en el clúster tienen cada una 1 024 MiB de memoria, solo puede ejecutar una copia de esta tarea por instancia de contenedor. Puede experimentar con menos memoria en la definición de tareas para que pueda lanzar más de una tarea por instancia de contenedor o lanzar más instancias de contenedor en su clúster.
nota
Si está intentando maximizar la utilización de los recursos proporcionando a las tareas la mayor cantidad de memoria posible para un tipo de instancia determinado, consulte Reserva de la memoria de instancias de contenedor de Linux de Amazon ECS.
- No hay suficientes puntos de asociación de ENI
-
Cada una de las tareas que utilizan el modo de red
awsvpc
recibe su propia interfaz de red elástica (ENI), que se asocia a la instancia de contenedor que la aloja. Las instancias de Amazon EC2 tienen un límite en cuanto al número de ENI que se les pueden adjuntar y no hay ninguna instancia de contenedor en el clúster que disponga de capacidad de ENI.El límite de ENI para instancias de contenedor individuales depende de las siguientes condiciones:
-
Si no se ha inscrito en el ajuste de cuenta
awsvpcTrunking
, el límite de ENI para cada instancia de contenedor depende del tipo de instancia. Para obtener más información, consulte Direcciones IP por interfaz de red por tipo de instancia en la Guía del usuario de Amazon EC2. -
Si se ha inscrito en el ajuste de cuenta
awsvpcTrunking
, pero no ha lanzado nuevas instancias de contenedor con un tipo de instancia compatible después de la inscripción, el límite de ENI de cada instancia de contenedor sigue siendo el valor predeterminado. Para obtener más información, consulte Direcciones IP por interfaz de red por tipo de instancia en la Guía del usuario de Amazon EC2. -
Si se ha inscrito en el ajuste de cuenta
awsvpcTrunking
y ha lanzado nuevas instancias de contenedor con un tipo de instancia compatible después de la inscripción, están disponibles ENI adicionales. Para obtener más información, consulte Instancias admitidas para un aumento de las interfaces de red de contenedores de Amazon ECS.
Para obtener más información acerca de la inscripción en el ajuste de cuenta
awsvpcTrunking
, consulte Aumento de las interfaces de red de instancias de contenedor de Linux de Amazon ECS.Puede añadir instancias de contenedor a su clúster para proporcionar más adaptadores de red disponibles.
-
- Falta atributo requerido en instancia de contenedor
-
Algunos parámetros de definición de tareas requieren que se instale en la instancia de contenedor una versión de API remota de Docker específica. Otras, como las opciones de controlador de registros, requieren que las instancias de contenedor registren dichos controladores de registro con la variable de configuración del agente
ECS_AVAILABLE_LOGGING_DRIVERS
. Si la definición de tareas contiene un parámetro que requiere un atributo de instancia de contenedor específico y no tiene instancias de contenedor disponibles que puedan satisfacer este requisito, la tarea no se puede colocar.Una causa común de este error es si el servicio utiliza tareas que emplean el modo de red
awsvpc
y el tipo de lanzamiento de EC2, y el clúster especificado no tiene una instancia de contenedor registrada en la misma subred que se especificó enawsvpcConfiguration
cuando se creó el servicio.Para obtener más información sobre qué atributos son necesarios para parámetros de definición de tareas específicas y variables de configuración de agentes, consulte Parámetros de definición de tareas de Amazon ECS y Configuración del agente de contenedor de Amazon ECS.
servicio (service-name
) no pudo ubicar una tarea. Motivo: la capacidad no está disponible en este momento. Vuelva a intentarlo más tarde o en una zona de disponibilidad diferente.
Actualmente no hay capacidad disponible para ejecutar el servicio.
Puede elegir una de las siguientes opciones:
-
Espere hasta que las instancias de contenedor de EC2 o la capacidad de Fargate estén disponibles.
-
Vuelva a iniciar el servicio y especifique subredes adicionales.
no se pudo implementar el servicio (service-name
): no se pudieron iniciar las tareas.
No se pudieron iniciar las tareas de su servicio.
Para obtener información sobre cómo depurar las tareas detenidas, consulte Mensajes de error de las tareas detenidas de Amazon ECS.
se agotó el tiempo de espera del servicio (service-name
) al esperar que se iniciara el agente de Amazon ECS. Compruebe los registros en /var/log/ecs/ecs-agent.log.
El agente de contenedor de Amazon ECS en la instancia de contenedor que más coincide para la ubicación de la tarea está desconectado. Si puede conectarse a la instancia de contenedor con SSH, puede examinar los registros de agente. Para obtener más información, consulte Parámetros de configuración del registro del agente de contenedor de Amazon ECS. También debe verificar que el agente se está ejecutando en la instancia. Si utiliza la AMI optimizada para Amazon ECS puede intentar detener y reiniciar el agente mediante el siguiente comando.
-
Para la AMI de Amazon Linux 2 optimizada para Amazon ECS
sudo systemctl restart ecs
-
Para la AMI de Amazon Linux optimizada para Amazon ECS
sudo stop ecs && sudo start ecs
El conjunto de tareas (taskSet-ID
) del servicio (service-name
) no está en buen estado en el grupo de destino (targetGroup-ARN
) debido a TARGET GROUP IS NOT FOUND
.
El conjunto de tareas del servicio no pasa las comprobaciones de estado porque no se encuentra el grupo de destino. Debe eliminar y volver a crear el servicio. No elimine ningún grupo de destino de Elastic Load Balancing a menos que ya se haya eliminado el servicio de Amazon ECS correspondiente.
El conjunto de tareas (taskSet-ID
) del servicio (service-name
) no está en buen estado en el grupo de destino (targetGroup-ARN
) debido a TARGET IS NOT FOUND
.
El conjunto de tareas del servicio no pasa las comprobaciones de estado porque no se encuentra el destino.