

# Solución de problemas de Amazon ECS
<a name="troubleshooting"></a>

Es posible que tenga que solucionar problemas con sus equilibradores de carga, tareas, servicios o instancias de contenedor. Este capítulo le ayuda a buscar información de diagnóstico procedente del agente de contenedor de Amazon ECS, el daemon de Docker de la instancia de contenedor y el registro de eventos de servicio de la consola de Amazon ECS.

Para obtener información acerca de las tareas detenidas, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Solución de los errores de las tareas detenidas.  |  [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md)  | 
|  Visualización de los errores de las tareas detenidas.  |  [Solución de los errores de las tareas detenidas de Amazon ECS](resolve-stopped-errors.md)  | 
|  Revisión de los códigos de error de las tareas detenidas.  |  [Mensajes de error de las tareas detenidas de Amazon ECS](stopped-task-error-codes.md)  | 
|  Revisión de los errores de tarea CannotPullContainer.  |  [Errores de tareas CannotPullContainer en Amazon ECS](task_cannot_pull_image.md)  | 
| Visualización de las solicitudes de rol de IAM de tareas. | [Visualización de solicitudes de roles de IAM para tareas de Amazon ECS](task_iam_roles-logs.md) | 
|  Solucione problemas mediante eventos de tareas.  |  [Captura de eventos de Amazon ECS en la consola](task-lifecycle-events.md)  | 

Para obtener información acerca de los errores de servicio, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Visualización de los mensajes de eventos de servicio.  |  [Visualización de los mensajes de eventos del servicio de Amazon ECS](service-event-messages.md)  | 
|  Revisión de los mensajes de eventos de servicio.  |  [Mensajes de eventos del servicio de Amazon ECS](service-event-messages-list.md)  | 
|  Revisión de los problemas del equilibrador de carga.  |  [Solución de problemas de los equilibradores de carga de servicio en Amazon ECS](troubleshoot-service-load-balancers.md)  | 
|  Revisión de los problemas de escalado automático del servicio.  |  [Solución de problemas de escalado automático de servicios en Amazon ECS](troubleshoot-service-auto-scaling.md)  | 

Para obtener información acerca de los errores de definición de tareas, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Solución del error de memoria en la definición de tareas.  |  [Solución de errores de CPU o memoria no válidos en la definición de tareas de Amazon ECS](task-cpu-memory-error.md)  | 

Para obtener información acerca de los errores del agente de Amazon ECS, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Visualización de los registros del agente de contenedor de Amazon ECS.  |  [Visualización de los registros del agente de contenedor de Amazon ECS](logs.md)  | 
|  Información sobre cómo recopilar los registros de Amazon ECS.  |  [Recopilación de registros de contenedor con el recopilador de registros de Amazon ECS](ecs-logs-collector.md)  | 
|  Recuperación de los detalles de diagnóstico con el agente de Amazon ECS.  |  [Recuperación de los detalles de diagnóstico de Amazon ECS con la introspección del agente](introspection-diag.md)  | 

Para obtener información sobre los errores de Docker, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Uso del diagnóstico de Docker.  |  [Diagnósticos de Docker en Amazon ECS](docker-diags.md)  | 
|  Activación del modo de depuración de Docker.  |  [Configuración de la salida detallada desde el daemon de Docker en Amazon ECS](docker-debug-mode.md)  | 
|  Solución del error 500 de la API de Docker.  |  [Solución del problema de Docker `API error (500): devmapper` en Amazon ECS](CannotCreateContainerError.md)  | 

Para obtener información sobre los errores de ECS Exec y Amazon ECS Anywhere, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Solución de problemas de ECS Exec.  |  [Solución de problemas de Amazon ECS Exec](ecs-exec-troubleshooting.md)  | 
|  Solución de problemas de Amazon ECS Anywhere.  |  [Solución de problemas de Amazon ECS Anywhere](ecs-anywhere-troubleshooting.md)  | 

Para obtener información acerca de los problemas al adjuntar volúmenes de Amazon EBS a las tareas de Amazon ECS, consulte lo siguiente:


| Action | Más información | 
| --- | --- | 
|  Solucione problemas de conexión de volúmenes de Amazon EBS a las tareas de Amazon ECS.  |  [Solución de problemas de conexión de volúmenes de Amazon EBS a las tareas de Amazon ECS](troubleshoot-ebs-volumes.md)  | 
|  Motivos del estado de la conexión de volúmenes de Amazon EBS a las tareas de Amazon ECS.  |  [Motivos del estado de la conexión de volúmenes de Amazon EBS a las tareas de Amazon ECS](troubleshoot-ebs-volumes-scenarios.md)  | 

Para obtener información acerca de los problemas al utilizar espacios de nombres AWS Cloud Map compartidos con Amazon ECS Service Connect, consulte lo siguiente:


| Action | Más información | 
| --- | --- | 
|  Solucione problemas de Amazon ECS Service Connect con espacios de nombres de AWS Cloud Map compartidos.  |  [Solución de problemas de Amazon ECS Service Connect con espacios de nombres de AWS Cloud Map compartidos](service-connect-shared-namespaces-troubleshooting.md)  | 

Para obtener información acerca de los problemas de limitación, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Información sobre las cuotas de limitación de Fargate.  |  [AWS FargateCuotas de limitación de](throttling.md)  | 
|  Información sobre las prácticas recomendadas de limitación de Amazon ECS.  |  [Gestión de los problemas de limitación de Amazon ECS](operating-at-scale-dealing-with-throttles.md)  | 

Para obtener información sobre los errores de la API, consulte lo siguiente.


| Action | Más información | 
| --- | --- | 
|  Solución de los errores de la API.  |  [Motivos de error de la API de Amazon ECS](api_failures_messages.md)  | 

Para obtener información sobre la solución de problemas con tecnología de IA, consulte lo siguiente:


| Action | Más información | 
| --- | --- | 
|  Solucione problemas con Amazon Q Developer en la consola.  |  [Solución de problemas con Amazon Q Developer](troubleshooting-with-Q.md)  | 
|  Solucione problemas con los asistentes de IA mediante el servidor MCP de Amazon ECS.  |  [Servidor MCP de Amazon ECS](ecs-mcp-introduction.md)  | 

# Solución de los errores de las tareas detenidas de Amazon ECS
<a name="resolve-stopped-errors"></a>

Cuando una tarea no se inicia, aparece un mensaje de error en la consola y en los parámetros de salida de `describe-tasks` (`stoppedReason` y `stopCode`).

Puede ver tareas detenidas en la consola durante una hora. Para ver las tareas detenidas, debe cambiar la opción de filtro. Para obtener más información, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

En las siguientes páginas, se proporciona información acerca de las tareas detenidas.
+ Información sobre los cambios en los mensajes de error de las tareas detenidas.

  [Actualizaciones de los mensajes de error de las tareas detenidas de Amazon ECS](stopped-tasks-error-messages-updates.md)
+ Visualización de las tareas detenidas para obtener información sobre la causa.

  [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md)
+ Información sobre los mensajes de error de las tareas detenidas y los posibles motivos de los errores.

  [Mensajes de error de las tareas detenidas de Amazon ECS](stopped-task-error-codes.md)
+ Información sobre cómo verificar la conectividad de las tareas detenidas y corregir los errores.

  [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md)

# Actualizaciones de los mensajes de error de las tareas detenidas de Amazon ECS
<a name="stopped-tasks-error-messages-updates"></a>

A partir del 14 de junio de 2024, el equipo de Amazon ECS cambiará los mensajes de error de las tareas detenidas tal y como se describe en las siguientes tablas. `stopCode` no cambiará. Si sus aplicaciones dependen de cadenas de mensajes de error exactas, debe actualizarlas con las nuevas cadenas. Para obtener ayuda con preguntas o problemas, póngase en contacto con AWS Support.

**nota**  
Recomendamos que no dependa de los mensajes de error para la automatización, ya que estos están sujetos a cambios.

## CannotPullContainerError
<a name="cannot-pull-container-error-changes"></a>


| Mensaje de error anterior | Nuevo mensaje de error | 
| --- | --- | 
| CannotPullContainerError: respuesta de error del daemon: acceso de extracción denegado para el repositorio; el repositorio no existe o puede requerir un “inicio de sesión en Docker”: denegado: Usuario: roleARN | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/stopped-tasks-error-messages-updates.html)  | 
|  CannotPullContainerError: respuesta de error del daemon: obtener imageURI: net/http: la solicitud se canceló mientras se esperaba la conexión |  CannotPullContainerError: la tarea no puede extraer la imagen. Compruebe la configuración de la red. Respuesta de error del daemon: obtener imagen: net/http: solicitud cancelada mientras se esperaba la conexión (se superó el Client.Timeout mientras se esperaban los encabezados) | 
| CannotPullContainerError: ref pull se ha vuelto a intentar 5 veces: no se pudo copiar: httpReadSeeker: no se pudo abrir: no se pudo procesar la solicitud: obtener registry-uri: marcar tcp <ip>:<port> tiempo de espera de e/s | CannotPullContainerError: la tarea no puede extraer image-uri del registro registry-uri. Hay un problema de conexión entre la tarea y el registro. Compruebe la configuración de red de la tarea. : no se pudo copiar: httpReadSeeker: no se pudo abrir: no se pudo procesar la solicitud: obtener registry-uri: marcar tcp <ip>:<port> tiempo de espera de e/s | 

## ResourceNotFoundException
<a name="resourcenotfound-error-changes"></a>


| Mensaje de error anterior | Nuevo mensaje de error | 
| --- | --- | 
| Al buscar datos secretos desde AWS Secrets Manager en la región region: secreto sercretARN: ResourceNotFoundException: Secrets Manager no puede encontrar el secreto especificado. | ResourceNotFoundException: la tarea no puede recuperar el secreto con el ARN “sercretARN” desde AWS Secrets Manager. Compruebe si el secreto existe en la región especificada. ResourceNotFoundException: al buscar datos secretos desde AWS Secrets Manager en la región region: secreto sercretARN: ResourceNotFoundException: Secrets Manager no puede encontrar el secreto especificado. | 

## ResourceInitializationError
<a name="resourceinitialization-error-changes"></a>


| Mensaje de error anterior | Nuevo mensaje de error | 
| --- | --- | 
| ResourceInitializationError: no se pueden obtener secretos ni autenticación del registro: error en la recuperación del recurso de ejecución: no se puede recuperar la autenticación del registro ecr: la llamada de servicio se ha reintentado 3 veces: RequestError: error en el envío de la solicitud debido a lo siguiente: post "https://api.ecr.us-east-1.amazonaws.com/": marcar tcp <ip>: <port>: tiempo de espera de e/s. Compruebe la configuración de red de la tarea. | ResourceInitializationError: no se pueden extraer los secretos o la autenticación del registro: la tarea no puede extraer el secreto desde Amazon ECR: hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea. RequestError: error en el envío de la tarea debido a lo siguiente: post "https://api.ecr.us-east-1.amazonaws.com": marcar tcp <ip>:<port>: tiempo de espera de e/s | 
| ResourceInitializationError: no se pueden extraer los secretos ni la autenticación del registro: error en la recuperación del recurso de ejecución: no se pueden recuperar los secretos de ssm: se ha reintentado la llamada de servicio 5 veces: RequestCanceled: el contexto de la solicitud se canceló debido a lo siguiente: se ha superado la fecha límite de contexto | ResourceInitializationError: no se pueden extraer los secretos o la autenticación del registro: no se pueden extraer los secretos desde ssm: la tarea no puede extraer los secretos desde AWS Systems Manager. Hay un problema de conexión entre la tarea y el almacén de parámetros de AWS Systems Manager. Compruebe la configuración de red de la tarea. RequestCanceled: el contexto de la solicitud se ha cancelado debido a lo siguiente: se ha superado la fecha límite de contexto | 
| ResourceInitializationError: no se pudieron descargar los archivos .env: comando de descarga del archivo: transmisión de error no vacía: RequestCanceled: el contexto de la solicitud se canceló debido a lo siguiente: se superó la fecha límite de contexto | ResourceInitializationError: error al descargar los archivos .env: la tarea no puede descargar los archivos de variables de entorno de Amazon S3. Hay un problema de conexión entre la tarea y Amazon S3. Compruebe la configuración de red de la tarea. La llamada de servicio se ha reintentado 5 veces: RequestCanceled: el contexto de la solicitud se canceló debido a lo siguiente: se ha superado la fecha límite de contexto | 
| ResourceInitializationError: no se pudo validar el registrador args::signal:killed | ResourceInitializationError: no se pudieron validar los argumentos del registrador: la tarea no encuentra el grupo de registros de Amazon CloudWatch especificado en la definición de la tarea. Hay un problema de conexión entre la tarea y Amazon CloudWatch. Compruebe la configuración de red. : señal: interrumpida | 
| ResourceInitializationError: no se pueden extraer los secretos o la autenticación del registro: no se pudo extraer el comando. : señal: interrumpida | ResourceInitializationError: no se pueden extraer los secretos o la autenticación del registro: compruebe la configuración de red de la tarea. : señal: interrumpida | 

# Visualización de los errores de las tareas detenidas de Amazon ECS
<a name="stopped-task-errors"></a>

Si tiene problemas para iniciar una tarea, es posible que la tarea se haya detenido debido a errores en la aplicación o configuración. Por ejemplo, ejecuta la tarea y esta muestra un estado `PENDING` y, a continuación, desaparece.

 Si la tarea la creó un servicio de Amazon ECS, las acciones que Amazon ECS realiza para mantener el servicio se publican en los eventos del servicio. Puede ver los eventos en la Consola de administración de AWS, la AWS CLI, los SDK de AWS, la API de Amazon ECS o las herramientas que utilizan los SDK y la API. Estos eventos incluyen que Amazon ECS detenga y reemplace una tarea porque los contenedores de la tarea han dejado de ejecutarse o no han superado demasiadas comprobaciones de estado de Elastic Load Balancing.

Si la tarea se ejecutó en una instancia de contenedor en Amazon EC2 o en equipos externos, también puede consultar los registros del tiempo de ejecución del contenedor y del agente de Amazon ECS. Estos registros se encuentran en la instancia de Amazon EC2 de host o en un equipo externo. Para obtener más información, consulte [Visualización de los registros del agente de contenedor de Amazon ECS](logs.md).

## Procedimiento
<a name="view-stopped-errors-procedure"></a>

------
#### [ Console ]

**Consola de administración de AWS**

Los siguientes pasos se pueden utilizar para comprobar si hay errores en las tareas detenidas a través de la consola. Para ver las tareas detenidas, debe cambiar la opción de filtro.

Las tareas detenidas solo aparecen en la consola durante 1 hora.

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación, seleccione **Clusters (Clústeres)**.

1. En la página **Clusters** (Clústeres), elija el clúster.

1. En la página de **Cluster : *name*** (Clúster: nombre), seleccione la pestaña de **Tasks** (Tareas). 

1. Configure el filtro para que muestre las tareas detenidas. Para **Filtrar el estado deseado**, seleccione **Detenida**.

   La opción **Detenido** muestra las tareas detenidas y **Cualquier estado deseado** muestra todas las tareas.

1. Elija la tarea detenida que desea inspeccionar.

1. En la fila correspondiente a la tarea detenida, en la columna **Último estado**, seleccione **Detenido**.

   En una ventana emergente se muestra el motivo por el que se ha detenido.

------
#### [ AWS CLI ]

1. Enumere las tareas detenidas en un clúster. El resultado contiene el nombre de recurso de Amazon (ARN) de la tarea, que necesita para describir la tarea. 

   ```
   aws ecs list-tasks \
        --cluster cluster_name \
        --desired-status STOPPED \
        --region region
   ```

1. Describa la tarea detenida para recuperar la información. Para obtener más información, consulte [describe-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-tasks.html) en la *Referencia de la AWS Command Line Interface*.

   ```
   aws ecs describe-tasks \
        --cluster cluster_name \
        --tasks arn:aws:ecs:region:account_id:task/cluster_name/task_ID \
        --region region
   ```

Utilice los siguientes parámetros de salida.
+ `stopCode`: el código de detención indica por qué se detuvo una tarea, por ejemplo, ResourceInitializationError.
+ `StoppedReason`: el motivo por el que se detuvo la tarea.
+ `reason` (en la estructura de `containers`): el motivo proporciona detalles adicionales sobre el contenedor detenido.

------

## Siguientes pasos
<a name="additional-resources"></a>

Visualización de las tareas detenidas para obtener información sobre la causa. Para obtener más información, consulte [Mensajes de error de las tareas detenidas de Amazon ECS](stopped-task-error-codes.md).

# Mensajes de error de las tareas detenidas de Amazon ECS
<a name="stopped-task-error-codes"></a>

A continuación se muestran los posibles mensajes de error que puede recibir cuando una tarea se detiene de forma inesperada.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

**sugerencia**  
Puede utilizar el [Servidor MCP de Amazon ECS](ecs-mcp-introduction.md) con asistentes de IA para analizar los errores de las tareas y los registros de los contenedores mediante lenguaje natural.

Los códigos de error de las tareas detenidas tienen una categoría asociada a ellos, por ejemplo, “ResourceInitializationError”. Para obtener más información sobre cada categoría, consulte lo siguiente:


| Categoría | Más información | 
| --- | --- | 
|  TaskFailedToStart  |  [Solución de errores TaskFailedToStart de Amazon ECS](failed-to-start-error.md)  | 
|  ResourceInitializationError  |  [Solución de errores ResourceInitializationError de Amazon ECS](resource-initialization-error.md)  | 
| ResourceNotFoundException |  [Solución de errores ResourceNotFoundException de Amazon ECS](resource-not-found-error.md) | 
|  SpotInterruptionError  |  [Solución de errores SpotInterruption de Amazon ECS](spot-interruption-errors.md)  | 
|  InternalError  |  [Solución de errores InternalError de Amazon ECS](internal-error.md)  | 
|  OutOfMemoryError  |  [Solución de errores OutOfMemoryError de Amazon ECS](out-of-memory.md)  | 
|  ContainerRuntimeError  |  [Solución de errores ContainerRuntimeError de Amazon ECS Exec](container-runtime-error.md)  | 
|  ContainerRuntimeTimeoutError  |  [Solución de errores ContainerRuntimeTimeoutError de Amazon ECS](container-runtime-timeout-error.md)  | 
|  CannotStartContainerError  |  [Solución de errores CannotStartContainerError de Amazon ECS](cannot-start-container.md)  | 
|  CannotStopContainerError  |  [Solución de errores CannotStopContainerError de Amazon ECS](cannot-stop-container.md)  | 
|  CannotInspectContainerError  |  [Solución de errores CannotInspectContainerError de Amazon ECS](cannot-inspect-container.md)  | 
|  CannotCreateVolumeError  |  [Solución de errores CannotCreateVolumeError de Amazon ECS](cannot-create-volume.md)  | 
| CannotPullContainer |  [Errores de tareas CannotPullContainer en Amazon ECS](task_cannot_pull_image.md)  | 

# Solución de errores TaskFailedToStart de Amazon ECS
<a name="failed-to-start-error"></a>

A continuación, se muestran algunos mensajes de error de `TaskFailedToStart` y las acciones que puede llevar a cabo para corregir los errores. 

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## Error inesperado de EC2 al intentar crear una interfaz de red con asignación de IP pública habilitada en la subred “*subnet-id*”
<a name="subnet-error"></a>

Esto ocurre cuando una tarea de Fargate que usa el modo de red `awsvpc` y se ejecuta en una subred con una dirección IP pública y la subred no tiene suficientes direcciones IP.

El número de direcciones IP disponibles está disponible en la página de detalles de la subred de la consola de Amazon EC2 o mediante `[describe-subnets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-subnets.html)`. Para obtener más información, consulte [View your subnet](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#view-subnet) en la *Guía del usuario de Amazon VPC*.

Para solucionar este problema, puede crear una subred donde ejecutar la tarea.

## InternalError: *<reason>*
<a name="internal-error-reason"></a>

Este error se produce cuando se solicita un adjunto de ENI. Amazon EC2 gestiona de forma asíncrona el aprovisionamiento de la ENI. El proceso de aprovisionamiento lleva tiempo. Amazon ECS dispone de un tiempo de espera en caso de que se produzcan largos tiempos de espera o errores no comunicados. Hay ocasiones en las que la ENI se aprovisiona, pero el informe llega a Amazon ECS después del tiempo de espera del error. En este caso, Amazon ECS ve el error de la tarea notificado con una ENI en uso.

## La definición de la tarea seleccionada no es compatible con la estrategia de computación seleccionada
<a name="compute-compatibility"></a>

Este error se produce al elegir una definición de tarea con un tipo de lanzamiento que no coincide con el tipo de capacidad del clúster. Tiene que seleccionar una definición de tarea que coincida con el proveedor de capacidad asignado a su clúster.

## No es posible conectar la interfaz de red al índice de dispositivos no utilizados
<a name="compute-compatibility-cpu"></a>

Este error se produce cuando se utiliza un tipo de red `awsvpc` y no hay suficiente CPU o memoria para la tarea. En primer lugar, compruebe la CPU para ver las instancias. Para obtener más información, consulte las [especificaciones de los tipos de instancias de Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-instance-type-specifications.html) en *Tipos de instancias de Amazon EC2*. Tome el valor de la CPU para la instancia y multiplíquelo por el número de ENI de la instancia. Ese valor “e” debe usarlo en la definición de tarea.

## AGENT
<a name="agent-not-started"></a>

La instancia de contenedor en la que se ha intentado lanzar una tarea tiene un agente que está desconectado actualmente. Para evitar tiempos de espera prolongados para la ubicación de tareas, se rechazó la solicitud.

Para obtener información acerca de cómo solucionar problemas de un agente desconectado, consulte [How do I troubleshoot a disconnected Amazon ECS agent](https://repost.aws/knowledge-center/ecs-agent-disconnected-linux2-ami) (¿Cómo soluciono problemas de un agente de Amazon ECS desconectado?).

# Solución de errores ResourceInitializationError de Amazon ECS
<a name="resource-initialization-error"></a>

A continuación, se muestran algunos mensajes de error de `ResourceInitialization` y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

**Topics**
+ [La tarea no puede extraer la autenticación del registro de Amazon ECR. Hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea.](#unable-to-pull-secrets-ecr)
+ [La tarea no puede descargar los archivo de variables de entorno de Amazon S3. Hay un problema de conexión entre la tarea y Amazon S3. Compruebe la configuración de red de la tarea.](#failed-to-download-env-files)
+ [La tarea no puede extraer secretos del almacén de parámetros de AWS Systems Manager. Compruebe la conexión de red entre la tarea y AWS Systems Manager.](#unable-to-pull-secrets-sys-manager)
+ [La tarea no puede extraer secretos de AWS Secrets Manager. Hay un problema de conexión entre la tarea y Secrets Manager. Compruebe la configuración de red de la tarea.](#unable-to-pull-secrets-asm-no-arn)
+ [La tarea no puede extraer el secreto desde Secrets Manager. La tarea no puede extraer el secreto con el ARN ‘*secretARN*’ de Secrets Manager. Compruebe si el secreto existe en la región especificada.](#unable-to-pull-secrets-asm)
+ [error en la extracción del comando: no se pueden extraer los secretos o la autenticación del registro. Compruebe la configuración de red de la tarea.](#pull-command-failed)
+ [La tarea no puede encontrar el grupo de registro de Amazon CloudWatch que se especifica en la definición de la tarea. Hay un problema de conexión entre la tarea y Amazon CloudWatch. Compruebe la configuración de la red.](#failed-to-initialize-logging-network)
+ [no se pudo inicializar el controlador de registro](#failed-to-initialize-logging)
+ [no se pudieron invocar los comandos utils de EFS para configurar los volúmenes de EFS](#efs-utils-failed)

## La tarea no puede extraer la autenticación del registro de Amazon ECR. Hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea.
<a name="unable-to-pull-secrets-ecr"></a>

Este error indica que la tarea no se puede conectar a Amazon ECR.

Compruebe la conexión entre la tarea y Amazon ECR. Para obtener más información, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede descargar los archivo de variables de entorno de Amazon S3. Hay un problema de conexión entre la tarea y Amazon S3. Compruebe la configuración de red de la tarea.
<a name="failed-to-download-env-files"></a>

Este error se produce cuando la tarea no puede descargar el archivo de entorno de Amazon S3. 

Compruebe la conexión entre la tarea y el punto de conexión de VPC de Amazon S3. Para obtener más información, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede extraer secretos del almacén de parámetros de AWS Systems Manager. Compruebe la conexión de red entre la tarea y AWS Systems Manager.
<a name="unable-to-pull-secrets-sys-manager"></a>

Este error se produce cuando la tarea no puede extraer la imagen especificada en la definición de la tarea mediante las credenciales de Systems Manager.

Compruebe la conexión entre la tarea y el punto de conexión de VPC de Systems Manager. Para obtener más información, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede extraer secretos de AWS Secrets Manager. Hay un problema de conexión entre la tarea y Secrets Manager. Compruebe la configuración de red de la tarea.
<a name="unable-to-pull-secrets-asm-no-arn"></a>

Este error se produce cuando la tarea no puede extraer la imagen especificada en la definición de la tarea mediante las credenciales de Secrets Manager. 

El error indica que hay un problema de conectividad de red entre el punto de conexión de VPC de Systems Manager y la tarea.

Para obtener información sobre cómo verificar la conectividad entre la tarea y el punto de conexión, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede extraer el secreto desde Secrets Manager. La tarea no puede extraer el secreto con el ARN ‘*secretARN*’ de Secrets Manager. Compruebe si el secreto existe en la región especificada.
<a name="unable-to-pull-secrets-asm"></a>

Este error se produce cuando la tarea no puede extraer la imagen especificada en la definición de la tarea mediante las credenciales de Secrets Manager. 

Este error se debe a uno o varios de los siguientes motivos:


| Causa del error… | Haga lo siguiente... | 
| --- | --- | 
|   Problema de conectividad de red entre el punto de conexión de VPC de Secrets Manager y la tarea. El problema se debe a un problema de red cuando aparece alguna de las siguientes cadenas en el mensaje de error: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/resource-initialization-error.html)  |  Compruebe la conectividad entre la tarea y el punto de conexión de Secrets Manager. Para obtener más información, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).  | 
| El rol de ejecución de tareas especificado en la definición de la tarea no tiene los permisos para Secrets Manager. |  Agregue los permisos necesarios para Secrets Manager al rol de ejecución de tareas. Para obtener más información, consulte [Permisos de Secrets Manager o Systems Manager](task_execution_IAM_role.md#task-execution-secrets).  | 
| El ARN del secreto no existe | Compruebe si el ARN existe en Secrets Manager. Para obtener información sobre cómo ver las imágenes, consulte [Find secrets in Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) en la Guía para desarrolladores de Secrets Manager. | 

## error en la extracción del comando: no se pueden extraer los secretos o la autenticación del registro. Compruebe la configuración de red de la tarea.
<a name="pull-command-failed"></a>

Este error se produce cuando la tarea no puede conectarse a Amazon ECR, Systems Manager o Secrets Manager. Esto se debe a una configuración incorrecta en la red.

A fin de solucionar este problema, compruebe la conectividad entre la tarea y Amazon ECR. También necesita verificar la conectividad entre la tarea y el servicio que almacena el secreto (Systems Manager o Secrets Manager). Para obtener más información, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede encontrar el grupo de registro de Amazon CloudWatch que se especifica en la definición de la tarea. Hay un problema de conexión entre la tarea y Amazon CloudWatch. Compruebe la configuración de la red.
<a name="failed-to-initialize-logging-network"></a>

Este error se produce cuando la tarea no encuentra el grupo de registro de CloudWatch que ha definido en la definición de la tarea.

El error indica que hay un problema de conectividad de red entre el punto de conexión de VPC de CloudWatch y la tarea.

Para obtener información sobre cómo verificar la conectividad entre la tarea y el punto de conexión, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## no se pudo inicializar el controlador de registro
<a name="failed-to-initialize-logging"></a>

Este error se produce cuando la tarea no encuentra el grupo de registro de CloudWatch que ha definido en la definición de la tarea.

El error indica que el grupo de CloudWatch de la definición de la tarea no existe.

Siga los pasos a continuación para encontrar el CloudWatch faltante.

1. Ejecute el siguiente comando para obtener la información de definición de la tarea.

   ```
   aws ecs describe-task-definition \ 
       --task-definition task-def-name
   ```

   Observe el resultado de cada contenedor y anote el valor `awslogs-group`.

   ```
   "logConfiguration": {
                   "logDriver": "awslogs",
                   "options": {
                       "awslogs-group": "/ecs/example-group",
                       "awslogs-create-group": "true",
                       "awslogs-region": "us-east-1",
                       "awslogs-stream-prefix": "ecs"
                   },
   ```

1. Compruebe que el grupo existe en CloudWatch y para obtener más información, consulte [Cómo trabajar con grupos de registro y flujos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) en la *Guía del usuario de Registros de Amazon CloudWatch*.

   El problema es que el grupo especificado en la definición de la tarea es incorrecto o el grupo de registro no existe.

1. Solucione el problema.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/resource-initialization-error.html)

## no se pudieron invocar los comandos utils de EFS para configurar los volúmenes de EFS
<a name="efs-utils-failed"></a>

Los siguientes problemas pueden impedirle montar los volúmenes de Amazon EFS en las solicitudes:
+ El sistema de archivos de Amazon EFS no está configurado correctamente.
+ La tarea no cuenta con los permisos requeridos.
+ Hay problemas relacionados con las configuraciones de red y VPC.

 Para obtener información sobre cómo depurar y solucionar este problema, consulte [¿Por qué no puedo montar mis volúmenes de Amazon EFS en mis tareas de AWS Fargate?](https://repost.aws/knowledge-center/fargate-unable-to-mount-efs) en AWS re:Post.

# Solución de errores ResourceNotFoundException de Amazon ECS
<a name="resource-not-found-error"></a>

A continuación, se muestran algunos mensajes de error de ` ResourceNotFoundException` y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## La tarea no puede recuperar el secreto con el ARN “*sercretARN*” desde AWS Secrets Manager. Compruebe si el secreto existe en la región especificada.
<a name="unable-to-pull-secrets-ecr"></a>

Este error se produce cuando la tarea no puede recuperar el secreto desde Secrets Manager. Esto significa que el secreto especificado en la definición de la tarea (y contenido en el mensaje de error) no existe en Secrets Manager. 

La región está en el mensaje de error.

Al buscar datos secretos desde AWS Secrets Manager en la región *region*: secreto *sercretARN*: ResourceNotFoundException: Secrets Manager no puede encontrar el secreto especificado.

Para obtener información sobre cómo encontrar un secreto, consulte [Find secrets in AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html) en la *Guía del usuario de AWS Secrets Manager*.

Utilice la siguiente tabla para determinar y solucionar el error.


| Problema | Acciones | 
| --- | --- | 
| El secreto se encuentra en una región diferente de la definición de la tarea. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/resource-not-found-error.html) | 
| La definición de la tarea tiene un ARN de secreto incorrecto. El secreto correcto existe en Secrets Manager. | Actualice la definición de la tarea con el secreto correcto. Para obtener más información, consulte [Actualización de una definición de tareas de Amazon ECS mediante la consola](update-task-definition-console-v2.md) o [RegisterTaskDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html) en la Referencia de la API de Amazon Elastic Container Service. | 
| El secreto ya no existe. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/resource-not-found-error.html)  | 

# Solución de errores SpotInterruption de Amazon ECS
<a name="spot-interruption-errors"></a>

El error `SpotInterruption` tiene diferentes motivos para Fargate y EC2. 

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## Fargate
<a name="fargate-spot-error"></a>

El error `SpotInterruption` se produce cuando no hay capacidad de spot en Fargate o cuando Fargate recupera la capacidad de spot.

Puede hacer que sus tareas se ejecuten en varias zonas de disponibilidad para obtener más capacidad.

## EC2
<a name="ec2-spot-error"></a>

Este error se produce cuando no hay instancias de spot disponibles o cuando EC2 recupera la capacidad de instancias de spot. 

Puede hacer que sus instancias se ejecuten en varias zonas de disponibilidad para obtener más capacidad.

# Solución de errores InternalError de Amazon ECS
<a name="internal-error"></a>

**Se aplica a**: Fargate

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

El error `InternalError` se produce cuando el agente encuentra un error interno inesperado y no relacionado con el tiempo de ejecución.

Este error solo se produce si se utiliza la versión `1.4` de la plataforma o una posterior.

Para obtener información acerca de cómo depurar y resolver este problema, consulte [Mensajes de error de las tareas detenidas de Amazon ECS](stopped-task-error-codes.md).

# Solución de errores OutOfMemoryError de Amazon ECS
<a name="out-of-memory"></a>

A continuación, se muestran algunos mensajes de error de OutOfMemoryError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## contenedor inactivo debido al uso de memoria
<a name="container-memory-usage"></a>

Este error se produce cuando un contenedor sale porque los procesos del contenedor consumen más memoria de la que se asignó en la definición de tarea o debido a restricciones del host o sistema operativo.

# Solución de errores ContainerRuntimeError de Amazon ECS Exec
<a name="container-runtime-error"></a>

A continuación, se muestran algunos mensajes de error de ContainerRuntimeError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## ContainerRuntimeError
<a name="container-runtime-error-1"></a>

Este error se produce cuando el agente recibe un error inesperado de `containerd` relacionado con una operación específica en tiempo de ejecución. Este error suele deberse a un problema interno del agente o el tiempo de ejecución de `containerd`.

Este error solo se produce si se utiliza la versión `1.4.0` de la plataforma o posterior (Linux) o `1.0.0` o posterior (Windows).

Para obtener información sobre cómo depurar y solucionar este problema, consulte [¿Por qué se detiene mi tarea de Amazon ECS?](https://repost.aws/knowledge-center/ecs-task-stopped) en AWS re:Post.

# Solución de errores ContainerRuntimeTimeoutError de Amazon ECS
<a name="container-runtime-timeout-error"></a>

A continuación, se muestran algunos mensajes de error de ContainerRuntimeTimeoutError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## No se pudo realizar la transición al modo de ejecución; se agotó el tiempo de espera después de esperar 1 min o se produjo un error de tiempo de espera de Docker.
<a name="container-runtime-timeout-error-1"></a>

Este error se produce cuando un contenedor no puede realizar la transición a un estado `RUNNING` o `STOPPED` dentro del período de espera. El motivo y el valor del tiempo de espera se indican en el mensaje de error.

# Solución de errores CannotStartContainerError de Amazon ECS
<a name="cannot-start-container"></a>

A continuación, se muestran algunos mensajes de error de CannotStartContainerError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## no se pudo obtener el estado del contenedor: *<reason>*
<a name="cannot-start-container-1"></a>

Este error se produce cuando no se puede iniciar un contenedor.

Si su contenedor intenta superar la memoria especificada aquí, el contenedor se detiene. Aumento de la memoria presentada al contenedor. Este es el parámetro `memory` de la definición de la tarea. Para obtener más información, consulte [Memoria](task_definition_parameters.md#container_definition_memory).

# Solución de errores CannotStopContainerError de Amazon ECS
<a name="cannot-stop-container"></a>

A continuación, se muestran algunos mensajes de error de CannotStopContainerError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## CannotStopContainerError
<a name="cannot-stop-container-1"></a>

Este error se produce cuando no se puede detener un contenedor.

Para obtener información sobre cómo depurar y solucionar este problema, consulte [¿Por qué se detiene mi tarea de Amazon ECS?](https://repost.aws/knowledge-center/ecs-task-stopped) en AWS re:Post.

# Solución de errores CannotInspectContainerError de Amazon ECS
<a name="cannot-inspect-container"></a>

A continuación, se muestran algunos mensajes de error de CannotInspectContainerError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## CannotInspectContainerError
<a name="cannot-inspect-container-1"></a>

Este error se produce cuando el agente de contenedor no puede describir el contenedor durante el tiempo de ejecución del contenedor.

Si se utiliza la versión de la plataforma `1.3` u otra anterior, el agente de Amazon ECS devuelve el motivo desde Docker.

Si se utiliza la versión de la plataforma `1.4.0` u otra posterior (Linux), o `1.0.0` u otra posterior (Windows), el agente de Fargate devuelve el motivo desde `containerd`.

Para obtener información sobre cómo depurar y solucionar este problema, consulte [¿Por qué se detiene mi tarea de Amazon ECS?](https://repost.aws/knowledge-center/ecs-task-stopped) en AWS re:Post.

# Solución de errores CannotCreateVolumeError de Amazon ECS
<a name="cannot-create-volume"></a>

A continuación, se muestran algunos mensajes de error de CannotCreateVolumeError y las acciones que puede llevar a cabo para corregir los errores.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

## CannotCreateVolumeError
<a name="cannot-create-volume-1"></a>

Este error se produce cuando el agente no puede crear el montaje de volumen que se especifica en la definición de tareas.

Este error solo se produce si se utiliza la versión `1.4.0` de la plataforma o posterior (Linux) o `1.0.0` o posterior (Windows).

Para obtener información sobre cómo depurar y solucionar este problema, consulte [¿Por qué se detiene mi tarea de Amazon ECS?](https://repost.aws/knowledge-center/ecs-task-stopped) en AWS re:Post.

# Errores de tareas CannotPullContainer en Amazon ECS
<a name="task_cannot_pull_image"></a>

Los siguientes errores indican que la tarea no se pudo iniciar porque Amazon ECS no pudo recuperar la imagen del contenedor especificada.

**nota**  
La versión 1.4 de la plataforma de Fargate trunca los mensajes de error largos.

Para comprobar si hay algún mensaje de error en las tareas detenidas a través de la Consola de administración de AWS, consulte [Visualización de los errores de las tareas detenidas de Amazon ECS](stopped-task-errors.md).

**sugerencia**  
Puede utilizar el [Servidor MCP de Amazon ECS](ecs-mcp-introduction.md) con asistentes de IA para investigar los errores de extracción de imágenes mediante lenguaje natural.

**Topics**
+ [La tarea no puede extraer la imagen. Compruebe que el rol tenga los permisos para extraer imágenes del registro.](#pull-request-image-not-found)
+ [La tarea no puede extraer el ‘*nombre de la imagen*’ del ‘*URI del repositorio*’ de Amazon ECR. Hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea.](#pull-image-io-timeout)
+ [La tarea no puede extraer la imagen. Compruebe la configuración de la red y vuelva a intentarlo.](#pull-request-image-not-found-network)
+ [CannotPullContainerError: el manifiesto de extracción de imagen se ha reintentado 5 veces: no se pudo resolver la referencia](#pull-request-image-tag)
+ [Error de API (500): obtener https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitud cancelada mientras se esperaba la conexión](#request-canceled)
+ [Errores de API](#pull-request-api-error)
+ [escribir /var/lib/docker/tmp/*GetImageBlob111111111*: no queda espacio en el dispositivo](#pull-request-write-error)
+ [ERROR: toomanyrequests: demasiadas solicitudes o ha alcanzado el límite de su tasa de extracción.](#container-pull-too-many-requests)
+ [Respuesta de error del daemon: obtener *url*: net/http: solicitud cancelada mientras se esperaba la conexión](#container-pull-request-canceled-connection)
+ [ref pull se ha reintentado 1 vez: no se pudo copiar: httpReaderSeeker: no se pudo abrir: código de estado inesperado](#container-pull-failed-open)
+ [acceso de extracción denegado](#container-pull-access-denied.title)
+ [El comando de extracción falló: pánico: error de tiempo de ejecución: dirección de memoria no válida o falta de referencia del puntero](#container-pull-runtime-error.title)
+ [error al extraer la imagen conf/error al extraer la configuración de la imagen](#container-pull-pulling-image.title)
+ [Contexto cancelado](#container-pull-context-canceled)

## La tarea no puede extraer la imagen. Compruebe que el rol tenga los permisos para extraer imágenes del registro.
<a name="pull-request-image-not-found"></a>

Este error indica que la tarea no puede extraer la imagen especificada en la definición de la tarea debido a problemas con los permisos. 

Para resolver este problema, siga estos pasos:

1. Verifique que la imagen exista en el *repositorio*. Para obtener información sobre cómo ver las imágenes, consulte [Viewing image details in Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-info.html) en la *Guía del usuario de Amazon Elastic Container Registry*.

1. Compruebe que el rol *role-arn* tenga los permisos correctos para extraer la imagen. 

   Para obtener información acerca de cómo actualizar los roles, consulte [Actualización de los permisos de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) en la *Guía del usuario de AWS Identity and Access Management*.

   La tarea utiliza uno de los siguientes roles:
   + Para tareas con Fargate, este es el rol de ejecución de tareas. Para obtener información acerca de los permisos adicionales para Amazon ECR, consulte [Las tareas de Fargate que extraen imágenes de Amazon ECR a través de permisos de puntos de conexión de interfaz](task_execution_IAM_role.md#task-execution-ecr-conditionkeys).
   + Para tareas con EC2, este es el rol de la instancia de contenedor. Para obtener información acerca de los permisos adicionales para Amazon ECR, consulte [Permisos de Amazon ECR](instance_IAM_role.md#container-instance-role-ecr).

## La tarea no puede extraer el ‘*nombre de la imagen*’ del ‘*URI del repositorio*’ de Amazon ECR. Hay un problema de conexión entre la tarea y Amazon ECR. Compruebe la configuración de red de la tarea.
<a name="pull-image-io-timeout"></a>

Este error indica que la tarea no se puede conectar a Amazon ECR. Compruebe la conexión al *URI del repositorio*.

Para obtener información acerca de cómo verificar y resolver este problema, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## La tarea no puede extraer la imagen. Compruebe la configuración de la red y vuelva a intentarlo.
<a name="pull-request-image-not-found-network"></a>

Este error indica que la tarea no se puede conectar a Amazon ECR.

Para obtener información acerca de cómo verificar y resolver este problema, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## CannotPullContainerError: el manifiesto de extracción de imagen se ha reintentado 5 veces: no se pudo resolver la referencia
<a name="pull-request-image-tag"></a>

Este error indica que la tarea no puede extraer la imagen.

Para resolver este problema, puede:
+ Verifique que la imagen especificada en la definición de la tarea coincida con la imagen en el repositorio.
+ Amazon ECS fuerza la estabilidad de la versión de la imagen. Si la imagen original ya no está disponible, aparece este error. La etiqueta de la imagen forma parte de la aplicación de este comportamiento. Cambie la imagen en la definición de la tarea: en lugar de utilizar :latest como etiqueta usa una versión específica. Para obtener más información, consulte [Resolución de imagen de contenedor](deployment-type-ecs.md#deployment-container-image-stability).

Para obtener información acerca de cómo verificar y resolver este problema, consulte [Comprobación de la conectividad de las tareas detenidas de Amazon ECS](verify-connectivity.md).

## Error de API (500): obtener https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: solicitud cancelada mientras se esperaba la conexión
<a name="request-canceled"></a>

Este error indica que se ha agotado el tiempo de espera de la conexión porque no existe una ruta a Internet.

Para solucionar este problema, puede:
+ Para tareas en subredes públicas, especificar **ENABLED** (HABILITADO) para **Asignar IP pública automáticamente** al poner en marcha la tarea. Para obtener más información, consulte [Ejecución de una aplicación como tarea de Amazon ECS](standalone-task-create.md).
+ Para tareas en subredes privadas, especifique **DISABLED** (Deshabilitado) en **Auto-assign public IP** (Asignar IP pública automáticamente) al lanzar la tarea y configure una gateway NAT en la VPC para dirigir las solicitudes a Internet. Para obtener más información, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC*. 

## Errores de API
<a name="pull-request-api-error"></a>

Este error indica que hay un problema de conexión con el punto de conexión de Amazon ECR.

Para obtener información sobre cómo resolver este problema, consulte [¿Cómo puedo resolver el error “CannotPullContainerError: API error” en Amazon ECS?](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/) en el sitio web de Soporte.

## escribir /var/lib/docker/tmp/*GetImageBlob111111111*: no queda espacio en el dispositivo
<a name="pull-request-write-error"></a>

Este error indica que no hay suficiente espacio en disco.

Para solucionar este problema, libere espacio en el disco.

Si utiliza la AMI optimizada para Amazon ECS, puede emplear el siguiente comando para recuperar los 20 archivos más grandes del sistema de archivos:

```
du -Sh / | sort -rh | head -20
```

Ejemplo de código de salida:

```
5.7G    /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2
1.2G    /var/log/ecs
594M    /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs
...
```

En algunos casos, un contenedor en ejecución puede llenar el volumen raíz. Si el contenedor utiliza el controlador de registros `json-file` predeterminado sin un límite `max-size`, es posible que el archivo de registro sea responsable de la mayor parte de ese espacio utilizado. Puede utilizar el comando `docker ps` para comprobar qué contenedor está utilizando el espacio mapeando el nombre del directorio de la salida anterior al ID del contenedor. Por ejemplo:

```
CONTAINER ID   IMAGE                            COMMAND             CREATED             STATUS              PORTS                            NAMES
50501b5f4cbf   amazon/amazon-ecs-agent:latest   "/agent"            4 days ago          Up 4 days                                            ecs-agent
```

De forma predeterminada, cuando se utiliza el controlador de registros `json-file`, Docker captura la salida estándar (y el error estándar) de todos los contenedores y los escribe en archivos con formato JSON. Puede establecer el `max-size` como una opción del controlador de registros, lo que impide que el archivo de registro ocupe demasiado espacio. Para obtener más información, consulte [Controlador de registro de archivos JSON](https://docs.docker.com/engine/logging/drivers/json-file/) en la documentación de Docker.

A continuación se muestra un fragmento de definición de contenedor que muestra cómo utilizar esta opción:

```
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "256m"
    }
}
```

Si los registros de contenedor ocupan demasiado espacio en el disco, una alternativa consiste en utilizar el controlador de registros `awslogs`. El controlador de registros `awslogs` envía los registros a CloudWatch, lo que libera espacio en disco que, de lo contrario, utilizarían los registros de contenedor de la instancia de contenedor. Para obtener más información, consulte [Envío de registros de Amazon ECS a CloudWatch](using_awslogs.md).

Es posible que deba actualizar el tamaño del disco al que Docker puede acceder.

Para más información, consulte [CannotPullContainerError: no space left on device](https://repost.aws/questions/QUx6Ix1R1SSNisYSs1Sw8EBA/cannotpullcontainererror-no-space-left-on-device).

## ERROR: toomanyrequests: demasiadas solicitudes o ha alcanzado el límite de su tasa de extracción.
<a name="container-pull-too-many-requests"></a>

Este error indica que hay un límite de velocidad de Docker Hub.

Si recibe uno de los siguientes errores, es probable que haya alcanzado los límites de tasa de Docker Hub:

Para obtener más información acerca de los límites de tasa de Docker Hub, consulte [Descripción de la limitación de velocidad de Docker Hub](https://www.docker.com/increase-rate-limits).

Si ha aumentado el límite de tasa de Docker Hub y necesita autenticar las extracciones de Docker para las instancias de contenedor, consulte [Private registry authentication for container instances](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/private-auth-container-instances.html).

## Respuesta de error del daemon: obtener *url*: net/http: solicitud cancelada mientras se esperaba la conexión
<a name="container-pull-request-canceled-connection"></a>

Este error indica que se ha agotado el tiempo de espera de la conexión porque no existe una ruta a Internet.

Para solucionar este problema, puede:
+ Para tareas en subredes públicas, especificar **ENABLED** (HABILITADO) para **Asignar IP pública automáticamente** al poner en marcha la tarea. Para obtener más información, consulte [Ejecución de una aplicación como tarea de Amazon ECS](standalone-task-create.md).
+ Para tareas en subredes privadas, especifique **DISABLED** (Deshabilitado) en **Auto-assign public IP** (Asignar IP pública automáticamente) al lanzar la tarea y configure una gateway NAT en la VPC para dirigir las solicitudes a Internet. Para obtener más información, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC*. 

## ref pull se ha reintentado 1 vez: no se pudo copiar: httpReaderSeeker: no se pudo abrir: código de estado inesperado
<a name="container-pull-failed-open"></a>

Este error indica que se ha producido un error al copiar una imagen.

Para resolver este problema, consulte uno de estos artículos:
+ Para las tareas de Fargate, consulte [How do I resolve the "cannotpullcontainererror" error for my Amazon ECS tasks on Fargate](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-pull-container-error/).
+ Para otras tareas, consulte [How do I resolve the "cannotpullcontainererror" error for my Amazon ECS](https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-error/).

## acceso de extracción denegado
<a name="container-pull-access-denied.title"></a>

Este error indica que no hay acceso a la imagen.

Para resolver este problema, es posible que deba autenticar su cliente de Docker con Amazon ECR. Para obtener más información, consulte [Private registry authentication](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html) en la *Guía del usuario de Amazon ECR*.

## El comando de extracción falló: pánico: error de tiempo de ejecución: dirección de memoria no válida o falta de referencia del puntero
<a name="container-pull-runtime-error.title"></a>

Este error indica que no se puede acceder a la imagen debido a una dirección de memoria no válida o a una falta de referencia del puntero.

Para resolver este problema, siga estos pasos:
+ Compruebe que dispone de las reglas del grupo de seguridad para acceder a Amazon S3.
+ Cuando utilice puntos de conexión de puerta de enlace, debe agregar una ruta en la tabla de enrutamiento para acceder al punto de conexión.

## error al extraer la imagen conf/error al extraer la configuración de la imagen
<a name="container-pull-pulling-image.title"></a>

Este error indica que se ha alcanzado un límite de velocidad o que se ha producido un error de red:

Para resolver este problema, consulte [¿Cómo puedo solucionar los errores “CannotPullContainerError” cuando inicio una tarea de EC2 en Amazon ECS?](https://repost.aws/knowledge-center/ecs-pull-container-error).

## Contexto cancelado
<a name="container-pull-context-canceled"></a>

Este error indica que se canceló el contexto.

La causa común de este error es que la VPC que está utilizando la tarea no cuenta con ninguna ruta para extraer la imagen de contenedor de Amazon ECR.

# Comprobación de la conectividad de las tareas detenidas de Amazon ECS
<a name="verify-connectivity"></a>

Hay ocasiones en las que una tarea se detiene debido a un problema de conectividad de red. Puede que se trate de un problema intermitente, pero lo más probable es que se deba a que la tarea no se puede conectar a un punto de conexión. 

## Comprobación de la conexión de las tareas
<a name="test-network"></a>

Puede usar el manual de procedimientos `AWSSupport-TroubleshootECSTaskFailedToStart` para probar la conectividad de las tareas. Al utilizar el manual de procedimientos, deberá proporcionar la siguiente información sobre los recursos:
+ El ID de la tarea

  Use el ID de la tarea fallida más reciente.
+ El clúster en el que estaba la tarea

Para obtener información sobre cómo usar el manual de procedimientos, consulte [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshootecstaskfailedtostart.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshootecstaskfailedtostart.html) en la *Referencia del manual de procedimientos de Automatización de AWS Systems Manager*.

El manual de procedimientos analiza la tarea. Puede ver los resultados en la sección **Salida** para los siguientes problemas que pueden impedir el inicio de una tarea: 
+ Conectividad de red con el registro de contenedores configurado
+ Conectividad del punto de conexión de VPC
+ Configuración de regla de grupo de seguridad

## Solución de problemas de punto de conexión de VPC
<a name="fix-vpc-endpoints"></a>

Cuando el resultado del manual de procedimientos `AWSSupport-TroubleshootECSTaskFailedToStart` indique un problema de punto de conexión de VPC, compruebe la siguiente configuración:
+ La VPC en la que se crea el punto de conexión y el punto de conexión de VPC debe usar un DNS privado.
+ Asegúrese de tener un punto de conexión de AWS PrivateLink para el servicio al que la tarea no se pueda conectar en la misma VPC que la tarea. Para obtener más información, consulte lo siguiente:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Configure una regla de salida para la subred de tareas que permita el tráfico HTTPS en el puerto 443 DNS (TCP). Para obtener más información, consulte [Configuración de reglas de grupos de seguridad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html#add-remove-security-group-rules) en la *Guía del usuario de Amazon Elastic Compute Cloud*.
+ Si utiliza un servidor de dominio de nombre personalizado, confirme la configuración de la consulta de DNS. La consulta debe tener acceso de salida en el puerto 53 y usar los protocolos UDP y TCP. Además, debe tener acceso HTTPS en el puerto 443. Para obtener más información, consulte [Configuración de reglas de grupos de seguridad](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/changing-security-group.html#add-remove-security-group-rules) en la *Guía del usuario de Amazon Elastic Compute Cloud*.
+ Si la subred tiene una ACL de red, se requieren las siguientes reglas de ACL:
  + Una regla de salida que permita el tráfico en los puertos 1024-65535.
  + Una regla de entrada que permita el tráfico TCP en el puerto 443.

  Para obtener información sobre cómo configurar las reglas, consulte [Control del tráfico hacia las subredes utilizando las ACL de red](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

## Solución de problemas de red
<a name="fix-network-issues"></a>

Cuando el resultado del manual de procedimientos `AWSSupport-TroubleshootECSTaskFailedToStart` indique un problema de red, compruebe la siguiente configuración:

### Tareas que utilizan el modo de red awsvpc en una subred pública
<a name="fix-network-issues-fargate-public"></a>

Aplique la siguiente configuración según el manual de procedimientos:
+ Para tareas en subredes públicas, especificar **ENABLED** (HABILITADO) para **Asignar IP pública automáticamente** al poner en marcha la tarea. Para obtener más información, consulte [Ejecución de una aplicación como tarea de Amazon ECS](standalone-task-create.md).
+ Necesita una puerta de enlace para gestionar el tráfico de Internet. La tabla de enrutamiento de la subred de tareas debe tener una ruta para el tráfico a la puerta de enlace.

  Para obtener más información, consulte [Agregar y eliminar rutas de una tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) en la *Guía del usuario de Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Si la subred de tareas tiene una ACL de red, se requieren las siguientes reglas de ACL:
  + Una regla de salida que permita el tráfico en los puertos 1024-65535.
  + Una regla de entrada que permita el tráfico TCP en el puerto 443.

  Para obtener información sobre cómo configurar las reglas, consulte [Control del tráfico hacia las subredes utilizando las ACL de red](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

### Tareas que utilizan el modo de red awsvpc en una subred privada
<a name="fix-network-issues-fargate-private"></a>

Aplique la siguiente configuración según el manual de procedimientos:
+ Seleccione **DESHABILITADO** para **Asignar automáticamente la IP pública** al iniciar la tarea.
+  Configure una puerta de enlace de NAT en su VPC para enrutar las solicitudes a Internet. Para obtener más información, consulte [Puertas de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon Virtual Private Cloud*. 
+ La tabla de enrutamiento de la subred de tareas debe tener una ruta para el tráfico a la puerta de enlace de NAT.

  Para obtener más información, consulte [Agregar y eliminar rutas de una tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) en la *Guía del usuario de Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Si la subred de tareas tiene una ACL de red, se requieren las siguientes reglas de ACL:
  + Una regla de salida que permita el tráfico en los puertos 1024-65535.
  + Una regla de entrada que permita el tráfico TCP en el puerto 443.

  Para obtener información sobre cómo configurar las reglas, consulte [Control del tráfico hacia las subredes utilizando las ACL de red](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

### Tareas que no utilizan el modo de red awsvpc en una subred pública
<a name="fix-network-issues-ec2-public"></a>

Aplique la siguiente configuración según el manual de procedimientos:
+ Seleccione **Activar** para **Asignar la IP automáticamente** en **Redes para instancias de Amazon EC2** al crear el clúster.

  Esta opción asigna una dirección IP pública a la interfaz de red principal de la instancia.
+ Necesita una puerta de enlace para gestionar el tráfico de Internet. La tabla de enrutamiento de la subred de la instancia debe tener una ruta para el tráfico a la puerta de enlace.

  Para obtener más información, consulte [Agregar y eliminar rutas de una tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) en la *Guía del usuario de Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Si la subred de la instancia tiene una ACL de red, se requieren las siguientes reglas de ACL:
  + Una regla de salida que permita el tráfico en los puertos 1024-65535.
  + Una regla de entrada que permita el tráfico TCP en el puerto 443.

  Para obtener información sobre cómo configurar las reglas, consulte [Control del tráfico hacia las subredes utilizando las ACL de red](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

### Tareas que no utilizan el modo de red awsvpc en una subred privada
<a name="fix-network-issues-fargate-private"></a>

Aplique la siguiente configuración según el manual de procedimientos:
+ Seleccione **Desactivar** para **Asignar la IP automáticamente** en **Redes para instancias de Amazon EC2** al crear el clúster.
+  Configure una puerta de enlace de NAT en su VPC para enrutar las solicitudes a Internet. Para obtener más información, consulte [Gateways NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) en la *Guía del usuario de Amazon VPC*. 
+ La tabla de enrutamiento de la subred de la instancia debe tener una ruta para el tráfico a la puerta de enlace de NAT.

  Para obtener más información, consulte [Agregar y eliminar rutas de una tabla de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/WorkWithRouteTables.html#AddRemoveRoutes) en la *Guía del usuario de Amazon Virtual Private Cloud*.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/verify-connectivity.html)
+ Si la subred de tareas tiene una ACL de red, se requieren las siguientes reglas de ACL:
  + Una regla de salida que permita el tráfico en los puertos 1024-65535.
  + Una regla de entrada que permita el tráfico TCP en el puerto 443.

  Para obtener información sobre cómo configurar las reglas, consulte [Control del tráfico hacia las subredes utilizando las ACL de red](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la *Guía del usuario de Amazon Virtual Private Cloud*.

# Visualización de solicitudes de roles de IAM para tareas de Amazon ECS
<a name="task_iam_roles-logs"></a>

Cuando utiliza un proveedor para las credenciales de las tareas en un rol de IAM, las solicitudes del proveedor se guardan en un registro de auditoría. El registro de auditoría hereda la misma configuración de rotación de registro que el registro del agente de contenedor. Las variables de configuración de agente de contenedor `ECS_LOG_ROLLOVER_TYPE`, `ECS_LOG_MAX_FILE_SIZE_MB` y `ECS_LOG_MAX_ROLL_COUNT` se pueden establecer para que afecten al comportamiento del registro de auditoría. Para obtener más información, consulte [Parámetros de configuración del registro del agente de contenedor de Amazon ECS](ecs-agent-versions.md#agent-logs).

Para el agente de contenedor versión 1.36.0 y posterior, el registro de auditoría se encuentra en `/var/log/ecs/audit.log`. Cuando rota el registro, se agrega una marca temporal en formato `YYYY-MM-DD-HH` al final del nombre del archivo de registro.

Para el agente de contenedor versión 1.35.0 y anterior, el registro de auditoría se encuentra en `/var/log/ecs/audit.log.YYYY-MM-DD-HH`.

El formato de entrada de registro es el siguiente:
+ Marca de tiempo
+ Código de respuesta HTTP
+ Dirección IP y número de puerto del origen de solicitud
+ URI relativa del proveedor de credenciales
+ El agente de usuario que realizó la solicitud
+ El ARN de la tarea a la que pertenece el contenedor solicitante
+ El nombre de API `GetCredentials` y su número de versión
+ El nombre del clúster de Amazon ECS en el que está registrada la instancia de contenedor
+ El ARN de la instancia de contenedor

Puede usar el siguiente comando para ver los archivos de registro.

```
cat /var/log/ecs/audit.log.2016-07-13-16
```

Salida:

```
2016-07-13T16:11:53Z 200 172.17.0.5:52444 "/v1/credentials" "python-requests/2.7.0 CPython/2.7.6 Linux/4.4.14-24.50.amzn1.x86_64" TASK_ARN GetCredentials 1 CLUSTER_NAME CONTAINER_INSTANCE_ARN
```

# Visualización de los mensajes de eventos del servicio de Amazon ECS
<a name="service-event-messages"></a>

Si está solucionando un problema con un servicio, primero debe comprobar la información de diagnóstico del registro de eventos de servicio. Para consultar los eventos de servicio, utilice la API `DescribeServices`, la AWS CLI o la Consola de administración de AWS. 

Cuando se visualizan mensajes de eventos de servicio mediante la API de Amazon ECS, solo se devuelven los eventos del programador de servicios. Estos incluyen los eventos de estado de instancia y ubicación de tareas más recientes. Sin embargo, la consola de Amazon ECS muestra eventos de servicio provenientes de las siguientes fuentes.
+ Eventos de estado de instancia y ubicación de las tareas provenientes del programador de servicios de Amazon ECS. Estos eventos tienen el prefijo **service *(service-name)***. Para garantizar que la vista de eventos sirve de utilidad, solo mostramos los `100` eventos más recientes. Los mensajes de eventos del servicio duplicados se omiten hasta que resuelve la causa de esta duplicación o a las seis horas. Si la causa no se resuelve dentro de las seis horas, recibirá otro mensaje de evento del servicio por ese motivo.
+ Eventos de escalado automático de servicios Estos eventos tienen un prefijo de **Mensaje** y solo se producen cuando se configura un servicio con una política de escalado de Application Auto Scaling.

**sugerencia**  
Puede utilizar el [Servidor MCP de Amazon ECS](ecs-mcp-introduction.md) con asistentes de IA para analizar los eventos de servicio mediante lenguaje natural.

Siga estos pasos para ver los mensajes de eventos de servicio actuales.

------
#### [ Console ]

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación, seleccione **Clusters (Clústeres)**.

1. En la página **Clusters** (Clústeres), elija el clúster.

1. Elija el servicio que desea inspeccionar.

1. En la pestaña **Eventos**, consulte los mensajes.

------
#### [ AWS CLI ]

Utilice el comando [describe-services](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-services.html) para ver los mensajes de eventos de servicio para un servicio especificado.

El siguientes ejemplo de la AWS CLI describe el servicio *service-name* del clúster *predeterminado*, que proporcionará los mensajes de eventos de servicio más recientes.

```
aws ecs describe-services \
    --cluster default \
    --services service-name \
    --region us-west-2
```

------

# Mensajes de eventos del servicio de Amazon ECS
<a name="service-event-messages-list"></a>

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.
<a name="service-event-messages-steady"></a>

El programador del servicio envía un evento de servicio `service (service-name) has reached a steady state.` cuando el servicio esté en buen estado y con el número deseado de tareas, alcanzando así un estado estable.

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.
<a name="service-event-messages-1"></a>

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:

Utilice proveedores de capacidad para escalar automáticamente las instancias de EC2. Para obtener más información, consulte [Proveedores de capacidad de Amazon ECS para cargas de trabajo de EC2](asg-capacity-providers.md).  
Si pretendía utilizar un proveedor de capacidad, asegúrese de que esté pasando una estrategia de proveedor de capacidad o tenga una estrategia de proveedor de capacidad predeterminada asociada a su clúster y no esté pasando el tipo de inicialización y la estrategia de proveedor de capacidad como entrada.

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 agregar 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](launch_container_instance.md).

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 1000 MiB de memoria y las instancias de contenedor en el clúster tienen cada una 1024 MiB de memoria, solo puede poner en marcha 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.  
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](memory-management.md).

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 1000 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 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](eni-trunking-supported-instance-types.md).
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](container-instance-eni.md).  
Puede agregar 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 EC2. El clúster especificado no tiene una instancia de contenedor registrada en la misma subred que se especificó en la `awsvpcConfiguration` cuando se creó el servicio.  
Puede usar el manual de procedimientos AWSSupport-TroubleshootECSContainerInstance para solucionar problemas. Este manual de procedimientos comprueba si los datos de usuario de la instancia contienen la información de clúster correcta, si el perfil de instancia contiene los permisos necesarios y si hay problemas de configuración de la red. Para obtener más información, consulte [AWSSupport-TroubleshootECSContainerInstance](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshoot-ecs-container-instance.html) en la *Guía del usuario de referencia del manual de procedimientos de Automatización de AWS Systems Manager*.  
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 en la definición de tareas de Amazon ECS para Fargate](task_definition_parameters.md) y [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).

## 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.
<a name="service-event-messages-2"></a>

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".
<a name="service-event-messages-3"></a>

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](ecs-agent-versions.md#agent-logs). También debe verificar que el agente esté en marcha 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 tarea *task-id*) (la instancia *instance-id*) no está en buen estado en (elb *elb-name*) debido a (motivo por el que la instancia ha fallado al menos el número UnhealthyThreshold de comprobaciones de estado de forma consecutiva).
<a name="service-event-messages-4"></a>

Este servicio está registrado con un balanceador de carga y las comprobaciones de estado del balanceador de carga están fallando. El mensaje incluye el ID de la tarea para ayudar a identificar qué tarea específica no supera las comprobaciones de estado. Para obtener más información, consulte [Solución de problemas de los equilibradores de carga de servicio en Amazon ECS](troubleshoot-service-load-balancers.md).

## El servicio (*service-name*) no puede iniciar las tareas de forma consistente y con éxito.
<a name="service-event-messages-5"></a>

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](service-throttle-logic.md).

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.
<a name="service-event-messages-6"></a>

Este servicio no puede lanzar más tareas debido a los límites de limitación 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](https://console.aws.amazon.com/support/home#/), inicie sesión si es necesario y elija **Create case** (Crear caso). Seleccione **Service limit increase (Aumento del límite de servicio)**. Rellene y envíe el formulario.

## 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.
<a name="service-event-messages-7"></a>

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
<a name="service-event-messages-8"></a>

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](service-quotas.md). Para solicitar un aumento de cuota, consulte [Solicitud de un aumento de cuota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) en la *Guía de usuario de Service Quotas*.

## servicio (*service-name*) no pudo ubicar una tarea. Motivo: Error interno.
<a name="service-event-messages-9"></a>

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](AWS_Fargate-Regions.md).

Para obtener más información acerca de cómo ver la zona de disponibilidad de las subredes, consulte [Ver la subred](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#view-subnet) 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.
<a name="service-event-messages-10"></a>

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](service-quotas.md). Para solicitar un aumento de cuota, consulte [Solicitud de un aumento de cuota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) 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.
<a name="service-event-messages-11"></a>

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](service-quotas.md). Para solicitar un aumento de cuota, consulte [Solicitud de un aumento de cuota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) 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
<a name="service-event-messages-12"></a>

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](service-quotas.md). Para solicitar un aumento de cuota de Fargate, consulte [Solicitud de aumento de cuota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) 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
<a name="service-event-messages-13"></a>

El servicio tiene más tareas protegidas que el número 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ón `protectionEnabled` configurada en `false` 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.
<a name="service-event-messages-14"></a>

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 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 agregar 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](launch_container_instance.md).

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 1000 MiB de memoria y las instancias de contenedor en el clúster tienen cada una 1024 MiB de memoria, solo puede poner en marcha 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.  
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](memory-management.md).

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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 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](eni-trunking-supported-instance-types.md).
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](container-instance-eni.md).  
Puede agregar 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 EC2, y el clúster especificado no tiene una instancia de contenedor registrada en la misma subred que se especificó en `awsvpcConfiguration` cuando se creó el servicio.  
Puede usar el manual de procedimientos AWSSupport-TroubleshootECSContainerInstance para solucionar problemas. Este manual de procedimientos comprueba si los datos de usuario de la instancia contienen la información de clúster correcta, si el perfil de instancia contiene los permisos necesarios y si hay problemas de configuración de la red. Para obtener más información, consulte [AWSSupport-TroubleshootECSContainerInstance](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-troubleshoot-ecs-container-instance.html) en la *Guía del usuario de referencia del manual de procedimientos de Automatización de AWS Systems Manager*.  
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 en la definición de tareas de Amazon ECS para Fargate](task_definition_parameters.md) y [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).

## 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.
<a name="service-event-messages-15"></a>

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.
<a name="service-event-messages-16"></a>

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](stopped-task-error-codes.md).

## 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.
<a name="service-event-messages-17"></a>

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](ecs-agent-versions.md#agent-logs). También debe verificar que el agente esté en marcha 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*) el servicio (*service-name*) (la tarea *task-id*) no está en buen estado en el grupo de destino (*targetGroup-ARN*) debido a `TARGET GROUP IS NOT FOUND`.
<a name="service-event-messages-18"></a>

El conjunto de tareas del servicio no pasa las comprobaciones de estado porque no se encuentra el grupo de destino. El mensaje incluye el ID de la tarea para ayudar a identificar qué tarea específica no supera las comprobaciones de estado. 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*) el servicio (*service-name*) (la tarea *task-id*) no está en buen estado en el grupo de destino (*targetGroup-ARN*) debido a `TARGET IS NOT FOUND`.
<a name="service-event-messages-19"></a>

El conjunto de tareas del servicio no pasa las comprobaciones de estado porque no se encuentra el destino. El mensaje incluye el ID de la tarea para ayudar a identificar qué tarea específica no supera las comprobaciones de estado.

## Las políticas de permisos de IAM se han configurado mal o han cambiado, y ECS ya no puede mantener su servicio.
<a name="service-event-messages-20"></a>

El servicio no puede mantener las tareas debido a que las políticas de permisos de IAM están mal configuradas o han cambiado. Es posible que al rol de IAM asociado a su servicio o tareas de ECS le falten los permisos necesarios.

Para resolver este problema, añada los permisos necesarios al rol de IAM. Para obtener información sobre cómo gestionar políticas de permisos, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

## La relación de confianza de IAM se ha configurado mal o ha cambiado, y ECS ya no puede mantener su servicio.
<a name="service-event-messages-21"></a>

El servicio no puede mantener las tareas porque la relación de confianza de IAM está mal configurada o ha cambiado. Es posible que el rol de IAM asociado a su servicio o tareas de ECS tenga una política de confianza incorrecta.

Para resolver este problema, configure una política de confianza para el rol utilizado en la definición de la tarea. Para obtener más información sobre cómo crear políticas de confianza para roles personalizados, consulte [Creating a role for a custom use case](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

## El servicio (*service-name*) no pudo lanzar tareas *numéricas* para la implementación *deployment-id*.
<a name="service-event-messages-22"></a>

El programador de servicios envía este mensaje de evento cuando un flujo de trabajo de implementación inicia correctamente algunas tareas, pero no puede lanzar todas las tareas solicitadas debido a errores de capacidad insuficiente. Esto suele ocurrir cuando el interruptor está activado y permite ver por qué las implementaciones pueden fallar o revertirse.

El mensaje incluye el motivo específico del error, como la insuficiencia de CPU, memoria u otras limitaciones de recursos. Esto le permite comprender qué recursos deben abordarse para resolver el problema de implementación.

Para obtener más información, consulte [El servicio (*service-name*) no ha podido asignar una tarea porque ninguna instancia de contenedor cumplía todos los requisitos.](#service-event-messages-1).

## El servicio (*service-name*) no pudo colocar tareas en su clúster porque se superó el límite de capacidad de aprovisionamiento de tareas.
<a name="service-event-messages-23"></a>

El programador de servicios envía este mensaje de evento cuando el clúster ha alcanzado el límite de 500 tareas que pueden estar en el estado `PROVISIONING` simultáneamente. Se trata de un límite a nivel de clúster, no de un problema específico del servicio.

Esto suele ocurrir cuando se inicia un servicio con una gran cantidad de tareas deseadas con una capacidad previamente aprovisionada limitada, o cuando se inician varios servicios simultáneamente, lo que provoca una gran pérdida de tareas.

Para resolver este problema, siga estos pasos:
+ Espere a que las tareas existentes completen el aprovisionamiento y pasen al estado `RUNNING`.
+ Considere la posibilidad de escalar sus servicios de forma más gradual para evitar alcanzar el límite de aprovisionamiento.
+ Revise la configuración del proveedor de capacidad del clúster para asegurarse de que estén disponibles los recursos adecuados.

Para obtener información acerca de las cuotas de servicio de Amazon ECS, consulte [Cuotas y puntos de conexión de Amazon Elastic Container Service](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html) en la *Referencia general de Amazon Web Services*.

# Mensajes de eventos que no están en buen estado del servicio de Amazon ECS
<a name="service-unhealthy-event-messages"></a>

A continuación, se proporcionan ejemplos de mensajes de eventos que no están en buen estado del servicio.

## EC2: (servicio *service-name*) (tarea *task-id*) (instancia *instance-id*) (puerto *port-number*) no está en buen estado en (target-group *target-group-name*) debido a (motivo *failure-reason*)
<a name="service-unhealthy-ec2"></a>

Este mensaje indica que una tarea que se ejecuta en una instancia EC2 no supera las comprobaciones de estado Para obtener más información, consulte los siguientes temas:
+ [Cómo logro que mis tareas de Amazon ECS que utilizan EC2 pasen la comprobación de estado del equilibrador de carga de aplicación?](https://repost.aws/knowledge-center/troubleshoot-unhealthy-checks-ecs)

## EC2 con taskSet: (servicio *service-name*, taskSet *taskSet-id*) (tarea *task-id*) (instancia *instance-id*) (puerto *port-number*) no está en buen estado en (target-group *target-group-name*) debido a (motivo *failure-reason*)
<a name="service-unhealthy-ec2-taskset"></a>

Este mensaje indica que una tarea de un conjunto de tareas que se ejecuta en una instancia EC2 no supera las comprobaciones de estado. Para obtener más información, consulte los siguientes temas:
+ [Cómo logro que mis tareas de Amazon ECS que utilizan EC2 pasen la comprobación de estado del equilibrador de carga de aplicación?](https://repost.aws/knowledge-center/troubleshoot-unhealthy-checks-ecs)

## Fargate: (servicio *service-name*) (tarea *task-id*) (puerto *port-number*) no está en buen estado en (target-group *target-group-name*) debido a (motivo *failure-reason*)
<a name="service-unhealthy-fargate"></a>

Este mensaje indica que una tarea de Fargate no supera las comprobaciones de estado. 

Para obtener más información sobre la solución de errores en las comprobaciones de estado en las tareas de Fargate, consulte [¿Cómo se solucionan los errores de las comprobaciones de estado de las tareas de Amazon ECS en Fargate?](https://repost.aws/knowledge-center/ecs-fargate-health-check-failures)

## Fargate con taskSet: (servicio *service-name*, taskSet *taskSet-id*) (tarea *task-id*) (puerto *port-number*) no está en buen estado en (target-group *target-group-name*) debido a (motivo *failure-reason*)
<a name="service-unhealthy-fargate-taskset"></a>

Este mensaje indica que una tarea de un conjunto de tareas que se ejecuta en Fargate no supera las comprobaciones de estado. 

Para obtener más información sobre la solución de errores de las comprobaciones de estado en las tareas de Fargate, consulte [¿Cómo se solucionan los errores de las comprobaciones de estado de las tareas de Amazon ECS en Fargate?](https://repost.aws/knowledge-center/ecs-fargate-health-check-failures).

# Mensajes de eventos del servicio de reequilibrio del servicio de zonas de disponibilidad de Amazon ECS
<a name="service-rebalancing-event-messages-list"></a>

A continuación, se proporcionan ejemplos de mensajes de eventos de servicio que podría ver.

## service (*nombre-del-servicio*) is not AZ balanced with *número-de-tareas* tasks in *zona de disponibilidad 1*, *número-de-tareas* in *zona de disponibilidad 2*, and *número-de-tareas* in *zona de disponibilidad 3*. El reequilibrio de la zona de disponibilidad está en curso.
<a name="service-rebalancing-started"></a>

El programador de servicios envía un evento de servicio `service (service-name) is not AZ balanced` cuando el número de tareas no se distribuye uniformemente en las zonas de disponibilidad. No hay ninguna acción que realizar. Se trata de un evento informativo.

## service (*nombre-del-servicio*) is AZ balanced with *número-de-tareas* tasks in *zona de disponibilidad 1*, *número-de-tareas* tasks in *zona de disponibilidad 2*, and *número-de-tareas* tasks in *zona de disponibilidad 3*.
<a name="service-rebalancing-completed"></a>

El programador de servicios envía un evento de servicio `service (service-name) is AZ balanced` cuando se completa el reequilibrio del servicio de la zona de disponibilidad. No hay ninguna acción que realizar. Se trata de un evento informativo.

## *nombre-del-servicio* has started *número-de-tareas* tasks in *zona de disponibilidad* to AZ Rebalance: *id-de-tareas*.
<a name="service-rebalancing-tasks-started"></a>

El programador de servicios envía un evento de servicio *service-name*/*task-set-name* ha iniciado *number* tareas en la *Zona de disponibilidad* cuando inicia tareas en una zona de disponibilidad debido al reequilibrio del servicio. No hay ninguna acción que realizar. Se trata de un evento informativo.

## *nombre-del-servicio* has stopped *número-de-tareas* running tasks in *zona de disponibilidad* due to AZ rebalancing: *id-de-tarea*.
<a name="service-rebalancing-tasks-stopped"></a>

El programador de servicios envía un evento de servicio *service-name*/*task-set-name* ha detenido *number* tareas en *Zona de disponibilidad* cuando detiene tareas en una zona de disponibilidad debido al reequilibrio del servicio. No hay ninguna acción que realizar. Se trata de un evento informativo.

## service (*nombre-del-servicio*) is unable to place a task in *zona de disponibilidad* because no container instance met all of its requirements.
<a name="service-rebalancing-placement-failure-instance"></a>

El programador de servicio envía un evento de servicio “*nombre-del-servicio* is unable to place a task in *zona de disponibilidad*” porque ninguna instancia de contenedor cumplió todos los requisitos. Para solucionar el problema, lance las instancias en la zona de disponibilidad.

## service (*nombre-del-servicio*) is unable to place a task in *zona de disponibilidad*.
<a name="service-rebalancing-placement-failure"></a>

El programador de servicios envía un evento de servicio “*service-name* no puede colocar una tarea en *zona de disponibilidad*” cuando se utiliza Fargate y no hay capacidad disponible.

Puede agregar otras subredes en la zona de disponibilidad que se muestra en el mensaje de error o ponerse en contacto con Soporte para obtener capacidad adicional.

## service (*nombre-del-servicio*) was unable to AZ Rebalance because *nombre-del-conjunto-de-tareas* was unable to scale in due to *motivo*.
<a name="service-rebalancing-task-protection-failure"></a>

El programador del servicio envía un evento de servicio “*nombre-del-servicio* was unable to AZ Rebalance because *nombre-del-conjunto-de-tareas* was unable to scale in due to *motivo*” al utilizar la protección de reducción horizontal de tareas. 

 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ón `protectionEnabled` configurada en `false` 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.

## service (*nombre-del-servicio*) stopped AZ Rebalancing.
<a name="service-rebalancing-operation-stopped"></a>

El programador de servicios envía un evento de servicio “*nombre-del-servicio* stopped AZ Rebalancing” cuando se detuvo la operación de reequilibrio de la zona de disponibilidad. Se trata de un evento informativo. Amazon ECS envía eventos adicionales que proporcionan más información.

# Solución de problemas de los equilibradores de carga de servicio en Amazon ECS
<a name="troubleshoot-service-load-balancers"></a>

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](using-service-linked-roles.md).

**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 archivo `index.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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html) 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](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) en la *Guía de usuario de Service Quotas*.

# Solución de problemas de escalado automático de servicios en Amazon ECS
<a name="troubleshoot-service-auto-scaling"></a>

Application Auto Scaling desactiva los procesos de reducción horizontal mientras las implementaciones de Amazon ECS están en curso, y se reanudan una vez finalizada la implementación. Sin embargo, los procesos de escalado horizontal continúan produciéndose durante una implementación, a menos que se suspendan. Para obtener más información, consulte [Suspensión y reanudación del escalado para Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html).

# Captura de eventos de Amazon ECS en la consola
<a name="task-lifecycle-events"></a>

La consola de Amazon ECS proporciona una funcionalidad de captura de eventos que almacena los eventos generados por Amazon ECS, como las acciones de servicio y los cambios de estado de las tareas, en Registros de Amazon CloudWatch a través de EventBridge. Esta característica incluye una interfaz de consulta con funciones de filtrado para la supervisión y la solución de problemas.

Los eventos proporcionan información detallada sobre el funcionamiento de las implementaciones de servicio, los servicios, las tareas y las instancias. Puede utilizar esta información para solucionar problemas de implementación de tareas o problemas de implementación de servicios.

Al activar la captura de eventos, tiene acceso a todos los eventos que Amazon ECS genera durante el periodo de retención que elija, que se extiende más allá de las limitaciones nativas de los últimos 100 eventos sin filtrar o tareas detenidas visibles solo durante 1 hora.

## Funcionamiento
<a name="task-lifecycle-events-overview"></a>

La captura de eventos utiliza EventBridge para almacenar eventos en un grupo de registro predefinido de Registros de Amazon CloudWatch. La consola de Amazon ECS proporciona consultas predefinidas y opciones de filtrado, y correlaciona los eventos para proporcionar los ciclos de vida de las tareas en un formato intuitivo.

Puede consultar y recuperar los siguientes tipos de eventos:
+ **Eventos de acción de servicio**: ayudan a identificar problemas de aprovisionamiento o asignación de recursos
+ **Eventos del ciclo de vida de las tareas**: ayudan a identificar por qué las tareas o los contenedores no se inician o dejan de estar en marcha.

La consola de Amazon ECS le permite configurar la captura de eventos con un solo clic y proporciona consultas y filtros de uso común sin necesidad de aprender los lenguajes de consulta ni de navegar entre varias consolas.

## Tipos de eventos
<a name="task-lifecycle-events-types"></a>

La captura de eventos almacena todos los eventos generados por Amazon ECS en las siguientes categorías:

Eventos de cambio de estado de tarea  
Las paradas de contenedores y otros eventos de terminación, que puede utilizar para solucionar problemas o para supervisar los plazos del ciclo de vida de las tareas.

Acciones de servicio  
Eventos como alcanzar un estado estable, realizar una tarea errónea o limitar los recursos.

Cambios de estado de implementación de servicios  
Eventos como implementaciones en curso, finalizadas o fallidas, activados por la configuración del interruptor y la reversión, para supervisar el estado de la implementación de un servicio.

Cambios de estado de instancia de contenedor  
En el caso de las cargas de trabajo en instancias administradas de Amazon ECS y EC2, los eventos muestran el estado de conexión y desconexión.

## Configuración de grupos de registro
<a name="task-lifecycle-events-log-group"></a>

Al activar la captura de eventos, Amazon ECS crea automáticamente los siguientes recursos:
+ Un grupo de registro de Registros de Amazon CloudWatch denominado `/aws/events/ecs/containerinsights/${clusterName}/performance`
+ Una regla de EventBridge que ingiere todos los eventos del origen `aws.ecs` y los reenvía al grupo de registro

Puede especificar un periodo de retención para el grupo de registro de 1 día a 10 años. El periodo de retención predeterminado es de 7 días.

## Consideraciones
<a name="task-lifecycle-events-limitations"></a>

Tenga en cuenta lo siguiente al usar la captura de eventos:
+ La captura de eventos almacena todos los eventos para simplificar. No puede configurar reglas en la consola de Amazon ECS para capturar solo eventos específicos.
+ La consola de Amazon ECS proporciona criterios de consulta predefinidos. Para consultas avanzadas, utilice la información de registros de Registros de Amazon CloudWatch para consultar directamente el grupo de registro.
+ La funcionalidad Live Tail no está disponible en la consola de Amazon ECS. Utilice Registros de Amazon CloudWatch directamente para Live Tail.
+ Al deshabilitar la captura de eventos, se elimina la regla de EventBridge.
+ La captura de eventos conlleva costos adicionales por la ingesta de datos de EventBridge, el almacenamiento de Registros de Amazon CloudWatch y la puesta en marcha de consultas.

  Para obtener información acerca de los precios de EventBridge, consulte [Precios de EventBridge](https://aws.amazon.com/eventbridge/pricing/).

  Para obtener más información acerca de los precios de CloudWatch, consulte [Precios de CloudWatch](https://aws.amazon.com/cloudwatch/pricing/).

## Solución de problemas basada en eventos
<a name="task-lifecycle-events-troubleshooting"></a>

Utilice los eventos generados por Amazon ECS para responder a las preguntas habituales de solución de problemas.

### Análisis de errores de tarea
<a name="task-lifecycle-events-task-failures"></a>

Puede revisar los eventos de cambio de estado de la tarea `STOPPED`, los códigos de detención y los códigos de salida del contenedor para determinar por qué una tarea no se pudo iniciar o falló mientras estaba en marcha.

Puede revisar los eventos de acción del servicio para ver si hay errores de ubicación y la información sobre limitaciones de recursos para determinar por qué una tarea no se pudo realizar debido a las limitaciones de recursos.

### Situaciones comunes de errores en las tareas
<a name="task-lifecycle-events-common-issues"></a>

Los errores anormales de tareas más comunes se relacionan con los siguientes problemas:
+ Errores de implementación del servicio de CI/CD
+ Errores de escalado automático
+ Errores de reequilibrio de tareas
+ Salidas anormales del contenedor, como errores de memoria insuficiente (OOM)

Los errores anormales en las tareas producen eventos de cambio de estado de la tarea `STOPPED` con un código de detención `EssentialContainerExited` o `TaskFailedToStart`. Puede filtrar por estos códigos de parada para examinar los comportamientos de puesta en marcha y parada de los contenedores.

# Activación de la captura de eventos de un clúster de Amazon ECS existente
<a name="turn-on-event-capture-existing-cluster"></a>

Puede habilitar la captura de eventos en un clúster de Amazon ECS existente para almacenar los eventos generados por Amazon ECS en Registros de Amazon CloudWatch a través de EventBridge. Esta característica le permite supervisar y solucionar los errores en las tareas, las implementaciones de servicios y otras actividades del clúster.

Al activar la captura de eventos, Amazon ECS crea los siguientes recursos:
+ Un grupo de registro de Registros de Amazon CloudWatch denominado `/aws/events/ecs/containerinsights/${clusterName}/performance`
+ Una regla de EventBridge que captura todos los eventos del origen `aws.ecs`

Aparece una pestaña de **historial** en la vista de clúster, que permite consultar los eventos del ciclo de vida de las tareas y las acciones de servicio. La captura de eventos comienza inmediatamente y almacena todos los eventos generados por Amazon ECS de acuerdo con el periodo de retención especificado.

## Requisitos previos
<a name="turn-on-event-capture-prerequisites"></a>
+ Un clúster existente de Amazon EKS
+ Permisos de IAM adecuados para modificar la configuración del clúster y crear recursos de Registros de Amazon CloudWatch

## Activación de la captura de eventos mediante la consola
<a name="turn-on-event-capture-procedure"></a>

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En el panel de navegación, seleccione **Clusters (Clústeres)**.

1. Seleccione el clúster en el que desee activar la captura de eventos.

   Aparecerá la página de detalles del clúster.

1. Elija **Configuración**.

1. En la sección de **eventos de ECS**, seleccione **Activar la captura de eventos**.

   Aparece el cuadro de diálogo **Activar la captura de eventos**.

1. En el **evento de vencimiento**, elija el periodo de retención del grupo de registro de Registros de Amazon CloudWatch. El valor predeterminado es 7 días.

1. Elija **Turn on**.

# Visualización de eventos de cambio de estado de tarea y servicio de Amazon ECS
<a name="viewing-state-events"></a>

La consola de Amazon ECS proporciona una funcionalidad de captura de eventos que almacena los eventos generados por Amazon ECS, como las acciones de servicio y los cambios de estado de las tareas, en Registros de Amazon CloudWatch a través de EventBridge. Esta característica incluye una interfaz de consulta con funciones de filtrado para mejorar la supervisión y la solución de problemas.

Los eventos proporcionan información detallada sobre el funcionamiento de las implementaciones de servicio, los servicios, las tareas y las instancias. Puede utilizar esta información para solucionar problemas de implementación de tareas o problemas de implementación de servicios.

Puede utilizar cualquiera de los siguientes criterios para filtrar los eventos:
+  ID de implementación (solo está disponible en la página de detalles del servicio) 
+ Hora de inicio
+ Hora de finalización 
+ Nombre del servicio (solo se aplica a la página de detalles del clúster; en la página de detalles del servicio, será el servicio actual por defecto) 
+ ID de tarea 
+ Último estado de la tarea 
+ Familia de definiciones de tareas 
+ Revisión de definición de tareas 

## Visualización de eventos a nivel de clúster
<a name="view-cluster-procedure"></a>

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Seleccione **Clusters (Clústeres)**.

   Aparecerá la página de lista de clústeres.

1. Seleccione el clúster de .

   Aparecerá la página de detalles del clúster.

1. En **Historial**, determine los eventos que desea ver.

   1. Para ver los eventos de acción de servicio, seleccione **Eventos de acción de servicio**.

   1. Para ver los eventos de cambio de estado de la tarea, seleccione los **eventos de cambio de estado de la tarea**.

   1. (Opcional) En **Criterios de consulta**, introduzca los filtros para los eventos que desee ver.

1. Elija **Ejecutar consulta**.

   Los eventos se muestran en una lista.

1. Para ver todos los detalles del evento, seleccione el evento.

## Visualización a nivel de servicio
<a name="tasks-procedure"></a>

1. Abra la consola en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. En la página **Clusters** (Clústeres), elija el clúster.

1. En la página de detalles del clúster, en la sección **Servicios**, elija el servicio.

   Aparecerá la página de detalles del servicio.

1. En **Historial**, determine los eventos que desea ver.

   1. Para ver los eventos de acción de servicio, seleccione **Eventos de acción de servicio**.

   1. Para ver los eventos de cambio de estado de la tarea, seleccione los **eventos de cambio de estado de la tarea**.

   1. (Opcional) En **Criterios de consulta**, introduzca los filtros para los eventos que desee ver.

1. Elija **Ejecutar consulta**.

   Los eventos se muestran en una lista.

1. Para ver todos los detalles del evento, seleccione el evento.

# Solución de errores de CPU o memoria no válidos en la definición de tareas de Amazon ECS
<a name="task-cpu-memory-error"></a>

Al registrar una definición de tareas mediante la API de Amazon ECS o la AWS CLI, si especifica un valor de `cpu` o `memory` no válido, se devuelve el siguiente error.

```
An error occurred (ClientException) when calling the RegisterTaskDefinition operation: Invalid 'cpu' setting for task. 
```

**nota**  
Cuando se utiliza Terraform, se puede devolver el siguiente error.  

```
Error: ClientException: No Fargate configuration exists for given values.
```

Para solucionar este problema, debe especificar un valor admitido para la CPU y la memoria de la tarea en la definición de esta. El valor `cpu` se puede expresar en unidades de CPU o vCPU en una definición de tarea. Cuando se registra la definición de tarea, se convierte en un entero que indica las unidades de CPU. El valor `memory` se puede expresar en unidades de MiB o GB en una definición de tarea. Cuando se registra la definición de tarea, se convierte en un entero que indica los MiB.

Para las definiciones de tareas en las que se especifica `FARGATE` para el parámetro `requiresCompatibilities` (incluso si también se especifica `EC2`), debe utilizar uno de los valores que se indican en la siguiente tabla. Estos valores determinan el rango de los valores admitidos para el parámetro de CPU y memoria.

Para las tareas alojadas en Fargate, en la siguiente tabla, se muestran las combinaciones de CPU y memoria válidas. Los valores de memoria del archivo JSON se especifican en MiB. Puede convertir el valor de GB a MiB multiplicando el valor por 1024. Por ejemplo, 1 GB = 1024 MiB.


|  Valor de CPU  |  Valor de memoria  |  Sistemas operativos admitidos por AWS Fargate  | 
| --- | --- | --- | 
|  256 (0,25 vCPU)  |  512 MiB, 1 GB, 2 GB  |  Linux  | 
|  512 (0,5 vCPU)  |  1 GB, 2 GB, 3 GB, 4 GB  |  Linux  | 
|  1024 (1 vCPU)  |  2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB  |  Linux, Windows  | 
|  2048 (2 vCPU)  |  Entre 4 GB y 16 GB en incrementos de 1 GB  |  Linux, Windows  | 
|  4096 (4 vCPU)  |  Entre 8 GB y 30 GB en incrementos de 1 GB  |  Linux, Windows  | 
|  8192 (8 vCPU)  Esta opción requiere una plataforma Linux `1.4.0` o posterior.   |  Entre 16 GB y 60 GB en incrementos de 4 GB  |  Linux  | 
|  16 384 (16 vCPU)  Esta opción requiere una plataforma Linux `1.4.0` o posterior.   |  Entre 32 GB y 120 GB en incrementos de 8 GB  |  Linux  | 

Para las tareas alojadas en Amazon EC2, los valores admitidos de CPU para tareas están entre 0,25 vCPU y 192 vCPU.

El mecanismo de control de la CPU difiere entre EC2 y Fargate:
+ Para las tareas alojadas en Amazon EC2: Amazon ECS utiliza el periodo de CPU y la cuota de CPU para controlar el tamaño de la tarea y los límites máximos de la CPU. Al especificar la vCPU en la definición de la tarea, Amazon ECS traduce el valor a la configuración del periodo y cuota de CPU que se aplica a `cgroup`.
+ Para las tareas alojadas en Fargate: Amazon ECS utiliza recursos compartidos de CPU para controlar la asignación de CPU. Los valores de cuota y período de CPU no se utilizan para limitar la CPU en las tareas de Fargate.

Para las tareas de Amazon EC2, la cuota de CPU controla la cantidad de tiempo de CPU que se concede a `cgroup` durante un periodo de CPU determinado. Ambas configuraciones se expresan en microsegundos. Cuando la cuota de CPU es igual al periodo de CPU, significa que `cgroup` se puede ejecutar hasta el 100 % en una vCPU (o cualquier otra fracción que sume el 100 % en varias vCPU). La cuota de CPU tiene un máximo de 1 000 000 µs y el periodo de CPU es un mínimo de 1 ms. Puede usar estos valores para establecer los límites del recuento de CPU. Cuando se cambia el periodo de CPU sin cambiar la cuota de CPU, los límites efectivos son diferentes a los que se especifican en la definición de la tarea.

El periodo de 100 ms permite que las vCPU oscilen entre 0,125 y 10.

**nota**  
Los parámetros de CPU y memoria de nivel de tarea se omiten para los contenedores de Windows.

# Visualización de los registros del agente de contenedor de Amazon ECS
<a name="logs"></a>

Amazon ECS almacena los registros en la carpeta `/var/log/ecs` de las instancias de contenedor. Hay registros disponibles del agente de contenedor de Amazon ECS y del servicio `ecs-init` que controla el estado del agente (comenzar/detener) en la instancia de contenedor. Puede ver estos archivos de registro conectando a una instancia de contenedor mediante SSH.

**nota**  
Si no está seguro de cómo recopilar todos los registros de las instancias de contenedor, puede utilizar el recopilador de registros de Amazon ECS. Para obtener más información, consulte [Recopilación de registros de contenedor con el recopilador de registros de Amazon ECS](ecs-logs-collector.md).

## Sistema operativo Linux
<a name="logs-linux"></a>

El proceso `ecs-init` almacena registros en `/var/log/ecs/ecs-init.log`.

El archivo `ecs-init.log` contiene información sobre la administración del ciclo de vida, la configuración y el arranque del agente de contenedor.

Puede usar el siguiente comando para ver los archivos de registro.

```
cat /var/log/ecs/ecs-init.log
```

Salida:

```
2018-02-16T18:13:54Z [INFO] pre-start
2018-02-16T18:13:56Z [INFO] start
2018-02-16T18:13:56Z [INFO] No existing agent container to remove.
2018-02-16T18:13:56Z [INFO] Starting Amazon Elastic Container Service Agent
```

## Sistema operativo Windows
<a name="logs-windows"></a>

Puede utilizar el recopilador de registros de Amazon ECS para Windows. Para obtener más información, consulte [Amazon ECS Logs Collector For Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows?tab=readme-ov-file#aws-ecs-logs-collector-for-windows) en Github.

1. Conéctese a la instancia.

1. Abra PowerShell y ejecute los siguientes comandos con privilegios administrativos. Los comandos descargan el script y recopilan los registros.

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   .\ecs-logs-collector.ps1
   ```

Puede activar el registro de depuración para el agente de Amazon ECS y el daemon de Docker. Esta opción permite que el script recopile los registros antes de activar el modo de depuración. El script reinicia el daemon de Docker y el agente de Amazon ECS y, a continuación, cierra todos los contenedores que están en ejecución en la instancia. Antes de ejecutar el siguiente comando, vacíe la instancia de contenedor y traslade las tareas importantes a otras instancias de contenedor. 

Ejecute el siguiente comando para activar el registro.

```
.\ecs-logs-collector.ps1 -RunMode debug
```

# Recopilación de registros de contenedor con el recopilador de registros de Amazon ECS
<a name="ecs-logs-collector"></a>

**nota**  
No puede utilizar el recopilador de registros de Amazon ECS en instancias administradas de Amazon ECS.

Si no está seguro de cómo recopilar todos los diversos registros en las instancias de contenedor, puede utilizar el recopilador de registros de Amazon ECS. Está disponible en GitHub tanto para [Linux](https://github.com/awslabs/ecs-logs-collector) como para [Windows](https://github.com/awslabs/aws-ecs-logs-collector-for-windows). El script recopila registros generales del sistema operativo, así como registros del agente de contenedor de Amazon ECS y de Docker, que pueden resultar útiles para solucionar problemas en los casos de AWS Support. A continuación, comprime y archiva la información recopilada en un solo archivo que se puede compartir fácilmente con fines de diagnóstico. También permite habilitar el modo de depuración para el daemon de Docker y el agente de contenedor de Amazon ECS en variantes de Amazon Linux como, por ejemplo, la AMI optimizada para Amazon ECS.

**nota**  
En las AMI optimizadas para Amazon ECS de Amazon Linux, versión 20250909 y posteriores, el recopilador de registros de Amazon ECS viene preinstalado en `/opt/amazon/ecs/ecs-logs-collector.sh` y está listo para usarse sin necesidad de descargarlo desde GitHub. Para obtener más información, consulte [Recopilador de registros de ECS](https://github.com/aws/amazon-ecs-ami?tab=readme-ov-file#ecs-logs-collector) en la documentación de AMI optimizada para ECS.

Actualmente, el recopilador de registros de Amazon ECS admite los siguientes sistemas operativos:
+ Amazon Linux
+ Red Hat Enterprise Linux
+ Ubuntu
+ Windows Server

**Para ejecutar el recopilador de registros de Amazon ECS para Linux (AMI optimizada para ECS)**

1. Conéctese a la instancia de contenedor. 

1. Use el script para recopilar los registros y crear el archivo.
**nota**  
Para habilitar el modo de depuración para el daemon de Docker y el agente de contenedor de Amazon ECS, agregue la opción `--mode=enable-debug` al siguiente comando. Esto puede reiniciar el daemon de Docker, que cierra todos los contenedores que están en ejecución en la instancia. Sopese la posibilidad de vaciar la instancia de contenedor y transferir las tareas importantes a otras instancias de contenedor antes de activar el modo de depuración. Para obtener más información, consulte [Drenaje de instancias de contenedor de Amazon ECS](container-instance-draining.md).

   ```
   [ec2-user ~]$ sudo /opt/amazon/ecs/ecs-logs-collector.sh
   ```

Después de haber puesto en marcha el script, puede examinar los registros recopilados en la carpeta `collect` creada por el script. El archivo `collect.tgz` es un archivo comprimido que contiene todos los registros, y lo puede compartir con AWS Support para facilitar el diagnóstico.

**Para descargar y ejecutar el recopilador de registros de Amazon ECS para Linux**

1. Conéctese a la instancia de contenedor. 

1. Descargue el script del recopilador de registros de Amazon ECS.

   ```
   curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
   ```

1. Use el script para recopilar los registros y crear el archivo.

   ```
   $ sudo bash ./ecs-logs-collector.sh
   ```

**Para descargar y ejecutar el recopilador de registros de Amazon ECS para Windows**

1. Conéctese a la instancia de contenedor. Para obtener más información, consulte [Conectarse a una instancia de Windows mediante RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html) en la *Guía del usuario de Amazon EC2*.

1. Descargue el script del recopilador de registros de Amazon ECS a través de PowerShell.

   ```
   Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
   ```

1. Use el script para recopilar los registros y crear el archivo.
**nota**  
Para habilitar el modo de depuración para el daemon de Docker y el agente de contenedor de Amazon ECS, agregue la opción `-RunMode debug` al siguiente comando. Esto reinicia el daemon de Docker, que cierra todos los contenedores que están en ejecución en la instancia. Sopese la posibilidad de vaciar la instancia de contenedor y transferir las tareas importantes a otras instancias de contenedor antes de activar el modo de depuración. Para obtener más información, consulte [Drenaje de instancias de contenedor de Amazon ECS](container-instance-draining.md).

   ```
   .\ecs-logs-collector.ps1
   ```

Después de haber puesto en marcha el script, puede examinar los registros recopilados en la carpeta `collect` creada por el script. El archivo `collect.tgz` es un archivo comprimido con todos los registros, que puede compartir con AWS Support para facilitar el diagnóstico.

# Recuperación de los detalles de diagnóstico de Amazon ECS con la introspección del agente
<a name="introspection-diag"></a>

La API de introspección del agente de Amazon ECS proporciona información sobre el estado general del agente de Amazon ECS y las instancias de contenedor.

 Puede utilizar la API de introspección del agente para obtener el ID de Docker de un contenedor en su tarea. Puede utilizar la API de introspección del agente conectando a una instancia de contenedor mediante SSH.

**importante**  
La instancia de contenedor debe tener un rol de IAM que permita el acceso a Amazon ECS para poder conectar con la API de introspección. Para obtener más información, consulte [Rol de IAM de instancia de contenedor de Amazon ECS](instance_IAM_role.md).

En el ejemplo siguiente se muestran dos tareas: una que está actualmente en ejecución y otra que se detuvo.

**nota**  
El comando siguiente se canaliza a través de **python -mjson.tool** para mayor legibilidad.

```
curl http://localhost:51678/v1/tasks | python -mjson.tool
```

Salida:

```
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1095  100  1095    0     0   117k      0 --:--:-- --:--:-- --:--:--  133k
{
    "Tasks": [
        {
            "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/090eff9b-1ce3-4db6-848a-a8d14064fd24",
            "Containers": [
                {
                    "DockerId": "189a8ff4b5f04affe40e5160a5ffadca395136eb5faf4950c57963c06f82c76d",
                    "DockerName": "ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600",
                    "Name": "simple-app"
                },
                {
                    "DockerId": "f7f1f8a7a245c5da83aa92729bd28c6bcb004d1f6a35409e4207e1d34030e966",
                    "DockerName": "ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01",
                    "Name": "busybox"
                }
            ],
            "Family": "console-sample-app-static",
            "KnownStatus": "STOPPED",
            "Version": "6"
        },
        {
            "Arn": "arn:aws:ecs:us-west-2:aws_account_id:task/1810e302-eaea-4da9-a638-097bea534740",
            "Containers": [
                {
                    "DockerId": "dc7240fe892ab233dbbcee5044d95e1456c120dba9a6b56ec513da45c38e3aeb",
                    "DockerName": "ecs-console-sample-app-static-6-simple-app-f0e5859699a7aecfb101",
                    "Name": "simple-app"
                },
                {
                    "DockerId": "096d685fb85a1ff3e021c8254672ab8497e3c13986b9cf005cbae9460b7b901e",
                    "DockerName": "ecs-console-sample-app-static-6-busybox-92e4b8d0ecd0cce69a01",
                    "Name": "busybox"
                }
            ],
            "DesiredStatus": "RUNNING",
            "Family": "console-sample-app-static",
            "KnownStatus": "RUNNING",
            "Version": "6"
        }
    ]
}
```

En el ejemplo anterior, la tarea detenida (*090eff9b-1ce3-4db6-848a-a8d14064fd24*) tiene dos contenedores. Puede utilizar **docker inspect *container-ID*** para consultar información detallada en cada contenedor. Para obtener más información, consulte [Introspección de contenedor de Amazon ECS](ecs-agent-introspection.md).

# Diagnósticos de Docker en Amazon ECS
<a name="docker-diags"></a>

Docker ofrece varias herramientas de diagnóstico que le ayudan a solucionar problemas en sus contenedores y tareas. Para obtener más información sobre todas las utilidades de línea de comandos de Docker disponibles, consulte la [referencia de la CLI de Docker](https://docs.docker.com/reference/cli/docker/) en la documentación de Docker. Puede obtener acceso a las utilidades de línea de comando de Docker conectando a una instancia de contenedor mediante SSH.

Los códigos de salida que notifican los contenedores de Docker también pueden facilitar información de diagnóstico (por ejemplo, el código de salida 137 significa que el contenedor recibió una señal `SIGKILL`). Para obtener más información, consulte [Exit Status](https://docs.docker.com/reference/cli/docker/container/run/#exit-status) en la documentación de Docker.

## Enumeración de los contenedores de Docker en Amazon ECS
<a name="docker-ps"></a>

Puede utilizar el comando **docker ps** en la instancia de contenedor para enumerar los contenedores en ejecución. En el ejemplo siguiente, solo se está ejecutando el agente de contenedor de Amazon ECS. Para obtener más información, consulte [docker ps](https://docs.docker.com/reference/cli/docker/#ps) en la documentación de Docker.

```
docker ps
```

Salida:

```
CONTAINER ID        IMAGE                            COMMAND             CREATED             STATUS              PORTS                        NAMES
cee0d6986de0        amazon/amazon-ecs-agent:latest   "/agent"            22 hours ago        Up 22 hours         127.0.0.1:51678->51678/tcp   ecs-agent
```

Puede utilizar el comando **docker ps -a** para ver todos los contenedores (incluso los contenedores parados o cancelados). Esto resulta útil para mostrar contenedores que se han parado de forma imprevista. En el ejemplo siguiente, el contenedor `f7f1f8a7a245` finalizó hace 9 segundos, por lo que no aparece en una salida **docker ps** sin el indicador `-a`.

```
docker ps -a
```

Salida:

```
CONTAINER ID        IMAGE                                       COMMAND                CREATED             STATUS                        PORTS                        NAMES
db4d48e411b1        amazon/ecs-emptyvolume-base:autogenerated   "not-applicable"       19 seconds ago                                                                 ecs-console-sample-app-static-6-internalecs-emptyvolume-source-c09288a6b0cba8a53700
f7f1f8a7a245        busybox:buildroot-2014.02                   "\"sh -c '/bin/sh -c   22 hours ago        Exited (137) 9 seconds ago                                 ecs-console-sample-app-static-6-busybox-ce83ce978a87a890ab01
189a8ff4b5f0        httpd:2                                     "httpd-foreground"     22 hours ago        Exited (137) 40 seconds ago                                ecs-console-sample-app-static-6-simple-app-86caf9bcabe3e9c61600
0c7dca9321e3        amazon/ecs-emptyvolume-base:autogenerated   "not-applicable"       22 hours ago                                                                   ecs-console-sample-app-static-6-internalecs-emptyvolume-source-90fefaa68498a8a80700
cee0d6986de0        amazon/amazon-ecs-agent:latest              "/agent"               22 hours ago        Up 22 hours                   127.0.0.1:51678->51678/tcp   ecs-agent
```

## Visualización de los registros de Docker en Amazon ECS
<a name="docker-logs"></a>

Puede ver los flujos `STDOUT` y `STDERR` para un contenedor con el comando **docker logs**. En este ejemplo, los registros se muestran para el contenedor *dc7240fe892a* y se canalizan a través del comando **head** por razones de brevedad. Para obtener más información, acceda a [docker logs](https://docs.docker.com/reference/cli/docker/#logs) en la documentación de Docker.

**nota**  
Los registros de Docker solo están disponibles en la instancia del contenedor si utiliza el controlador de registro `json` predeterminado. Si ha configurado las tareas para que utilicen el controlador de registros `awslogs`, sus registros de contenedor estarán disponibles en CloudWatch Logs. Para obtener más información, consulte [Envío de registros de Amazon ECS a CloudWatch](using_awslogs.md).

```
docker logs dc7240fe892a | head
```

Salida:

```
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.11. Set the 'ServerName' directive globally to suppress this message
[Thu Apr 23 19:48:36.956682 2015] [mpm_event:notice] [pid 1:tid 140327115417472] AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
[Thu Apr 23 19:48:36.956827 2015] [core:notice] [pid 1:tid 140327115417472] AH00094: Command line: 'httpd -D FOREGROUND'
10.0.1.86 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:48:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:29 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.0.154 - - [23/Apr/2015:19:49:50 +0000] "-" 408 -
10.0.1.86 - - [23/Apr/2015:19:49:58 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:49:59 +0000] "GET / HTTP/1.1" 200 348
10.0.1.86 - - [23/Apr/2015:19:50:28 +0000] "GET / HTTP/1.1" 200 348
10.0.0.154 - - [23/Apr/2015:19:50:29 +0000] "GET / HTTP/1.1" 200 348
time="2015-04-23T20:11:20Z" level="fatal" msg="write /dev/stdout: broken pipe"
```

## Inspección de los contenedores de Docker en Amazon ECS
<a name="docker-inspect"></a>

Si dispone del ID de Docker de un contenedor, puede inspeccionarlo con el comando **docker inspect**. La inspección de contenedores ofrece la vista más detallada del entorno en el que se puede lanzar un contenedor. Para obtener más información, consulte [docker inspect](https://docs.docker.com/reference/cli/docker/#inspect) en la documentación de Docker.

```
docker inspect dc7240fe892a
```

Salida:

```
[{
    "AppArmorProfile": "",
    "Args": [],
    "Config": {
        "AttachStderr": false,
        "AttachStdin": false,
        "AttachStdout": false,
        "Cmd": [
            "httpd-foreground"
        ],
        "CpuShares": 10,
        "Cpuset": "",
        "Domainname": "",
        "Entrypoint": null,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/apache2/bin",
            "HTTPD_PREFIX=/usr/local/apache2",
            "HTTPD_VERSION=2.4.12",
            "HTTPD_BZ2_URL=https://www.apache.org/dist/httpd/httpd-2.4.12.tar.bz2"
        ],
        "ExposedPorts": {
            "80/tcp": {}
        },
        "Hostname": "dc7240fe892a",
...
```

# Configuración de la salida detallada desde el daemon de Docker en Amazon ECS
<a name="docker-debug-mode"></a>

Si tiene problemas con los contenedores o imágenes de Docker, puede activar el modo de depuración en su daemon de Docker. El uso de la depuración proporciona una salida más detallada del daemon. Puede utilizarla para recuperar los mensajes de error que se envían desde los registros de contenedores, como Amazon ECR.

**importante**  
Este procedimiento está escrito para la AMI de Amazon Linux optimizada para Amazon ECS. Para los demás sistemas operativos, consulte [Enable debugging](https://docs.docker.com/engine/admin/#enable-debugging) y [Control and configure Docker with systemd]() en la documentación de Docker.

**Para usar el modo de depuración del daemon de Docker en la AMI de Amazon Linux optimizada para Amazon ECS**

1. Conéctese a la instancia de contenedor.

1. Abra el archivo de opciones de Docker con un editor de texto, como **vi**. Para la AMI de Amazon Linux optimizada para Amazon ECS, el archivo de opciones de Docker se encuentra en `/etc/sysconfig/docker`.

1. Busque la declaración de opciones de Docker y añada la opción `-D` a la cadena, dentro de las comillas.
**nota**  
Si la declaración de opciones de Docker comienza por `#`, elimine ese carácter para quitar el comentario de la declaración y habilitar las opciones.

   Para la AMI de Amazon Linux optimizada para Amazon ECS, la declaración de opciones de Docker se llama `OPTIONS`. Por ejemplo:

   ```
   # Additional startup options for the Docker daemon, for example:
   # OPTIONS="--ip-forward=true --iptables=true"
   # By default we limit the number of open files per container
   OPTIONS="-D --default-ulimit nofile=1024:4096"
   ```

1. Guarde el archivo y salga del editor de texto.

1. Reinicie el daemon de Docker.

   ```
   sudo service docker restart
   ```

   La salida es la siguiente:

   ```
   Stopping docker:                                          [  OK  ]
   Starting docker:	.                                  [  OK  ]
   ```

1. Reinicie el agente de Amazon ECS.

   ```
   sudo service ecs restart
   ```

Sus registros de Docker ahora deberían mostrar una salida más detallada.

```
time="2015-12-30T21:48:21.907640838Z" level=debug msg="Unexpected response from server: \"{\\\"errors\\\":[{\\\"code\\\":\\\"DENIED\\\",\\\"message\\\":\\\"User: arn:aws:sts::1111:assumed-role/ecrReadOnly/i-abcdefg is not authorized to perform: ecr:InitiateLayerUpload on resource: arn:aws:ecr:us-east-1:1111:repository/nginx_test\\\"}]}\\n\" http.Header{\"Connection\":[]string{\"keep-alive\"}, \"Content-Type\":[]string{\"application/json; charset=utf-8\"}, \"Date\":[]string{\"Wed, 30 Dec 2015 21:48:21 GMT\"}, \"Docker-Distribution-Api-Version\":[]string{\"registry/2.0\"}, \"Content-Length\":[]string{\"235\"}}"
```

# Solución del problema de Docker `API error (500): devmapper` en Amazon ECS
<a name="CannotCreateContainerError"></a>

El siguiente error de Docker indica que el almacenamiento en grupo fino en la instancia de contenedor está lleno y que el daemon de Docker no puede crear nuevos contenedores:

```
CannotCreateContainerError: API error (500): devmapper: Thin Pool has 4350 free data blocks which is less than minimum required 4454 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior 
```

La versión `2015.09.d` y posteriores de las AMI de Amazon Linux optimizadas para Amazon ECS se lanzan, de forma predeterminada, con un volumen de 8 GiB para el sistema operativo que se asocia a `/dev/xvda` y se monta como la raíz del sistema de archivos. Existe un volumen adicional de 22 GiB asociado a `/dev/xvdcz` que utiliza Docker para el almacenamiento de metadatos e imágenes. Si este espacio de almacenamiento está lleno, el daemon de Docker no puede crear nuevos contenedores.

La forma más sencilla de agregar almacenamiento a sus instancias de contenedor consiste en terminar las instancias existentes y lanzar otras nuevas con volúmenes de almacenamiento de datos mayores. No obstante, si no puede hacerlo, puede agregar almacenamiento al grupo de volumen que utiliza Docker y ampliar el volumen lógico mediante los procedimientos que se indican en [AMI de Linux optimizadas para Amazon ECS](ecs-optimized_AMI.md).

Si el almacenamiento de la instancia de contenedor se llena demasiado rápido, hay algunas acciones que puede realizar para reducir este efecto:
+ Para consultar la información de sondeo ligero, ejecute el siguiente comando en la instancia de contenedor:

  ```
  docker info
  ```
+ (Agente de contenedor de Amazon ECS, versión 1.8.0 y posteriores) Puede reducir la cantidad de tiempo que los contenedores detenidos o cerrados permanecen en las instancias de contenedor. La variable de configuración del agente `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` establece la duración de tiempo para esperar desde que se para una tarea hasta que se elimina el contenedor de Docker (de forma predeterminada, este valor es 3 horas). Esto elimina los datos del contenedor de Docker. Si este valor se establece demasiado bajo, es posible que no pueda inspeccionar los contenedores detenidos o ver los registros antes de que se supriman. Para obtener más información, consulte [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md).
+ Puede eliminar contenedores sin ejecución e imágenes no utilizadas de las instancias de contenedor. Puede utilizar los siguientes comandos de ejemplo para eliminar manualmente contenedores parados e imágenes sin utilizar. Los contenedores eliminados no se pueden inspeccionar más adelante, y las imágenes eliminadas se deben volver a extraer antes de comenzar nuevos contenedores desde ellas.

  Para eliminar contenedores que no están en ejecución, ejecute el siguiente comando en la instancia de contenedor:

  ```
  docker rm $(docker ps -aq)
  ```

  Para eliminar imágenes sin utilizar, ejecute el siguiente comando en la instancia de contenedor:

  ```
  docker rmi $(docker images -q)
  ```
+ Puede eliminar bloques de datos no utilizados dentro de contenedores. Puede utilizar el comando siguiente para ejecutar **fstrim** en cualquier contenedor en ejecución y descartar cualquier bloque de datos que no utilice el sistema de archivos del contenedor.

  ```
  sudo sh -c "docker ps -q | xargs docker inspect --format='{{ .State.Pid }}' | xargs -IZ fstrim /proc/Z/root/"
  ```

# Solución de problemas de Amazon ECS Exec
<a name="ecs-exec-troubleshooting"></a>

A continuación, se incluyen notas de solución de problemas que ayudan a diagnosticar por qué puede aparecer un error al utilizar ECS Exec.

## Verificación mediante Exec Checker
<a name="ecs-exec-troubleshooting-checker"></a>

El script de ECS Exec Checker proporciona una forma de verificar y validar que el clúster y la tarea de Amazon ECS cumplan los requisitos previos para utilizar la característica ECS Exec. El script de ECS Exec Checker verifica que tanto su entorno de AWS CLI como su clúster y tareas estén listos para ECS Exec, llamando a varias API en su nombre. La herramienta requiere la versión más reciente de la AWS CLI y que esté disponible `jq`. Para obtener más información, consulte [ECS Exec Checker](https://github.com/aws-containers/amazon-ecs-exec-checker) en GitHub.

## Error al ejecutar `execute-command`
<a name="ecs-exec-troubleshooting-general"></a>

Si se produce un error `The execute command failed`, las causas pueden ser estas.
+ La tarea no cuenta con los permisos requeridos. Compruebe que la definición de tareas utilizada para lanzar la tarea tenga un rol de IAM para tareas definido y que el rol cuente con los permisos requeridos. Para obtener más información, consulte [Permisos de ECS Exec](task-iam-roles.md#ecs-exec-required-iam-permissions).
+ SSM Agent no está instalado o no está en ejecución.
+  Existe un punto de conexión de Amazon VPC de interfaz para Amazon ECS, pero no hay uno para el Administrador de sesiones de Systems Manager.

# Solución de problemas de Amazon ECS Anywhere
<a name="ecs-anywhere-troubleshooting"></a>

Amazon ECS Anywhere admite el registro de una *instancia externa*, por ejemplo, un servidor ubicado en las instalaciones o una máquina virtual (VM), en el clúster de Amazon ECS. A continuación, se indican problemas comunes que puede encontrar y recomendaciones generales para solucionarlos.

**Topics**
+ [Problemas de registro de instancias externas](#ecs-anywhere-troubleshooting-registration)
+ [Problemas de red de instancias externas](#ecs-anywhere-troubleshooting-networking)
+ [Problemas al ejecutar tareas en la instancia externa](#ecs-anywhere-troubleshooting-runtask)

## Problemas de registro de instancias externas
<a name="ecs-anywhere-troubleshooting-registration"></a>

Cuando se registra una instancia externa en el clúster de Amazon ECS, se deben cumplir los siguientes requisitos:
+ Se debe recuperar una activación de AWS Systems Manager, que consiste en un *ID de activación* y un *código de activación*. Se utiliza para registrar la instancia externa como una instancia administrada por Systems Manager. Cuando se solicita una activación de Systems Manager, especifique un límite de registro y una fecha de vencimiento. El límite de registro especifica el número máximo de instancias que se pueden registrar mediante la activación. El valor predeterminado para el límite de registro es `1` instancia. La fecha de vencimiento especifica cuándo vence la activación. El valor de predeterminado es 24 horas. Si la activación de Systems Manager que está utilizando para registrar su instancia externa no es válida, solicite una nueva. Para obtener más información, consulte [Registro de una instancia externa en un clúster de Amazon ECS](ecs-anywhere-registration.md).
+ Se utiliza una política de IAM para proporcionar a la instancia externa los permisos que necesita para comunicarse con las operaciones de las API de AWS. Si esta política administrada no se crea correctamente y no contiene los permisos requeridos, se produce un error de registro de la instancia externa. Para obtener más información, consulte [Rol de IAM de Amazon ECS Anywhere](iam-role-ecsanywhere.md).
+ Amazon ECS proporciona un script de instalación que instala Docker, el agente de contenedor de Amazon ECS y Systems Manager Agent en la instancia externa. Si el script de instalación falla, es probable que no se pueda volver a ejecutar en la misma instancia sin que se produzca un error. Si esto sucede, siga el proceso de limpieza para borrar los recursos de AWS de la instancia y poder ejecutar de nuevo el script de instalación. Para obtener más información, consulte [Anulación del registro de una instancia externa de Amazon ECS](ecs-anywhere-deregistration.md).
**nota**  
Tenga en cuenta que, si el script de instalación solicitó y utilizó correctamente la activación de Systems Manager, la ejecución del script de instalación por segunda vez vuelve a utilizar la activación de Systems Manager. Esto podría, a su vez, hacer que alcance el límite de registros para esa activación. Si se alcanza este límite, debe crear una nueva activación.
+ Al ejecutar el script de instalación en una instancia externa para las cargas de trabajo de GPU, si el controlador NVIDIA no se detecta o configura correctamente, se producirá un error. El script de instalación utiliza el comando `nvidia-smi` para confirmar la existencia del controlador NVIDIA.

## Problemas de red de instancias externas
<a name="ecs-anywhere-troubleshooting-networking"></a>

Para comunicar cualquier cambio, la instancia externa requiere una conexión de red a AWS. Si su instancia externa pierde la conexión de red a AWS, las tareas que se están ejecutando en las instancias continúan haciéndolo de todos modos, a menos que se detengan manualmente. Una vez que se restablece la conexión con AWS, las credenciales de AWS que utilizan el agente de contenedor de Amazon ECS y Systems Manager Agent en la instancia externa se renuevan automáticamente. Para obtener más información acerca de los dominio de AWS que se utilizan para la comunicación entre la instancia externa y AWS, consulte [Red](ecs-anywhere.md#ecs-anywhere-networking).

## Problemas al ejecutar tareas en la instancia externa
<a name="ecs-anywhere-troubleshooting-runtask"></a>

Las causas más comunes de que las tareas o los contenedores no se ejecutan en la instancia externa son la red o los permisos relacionados. Si los contenedores extraen las imágenes de Amazon ECR o están configurados para enviar registros de contenedores a CloudWatch Logs, la definición de tareas debe especificar un rol de IAM de ejecución de tareas válido. Sin un rol de IAM de ejecución de tareas válido, los contenedores no se iniciarán. Para obtener más información acerca de los problemas relacionados con la red, consulte [Problemas de red de instancias externas](#ecs-anywhere-troubleshooting-networking).

**importante**  
Amazon ECS proporciona la herramienta de recopilación de registros de Amazon ECS. Puede utilizarla para recopilar registros de las instancias externas para fines de resolución de problemas. Para obtener más información, consulte [Recopilación de registros de contenedor con el recopilador de registros de Amazon ECS](ecs-logs-collector.md).

# Solución de problemas de carga de clases de Java en Fargate
<a name="fargate-java-class-loading"></a>

Las aplicaciones Java que se ejecutan en Fargate pueden tener problemas de carga de clases después de las actualizaciones de la plataforma, especialmente cuando la aplicación se basa en un comportamiento de carga de clases no determinista. Esto puede manifestarse como errores de inyección de dependencias, errores de Spring Boot u otras excepciones de tiempo de ejecución que no estaban presentes en las implementaciones anteriores.

## Síntomas
<a name="java-class-loading-symptoms"></a>

Puede observar los siguientes síntomas:
+ Errores de inyección de dependencias de Spring Boot.
+ Excepciones ClassNotFoundException o NoClassDefFoundError.
+ Las aplicaciones que antes funcionaban en Fargate ahora fallan de forma intermitente.
+ La misma imagen de contenedor funciona en Amazon EC2, pero no en Fargate.
+ Comportamiento incoherente en todas las implementaciones con imágenes de contenedor idénticas.

## Causas
<a name="java-class-loading-causes"></a>

Estos problemas suelen producirse debido a lo siguiente:
+ **Carga de clases no determinista:** las aplicaciones Java que dependen del orden en que se cargan las clases desde los archivos JAR pueden fallar si la plataforma subyacente cambia la forma en que se accede a los archivos o se almacenan en caché.
+ **Actualizaciones de la plataforma**: las actualizaciones de la versión de la plataforma Fargate pueden cambiar el comportamiento del sistema de archivos subyacente y afectar al orden en que se descubren y cargan las clases.
+ **Dependencias de ordenación de los archivos JAR:** aplicaciones que se basan implícitamente en secuencias de carga de archivos JAR específicas sin una administración explícita de las dependencias.

## Resolución
<a name="java-class-loading-resolution"></a>

Para resolver los problemas de carga de clases de Java en Fargate, implemente prácticas de carga de clases determinista:

### Solución inmediata
<a name="java-class-loading-immediate-fix"></a>

Si necesita una solución alternativa inmediata:

1. **Explicite el orden de carga de archivos JAR:** especifique de forma explícita el orden en el que se deben cargar los archivos JAR en la configuración de la ruta de clases de la aplicación.

1. **Utilice una administración de dependencias explícita:** asegúrese de que todas las dependencias estén declaradas de forma explícita en la configuración de compilación (Maven, Gradle, etc.) en lugar de depender de dependencias transitivas.

### Prácticas recomendadas a largo plazo
<a name="java-class-loading-best-practices"></a>

Implemente estas prácticas para evitar futuros problemas de carga de clases:

1. **Use la carga de clases determinista:**
   + Use declaraciones de dependencia explícitas en los archivos de compilación.
   + Evite confiar en el orden de escaneo de las rutas de clase.
   + Use herramientas de administración de dependencias para resolver conflictos de versiones.
   + Use las opciones de la máquina virtual Java (JVM), como `-verbose:class`, para obtener información sobre las clases cargadas por ella. 

1. **Aplicaciones Spring Boot:**
   + Use `@ComponentScan` con paquetes base explícitos.
   + Evite conflictos de configuración automática configurando los beans de forma explícita.
   + Utilice anotaciones `@DependsOn` para controlar el orden de inicialización de los beans.

1. **Configuración de compilación:**
   + Utilice las secciones de administración de dependencias en Maven o Gradle.
   + Excluya las dependencias transitivas que causan conflictos.
   + Utilice herramientas como el complemento Maven Enforcer para detectar problemas en las dependencias.

1. **Pruebas:**
   + Pruebe su aplicación con diferentes implementaciones de la JVM.
   + Ejecute pruebas de integración que simulen diferentes entornos de implementación.
   + Utilice herramientas para analizar los conflictos de rutas de clases durante el desarrollo.

## Prevención
<a name="java-class-loading-prevention"></a>

Para evitar problemas de carga de clases de Java en futuras implementaciones, haga lo siguiente:
+ **Siga las prácticas de carga de clases determinista:** diseñe su aplicación para que no dependa del orden en que se carguen las clases desde la ruta de clases.
+ **Utilice una administración de dependencias explícita:** declare siempre de forma explícita todas las dependencias necesarias y sus versiones en la configuración de compilación.
+ **Realice pruebas en todos los entornos:** pruebe sus aplicaciones con regularidad en diferentes entornos y versiones de la plataforma para identificar posibles problemas de forma temprana.
+ **Supervise las actualizaciones de la plataforma:** manténgase informado sobre las actualizaciones de la plataforma Fargate y pruebe sus aplicaciones con nuevas versiones de la plataforma antes de que afecten a las cargas de trabajo de producción.

# AWS FargateCuotas de limitación de
<a name="throttling"></a>

AWS Fargate limita las tareas de Amazon ECS y las velocidades de lanzamiento de los pods de Amazon EKS a las cuotas (antes denominadas límites) mediante un [algoritmo de bucket de token](https://en.wikipedia.org/wiki/Token_bucket) para cada cuenta de AWS por región. Con este algoritmo, su cuenta tiene un bucket que contiene un número específico de tokens. El número de tokens del bucket representa su cuota de tasa en un segundo determinado. Cada cuenta de cliente tiene un bucket de tokens de tareas y pods que se agota en función del número de tareas y pods lanzados por la cuenta de cliente. Este bucket de tokens tiene un máximo de bucket que le permite realizar periódicamente un mayor número de solicitudes y una tasa de recarga que le permite mantener una tasa constante de solicitudes durante el tiempo que sea necesario.

Por ejemplo, el tamaño del bucket de tokens para tareas y pods de una cuenta de cliente de Fargate es de 100 tokens y la tasa de recarga es de 20 tokens por segundo. Por lo tanto, puede lanzar inmediatamente hasta 100 tareas de Amazon ECS y pods de Amazon EKS por cuenta de cliente, con una tasa de lanzamiento sostenida de 20 tareas de Amazon ECS y pods de Amazon EKS por segundo. 


| Acciones | Capacidad máxima del bucket (o velocidad de ráfaga) | Tasa de recarga del bucket (o tasa sostenida) | 
| --- | --- | --- | 
| Cuota de tasa de recursos de Fargate para tareas bajo demanda de Amazon ECS y pods de Amazon EKS[1](#fargate-throttling-note-1) | 100 | 20 | 
| Cuota de tasa de recursos de Fargate para tareas de Spot Amazon ECS | 100 | 20 | 

<a name="fargate-throttling-note-1"></a>1Las cuentas que lanzan solo los pods de Amazon EKS tienen una tasa de ráfaga de 20, con una tasa de lanzamiento sostenido de pods de 20 lanzamientos de pods por segundo cuando se utilizan las versiones de plataforma indicadas en las [Versiones de la plataforma de Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html).

## Limitación de la API `RunTask` en Fargate
<a name="fargate-throttling-runtask"></a>

Además, Fargate limita la tasa de solicitudes al lanzar tareas con la API `RunTask` de Amazon ECS utilizando una cuota independiente. Fargate limita las solicitudes de la API `RunTask` de Amazon ECS de manera controlada para cada cuenta de AWS por región. Cada solicitud que realice elimina un token del bucket. Hacemos esto para mejorar el rendimiento del servicio y garantizar un utilización justa para todos los clientes de Fargate. Las llamadas de las API están sujetas a los cuotas de solicitud tanto si se originan en la consola de Amazon Elastic Container Service, en herramientas de la línea de comandos o en una aplicación de terceros. La cuota de velocidad para las llamadas a la API `RunTask` de Amazon ECS es de 20 llamadas por segundo (ráfaga y sostenida). Sin embargo, cada llamada a esta API puede iniciar hasta 10 tareas. Esto significa que puede lanzar 100 tareas en un segundo haciendo 10 llamadas a esta API, solicitando que se inicien 10 tareas en cada llamada. Del mismo modo, también podría realizar 20 llamadas a esta API, solicitando que se inicien 5 tareas en cada llamada. Para obtener más información acerca de la limitación de API para la API `RunTask` de Amazon ECS, consulte [API request throttling](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/request-throttling.html) en la Referencia de la API de Amazon ECS.

En la práctica, las tasas de lanzamiento de tareas y pods también dependen de otras consideraciones, como las imágenes de contenedores que se van a descargar y desempaquetar, las comprobaciones de estado y otras integraciones habilitadas, como registrar tareas o pods en un equilibrador de carga. Los clientes ven variaciones en las tasas de lanzamiento de tareas y pods en comparación con las cuotas representadas anteriormente según las características que los clientes habilitan.

## Ajuste de cuotas de velocidad en Fargate
<a name="fargate-throttling-increase"></a>

Puede solicitar un aumento de las cuotas de limitación de Fargate para su cuenta de AWS. Para obtener más información, consulte [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) (Solicitud de un aumento de cuota) en la *Guía del usuario de Service Quotas*.

# Solución de problemas de instancias administradas de Amazon ECS
<a name="troubleshooting-managed-instances-complete"></a>

Use los siguientes procedimientos para solucionar los problemas de instancias administradas de Amazon ECS, que incluyen problemas comunes, técnicas de diagnóstico y pasos de resolución.

## Requisitos previos
<a name="prerequisites"></a>

Antes de solucionar problemas de instancias administradas de Amazon ECS, asegúrese de cumplir los siguientes requisitos.
+ La AWS CLI está instalada y configurada con los permisos adecuados.

  Para obtener más información, consulte [Instalación o actualización de la versión más reciente de la AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) en la *Guía del usuario de AWS Command Line Interface*.
+ Acceso a un clúster con el proveedor de capacidad de instancias administradas de Amazon ECS. Para obtener más información, consulte [Creación de un clúster para instancias administradas de Amazon ECS](create-cluster-managed-instances.md).

## Situaciones comunes de solución de problemas
<a name="common-troubleshooting-scenarios"></a>

### Visualización de los registros del agente de contenedor de instancias administradas de Amazon ECS
<a name="viewing-container-agent-logs"></a>

Para ver estos archivos de registro de Amazon ECS en instancias administradas de Amazon ECS, conéctese a un contenedor privilegiado que esté en marcha en la instancia.

#### Pasos de diagnóstico
<a name="diagnostic-steps-logs"></a>

**Implemente un contenedor de depuración con privilegios y capacidades de Linux como una tarea de Amazon ECS:**

Configure las siguientes variables de entorno.

Sustituya las *entradas del usuario* por sus valores.

```
export ECS_CLUSTER_NAME="your-cluster-name"
export AWS_REGION="your-region"
export ACCOUNT_ID="your-account-id"
```

Cree una definición de tarea mediante un archivo JSON de CLI denominado `node-debugger.json`.

```
cat << EOF > node-debugger.json
{
  "family": "node-debugger",
  "taskRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole",
  "executionRoleArn": "arn:aws:iam::${ACCOUNT_ID}:role/ecsTaskExecutionRole",
  "cpu": "256",
  "memory": "1024",
  "networkMode": "host",
  "pidMode": "host",
  "requiresCompatibilities": ["MANAGED_INSTANCES", "EC2"],
  "containerDefinitions": [
    {
      "name": "node-debugger",
      "image": "public.ecr.aws/amazonlinux/amazonlinux:2023",
      "essential": true,
      "privileged": true,
      "command": ["sleep", "infinity"],
      "healthCheck": {
          "command": ["CMD-SHELL", "echo debugger || exit 1"],
          "interval": 30,
          "retries": 3,
          "timeout": 5
      },
      "linuxParameters": {
        "initProcessEnabled": true
      },
      "mountPoints": [
        {
          "sourceVolume": "host-root",
          "containerPath": "/host",
          "readOnly": false
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/aws/ecs/node-debugger",
          "awslogs-create-group": "true",
          "awslogs-region": "${AWS_REGION}",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ],
  "volumes": [
    {
      "name": "host-root",
      "host": {
        "sourcePath": "/"
      }
    }
  ]
}
EOF
```

Realice el registro y, a continuación, ponga en marcha la tarea. Use los siguientes comandos.

```
aws ecs register-task-definition --cli-input-json file://node-debugger.json

TASK_ARN=$(aws ecs run-task \
  --cluster $ECS_CLUSTER_NAME \
  --task-definition node-debugger \
  --enable-execute-command \
  --capacity-provider-strategy capacityProvider=managed-instances-default,weight=1 \
  --query 'tasks[0].taskArn' --output text)

# Wait for task to be running
aws ecs wait tasks-running --cluster $ECS_CLUSTER_NAME --tasks $TASK_ARN
```

Conéctese al contenedor. Ejecute el siguiente comando.

```
aws ecs execute-command \
  --cluster $ECS_CLUSTER_NAME \
  --task $TASK_ARN \
  --container node-debugger \
  --interactive \
  --command "/bin/sh"
```

**Compruebe los registros de los agentes de Amazon ECS:**

En la sesión interactiva del contenedor, use los siguientes comandos:

```
# Install required tools
yum install -y util-linux-core

# View ECS agent logs
nsenter -t 1 -m -p cat /var/log/ecs/ecs-agent.log | tail -50

# Check agent registration
nsenter -t 1 -m -p grep "Registered container instance" /var/log/ecs/ecs-agent.log

Example Output:

{"level":"info","time":"2025-10-16T12:39:37.665","msg":"Registered container instance with cluster!"}

# Verify capabilities
nsenter -t 1 -m -p grep "Response contained expected value for attribute" /var/log/ecs/ecs-agent.log
```

**Compruebe las métricas de los agentes:**

Use el siguiente comando para ver los registros.

```
# View metrics logs
nsenter -t 1 -m -p cat /var/log/ecs/metrics.log | tail -20
```

### Problemas de ubicación de tareas
<a name="task-placement-issues"></a>

Los siguientes son síntomas de problemas de ubicación de tareas:
+ Tareas bloqueadas en estado PENDIENTE
+ Las tareas no se inician en instancias administradas de Amazon ECS
+ Errores de recursos insuficientes

#### Pasos de diagnóstico
<a name="task-placement-diagnostic"></a>

Use los siguientes comandos para diagnosticar problemas de ubicación de tareas y recopilar información sobre la capacidad del clúster, las instancias de contenedor y los servicios del sistema:

```
# Check cluster capacity
aws ecs describe-clusters --clusters cluster-name --include STATISTICS

# Check cluster capacity providers
aws ecs describe-clusters --clusters cluster-name --include STATISTICS --query 'clusters[].capacityProviders'

# List container instances
aws ecs list-container-instances --cluster cluster-name

# Check container instance details
aws ecs describe-container-instances --cluster cluster-name --container-instances container-instance-arn

# Check container instance remaining resources CPU/Mem
aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instances container-instance-arn --query 'containerInstances[].remainingResources'

# Check container instance Security Group
aws ecs describe-container-instances --cluster $ECS_CLUSTER_NAME --container-instances container-instance-arn --query 'containerInstances[].ec2InstanceId' --output text
aws ec2 describe-instances --instance-ids instance-id --query 'Reservations[0].Instances[0].SecurityGroups'
aws ec2 describe-security-groups --group-ids security-group-id
```

**Supervisión del servicio del sistema:**

```
# Check Containerd status
nsenter -t 1 -m -p systemctl status containerd.service

# Check Amazon ECS container agent status
nsenter -t 1 -m -p systemctl status ecs
```

#### Resolución
<a name="task-placement-resolution"></a>

Para resolver los problemas de ubicación de las tareas, siga estos pasos para garantizar la configuración y la capacidad adecuadas:
+ Verifique los requisitos de recursos de la tarea en comparación con la capacidad disponible.
+ Compruebe las limitaciones y estrategias de ubicación.
+ Asegúrese de que el proveedor de capacidad de instancias administradas de Amazon ECS esté configurado.
+ Asegúrese de que la tarea y el grupo de seguridad de la instancia de contenedor tengan una regla de salida que permita el tráfico hacia los puntos de conexión de administración de agentes de Amazon ECS.

### Problemas de red
<a name="networking-issues"></a>

Los siguientes son síntomas de problemas de red:
+ Las tareas no pueden llegar a los servicios externos
+ Problemas de resolución de DNS

#### Pasos de diagnóstico
<a name="networking-diagnostic"></a>

**Pruebas de la conectividad de red:**

En el contenedor de depuración, use los siguientes comandos:

**nota**  
Confirme que el grupo de seguridad asociado a su proveedor de capacidad o a la tarea de Amazon ECS permita el tráfico.

```
# Install DNS Utility
yum install bind-utils -y

# Test DNS resolution
nslookup amazon.com

# Test external connectivity
curl -I https://amazon.com
```

### Limitaciones de recursos
<a name="resource-constraints"></a>

Los siguientes son síntomas de problemas de red:
+ Tareas canceladas debido a límites de memoria
+ Limitación de la CPU
+ Problemas de espacio en el disco

#### Pasos de diagnóstico
<a name="resource-constraints-diagnostic"></a>

Use comandos para supervisar los recursos y los límites de los contenedores.

**Supervisión de recursos:**

```
# Check memory usage
nsenter -t 1 -m -p free -h

# Check disk usage
nsenter -t 1 -m -p lsblk

# Check disk usage
nsenter -t 1 -m -p df -h
```

**Límites de contenedores:**

```
# Check OOM kills
nsenter -t 1 -m -p dmesg | grep -i "killed process"
```

### Problema de desconexión del agente de instancia de contenedor
<a name="container-instance-agent-disconnect"></a>

Los siguientes son síntomas de los problemas de desconexión del agente de instancias de contenedor:
+ Instancias de contenedor que se muestran como desconectadas en la consola de Amazon ECS
+ Las tareas no se pueden colocar en instancias específicas
+ Fallos en el registro del agente en los registros

#### Pasos de diagnóstico
<a name="agent-disconnect-diagnostic"></a>

 Si hay una tarea de privilegios en marcha en el host a la que ECS Exec pueda acceder, use los siguientes comandos para diagnosticar los problemas de conectividad del agente:

```
# check service status 
nsenter -t 1 -m -p systemctl restart ecs 
nsenter -t 1 -m -p systemctl restart containerd 

# restart stopped services 
nsenter -t 1 -m -p systemctl restart ecs 
nsenter -t 1 -m -p systemctl restart containerd
```

De lo contrario, fuerce la anulación del registro de las instancias de instancias administradas de Amazon ECS. Use el siguiente comando:

```
# list ECS Managed Instance container
aws ecs list-container-instances --cluster managed-instances-cluster --query 'containerInstanceArns' --output text

# deregister the specific container instance
aws ecs deregister-container-instance \
    --cluster $ECS_CLUSTER_NAME \
    --container-instance container-instance-arn \
    --force
```

#### Resolución
<a name="agent-disconnect-resolution"></a>

Para resolver problemas de desconexión del agente, siga estos pasos:
+ Compruebe los permisos del rol de IAM para la instancia de contenedor.
+ Compruebe que las reglas del grupo de seguridad permiten el tráfico HTTPS saliente a los puntos de conexión de ECS.
+ Garantice la conectividad de red a los servicios de AWS.
+ Reinicie el servicio del agente de ECS si es necesario: `nsenter -t 1 -m -p systemctl restart ecs`.
+ Compruebe que la configuración de ECS\$1CLUSTER en /etc/ecs/ecs.config coincide con el nombre de su clúster.

## Análisis de registros en instancias administradas de Amazon ECS
<a name="log-analysis"></a>

### Registros del sistema
<a name="system-logs"></a>

Utilice los siguientes comandos para examinar los registros del sistema e identificar posibles problemas con la instancia administrada:

```
# Check system messages
nsenter -t 1 -m -p journalctl --no-pager -n 50

# Check kernel logs
nsenter -t 1 -m -p dmesg | tail -20

# Check for disk space errors
nsenter -t 1 -m -p journalctl --no-pager | grep -i "no space\|disk full\|enospc"
```

## Uso de la AWS CLI de EC2 para obtener la salida de la consola desde una instancia administrada de Amazon ECS
<a name="console-output"></a>

Utilice el ID de instancia de Amazon EC2 para recuperar la salida de la consola.

Sustituya las *entradas del usuario* por sus valores.

```
aws ec2 get-console-output --instance-id instance-id --latest --output text
```

## Eliminación
<a name="cleanup"></a>

Use lo siguiente para detener la tarea de depuración y anular el registro de la definición de la tarea.

```
# Stop debug task
aws ecs stop-task --cluster $ECS_CLUSTER_NAME --task $TASK_ARN

# Deregister task definition (optional)
aws ecs deregister-task-definition --task-definition node-debugger
```

## Recursos adicionales
<a name="additional-resources"></a>

Para obtener más información sobre la solución de problemas de instancias administradas de Amazon ECS, consulte los siguientes recursos:
+ [Solución de problemas de instancias administradas de Amazon ECS](managed-instances-errors.md)
+ [Solución de problemas de Amazon ECS](troubleshooting.md)
+ [Configuración del agente de contenedor de Amazon ECS](ecs-agent-config.md)
+ [Supervisión de los contenedores de Amazon ECS con ECS Exec](ecs-exec.md)

# Solución de problemas de instancias administradas de Amazon ECS
<a name="troubleshooting-managed-instances"></a>

Al lanzar tareas con instancias administradas de Amazon ECS, Amazon ECS primero intenta colocar las tareas en la capacidad existente y solicita capacidad adicional para las tareas que no se pueden colocar. Si se produce un error en el aprovisionamiento de la instancia, el ID de solicitud de Amazon EC2 se incluye en el mensaje de error de la tarea. Puede usar este ID de solicitud para buscar los detalles de la solicitud fallida en CloudTrail para seguir solucionando problemas.

**nota**  
Si opta por aplicar permisos con privilegios mínimos y especificar sus propios permisos para el perfil de instancia en lugar de utilizar la política administrada `AmazonECSInstanceRolePolicyForManagedInstances`, puede agregar los siguientes permisos para solucionar problemas relacionados con las tareas con instancias administradas de Amazon ECS:   
`ecs:StartTelemetrySession`
`ecs:PutSystemLogEvents`

## La definición de la tarea no es compatible con instancias administradas de Amazon ECS
<a name="task-definition-incompatible"></a>

### Causa habitual
<a name="task-definition-incompatible-cause"></a>

Este error se produce cuando la definición de la tarea contiene parámetros o configuraciones que no son compatibles con instancias administradas de Amazon ECS. Las incompatibilidades más comunes incluyen modos de red, roles de tareas o requisitos de recursos no compatibles.

### Resolución
<a name="task-definition-incompatible-resolution"></a>

1. Compruebe que la definición de la tarea utilice `requiresCompatibilities` establecido en `MANAGED_INSTANCES`.

1. Asegúrese de que la definición de la tarea utilice el modo de red `awsvpc`.

1. Compruebe que los valores de CPU y memoria estén dentro de los rangos admitidos para instancias administradas de Amazon ECS.

1. Revise el mensaje de error detallado para obtener información específica sobre la incompatibilidad.

## Proveedor de capacidad no asociado al clúster
<a name="capacity-provider-missing"></a>

### Causa habitual
<a name="capacity-provider-missing-cause"></a>

Este error se produce cuando el proveedor de capacidad especificado en su estrategia de proveedor de capacidad no está asociado al clúster o no existe.

### Resolución
<a name="capacity-provider-missing-resolution"></a>

1. Compruebe que el proveedor de capacidad existe en su cuenta y región.

1. Asocie el proveedor de capacidad al clúster mediante la consola o la CLI de Amazon ECS.

1. Asegúrese de que el proveedor de capacidad esté en estado `ACTIVE` antes de usarlo.

## Errores de permiso de rol de infraestructura
<a name="infrastructure-role-errors"></a>

### Causa habitual
<a name="infrastructure-role-errors-cause"></a>

Este error se produce cuando el rol de infraestructura de Amazon ECS carece de los permisos necesarios para realizar las operaciones de Amazon EC2 en su nombre o cuando no se puede asumir el rol debido a problemas de relación de confianza.

### Resolución
<a name="infrastructure-role-errors-resolution"></a>

1. Compruebe que su rol de infraestructura tenga la relación de confianza adecuada con Amazon ECS.

1. Asegúrese de que el rol tenga los permisos de Amazon EC2 necesarios, incluidos `ec2:RunInstances`, `ec2:DescribeInstances` y `iam:PassRole`.

1. Compruebe el mensaje de error de autorización codificado en CloudTrail para ver detalles de permisos específicos.

1. Actualice la política de roles para incluir los permisos que faltan identificados en el mensaje de error.

## Error VcpuLimitExceeded
<a name="vcpu-limit-exceeded"></a>

### Causa habitual
<a name="vcpu-limit-exceeded-cause"></a>

Este error se produce cuando ha alcanzado la cuota de servicio de vCPU para la familia de tipos de instancias en la región actual. Instancias administradas de Amazon ECS no puede lanzar instancias adicionales hasta que haya capacidad disponible.

### Resolución
<a name="vcpu-limit-exceeded-resolution"></a>

1. Solicite un aumento de la cuota de servicio para la familia de tipos de instancias afectada a través del Centro de AWS Support.

1. Considere la posibilidad de utilizar distintos tipos de instancias que pertenezcan a una categoría de cuota de vCPU diferente.

1. Termine las instancias de Amazon EC2 no utilizadas para liberar capacidad de vCPU.

1. Revise la configuración del proveedor de capacidad para usar tipos de instancias con requisitos de vCPU más bajos.

## Errores InsufficientCapacity y relacionados con la capacidad
<a name="insufficient-capacity"></a>

### Causa habitual
<a name="insufficient-capacity-cause"></a>

Estos errores se producen cuando AWS no tiene la capacidad suficiente para cumplir con su solicitud de instancia. Esto puede incluir una capacidad de instancias, direcciones o volumen insuficientes en la zona de disponibilidad solicitada.

### Resolución
<a name="insufficient-capacity-resolution"></a>

1. Intente lanzar instancias en distintas zonas de disponibilidad configurando varias subredes en su proveedor de capacidad.

1. Considere la posibilidad de utilizar distintos tipos de instancias que puedan tener más capacidad disponible.

1. Espere y vuelva a intentar la operación, ya que la disponibilidad de capacidad cambia con frecuencia.

1. Para necesidades de capacidad persistentes, considere la posibilidad de utilizar instancias reservadas o Savings Plans.

## Error UnauthorizedOperation
<a name="unauthorized-operation"></a>

### Causa habitual
<a name="unauthorized-operation-cause"></a>

Este error se produce cuando el servicio de Amazon ECS no tiene los permisos necesarios para realizar operaciones de Amazon EC2 o transferir roles de IAM. Los escenarios más comunes incluyen la falta de permisos `ec2:RunInstances` o `iam:PassRole` para el perfil de instancia.

### Resolución
<a name="unauthorized-operation-resolution"></a>

1. Compruebe que su rol de infraestructura de Amazon ECS tenga los permisos necesarios para lanzar instancias de Amazon EC2.

1. Asegúrese de que el rol de infraestructura tenga permisos `iam:PassRole` para el perfil de instancia que utiliza instancias administradas de Amazon ECS.

1. Compruebe el mensaje de error de autorización codificado en CloudTrail para ver detalles de permisos específicos.

1. Actualice la política de roles para incluir los permisos que faltan identificados en el mensaje de error.

## Se agotó el tiempo de espera de la tarea en espera de capacidad
<a name="task-timeout-capacity"></a>

### Causa habitual
<a name="task-timeout-capacity-cause"></a>

Este error se produce cuando las instancias tardan más de lo esperado en lanzarse y registrarse en el clúster. Esto puede ocurrir debido a limitaciones de capacidad de Amazon EC2, errores en el lanzamiento de la instancia o problemas de conectividad de red.

### Resolución
<a name="task-timeout-capacity-resolution"></a>

1. Compruebe el estado del servicio Amazon EC2 en su región para ver si hay algún problema continuo.

1. Compruebe que las subredes tengan suficientes direcciones IP disponibles.

1. Asegúrese de que sus grupos de seguridad permitan el tráfico necesario para la comunicación con los agentes de Amazon ECS.

1. Considere utilizar varias zonas de disponibilidad para mejorar la disponibilidad de la capacidad.

1. Vuelva a intentar la operación de lanzamiento de la tarea, ya que las limitaciones de capacidad suelen ser temporales.

## Errores de configuración de red
<a name="network-configuration-errors"></a>

### Causa habitual
<a name="network-configuration-errors-cause"></a>

Estos errores se producen cuando hay discrepancias entre los requisitos de red de la tarea y la configuración de red del proveedor de capacidad, como discordancias de VPC o falta de configuración de red.

### Resolución
<a name="network-configuration-errors-resolution"></a>

1. Compruebe que su proveedor de capacidad esté configurado con la VPC y las subredes correctas.

1. Asegúrese de que los grupos de seguridad y las subredes pertenecen a la misma VPC.

1. Compruebe que la configuración de red de la definición de la tarea sea compatible con el proveedor de capacidad.

1. Actualice la configuración del proveedor de capacidad con la configuración de red correcta.

## No se puede eliminar el proveedor de capacidad debido a que las instancias están bloqueadas
<a name="capacity-provider-deletion-errors"></a>

### Causa habitual
<a name="capacity-provider-deletion-errors-cause"></a>

Estos errores se producen cuando las instancias de instancias administradas de Amazon ECS están bloqueadas en un estado `ACTIVE` o `DRAINING` pero no hay tareas en marcha en las instancias.

### Resolución
<a name="capacity-provider-deletion-errors-resolution"></a>

Para continuar con la eliminación del proveedor de capacidad, puede forzar la anulación del registro de las instancias bloqueadas mediante el siguiente comando.

```
aws ecs deregister-container-instance \
    --cluster arn:aws:ecs:us-east-1:111122223333:cluster/MyCluster \
    --container-instance arn:aws:ecs:us-east-1:111122223333:container-instance/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE \
    --force
```

# Solución de problemas de instancias administradas de Amazon ECS
<a name="managed-instances-errors"></a>

A continuación, se muestran algunos mensajes de error de instancias administradas de Amazon ECS y las acciones que puede llevar a cabo para corregir los errores. 

## El proveedor de instancias administradas de Amazon ECS no es compatible sin un nombre de clúster
<a name="managed-instances-provider-cluster-required"></a>

Este error se produce al intentar crear un proveedor de capacidad con un parámetro de proveedor de instancias administradas de Amazon ECS pero sin un campo de clúster.

Para resolver este problema, especifique un nombre de clúster válido al crear el proveedor de capacidad.

## Los detalles del proveedor de instancias administradas de Amazon ECS son obligatorios al crear un proveedor de capacidad de instancias administradas de Amazon ECS
<a name="managed-instances-provider-details-required"></a>

Este error aparece cuando intenta crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS, pero no suministra el objeto real.

Para corregir este problema, especifique los detalles válidos del proveedor de instancias administradas de Amazon ECS e inténtelo de nuevo.

## El proveedor de capacidad de instancias administradas de Amazon ECS debe especificar un perfil de instancia
<a name="managed-instances-ec2-instance-profile-required"></a>

Aparecerá este error cuando intente crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS, pero no proporcione el Ec2InstanceProfile.

Para resolver este problema, especifique un perfil de instancia de EC2 válido para su proveedor de capacidad de instancias administradas de Amazon ECS. Para obtener más información, consulte [Perfil de instancia de instancias administradas de Amazon ECS](managed-instances-instance-profile.md).

## El proveedor de capacidad de instancias administradas de Amazon ECS debe especificar un InfrastructureRole
<a name="managed-instances-infrastructure-role-required"></a>

Este mensaje aparece cuando intenta crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS, pero no proporciona el InfrastructureRole.

Para corregir esto, especifique un rol de infraestructura válido para su proveedor de capacidad de instancias administradas de Amazon ECS. Para obtener más información, consulte [Rol de IAM de infraestructura de Amazon ECS](infrastructure_IAM_role.md).

## El proveedor de capacidad de instancias administradas de Amazon ECS debe especificar una configuración de red
<a name="managed-instances-network-configuration-required"></a>

Aparecerá este error cuando intente crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS, pero no proporcione la configuración de red.

Para resolver este problema, especifique una configuración de red válida con subredes que no estén vacías para su proveedor de capacidad de instancias administradas de Amazon ECS. Para obtener más información, consulte [Red de tareas de Amazon ECS para instancias administradas de Amazon ECS](managed-instance-networking.md).

## Ningún tipo de instancia cumple los requisitos de instancia especificados en el proveedor de capacidad de instancias administradas de Amazon ECS.
<a name="managed-instances-no-instance-types"></a>

Esto ocurre cuando intenta crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS, pero ningún tipo de instancia de EC2 cumple los requisitos de la instancia.

Para solucionar este problema, revise y ajuste los requisitos de las instancias para que coincidan con los tipos de instancias de EC2 disponibles.

## El arn del rol de infraestructura especificado no es válido
<a name="managed-instances-invalid-infrastructure-role-arn"></a>

Este error se produce cuando InfrastructureRole no sigue el formato ARN específico.

Formato esperado: `arn:partition:iam::account-id:role/role-name`. Especifique un ARN de rol válido e inténtelo de nuevo. Para obtener más información, consulte [Rol de IAM de infraestructura de Amazon ECS](infrastructure_IAM_role.md).

## El arn de rol del perfil de instancia especificado no es válido
<a name="managed-instances-invalid-instance-profile-arn"></a>

Este error se produce cuando el perfil de instancia no sigue el formato ARN específico.

Formato esperado: `arn:partition:iam::account-id:instance-profile/profile-name`. Especifique un ARN de rol válido e inténtelo de nuevo. Para obtener más información, consulte [Perfil de instancia de instancias administradas de Amazon ECS](managed-instances-instance-profile.md).

## El identificador del grupo de seguridad especificado no es válido
<a name="managed-instances-invalid-security-group-id"></a>

Este error se produce cuando el ID del grupo de seguridad no sigue el formato específico.

Formato esperado: `sg-xxxxxxxx` o `sg-xxxxxxxxxxxxxxxxxx` (8 o 17 caracteres, incluidas letras [minúsculas] y números después de “sg-”). Especifique un ID de grupo de seguridad e inténtelo de nuevo.

## El ID de subred especificado no es válido
<a name="managed-instances-invalid-subnet-id"></a>

Este error se produce cuando el ID de subred no sigue el formato específico.

Formato esperado: `subnet-xxxxxxxx` o `subnet-xxxxxxxxxxxxxxxxxx` (8 o 17 caracteres, incluidas letras [minúsculas] y números después de “subnet-”). Especifique un ID de subred e inténtelo de nuevo.

## El proveedor de capacidad de instancias administradas de Amazon ECS debe especificar una configuración de red sin subredes vacías
<a name="managed-instances-network-configuration-empty-subnets"></a>

Este error se produce cuando intenta crear un proveedor de capacidad con el proveedor de instancias administradas de Amazon ECS y una configuración de red con subredes vacías.

Para resolver este problema, especifique una configuración de red válida con subredes que no estén vacías para su proveedor de capacidad de instancias administradas de Amazon ECS.

## El proveedor de capacidad de instancias administradas de Amazon ECS no puede tener un número de etiquetas superior al valor máximo permitido
<a name="managed-instances-max-tags-exceeded"></a>

Este error se produce al intentar crear un proveedor de capacidad con un número de etiquetas superior al máximo permitido (45).

Para solucionar este problema, reduzca el número de etiquetas a 45 o menos e inténtelo de nuevo.

## Valor no válido para propagateTags
<a name="managed-instances-invalid-propagate-tags"></a>

Este error se produce al intentar crear un proveedor de capacidad con un valor de propagateTags no válido.

El valor debe ser uno de los valores válidos de propagateTags. Especifique un valor válido e inténtelo de nuevo.

## El proveedor de capacidad especificado ya existe en el ámbito del clúster
<a name="managed-instances-capacity-provider-exists-cluster-scope"></a>

Este error se produce cuando intenta crear, actualizar o eliminar un proveedor de capacidad de instancias administradas de Amazon ECS sin un nombre de clúster, pero ya existe un proveedor de capacidad con ámbito de clúster.

Para cambiar la configuración del proveedor de capacidad o eliminarlo, actualice o elimine el proveedor de capacidad con el parámetro de clúster.

## El proveedor de capacidad especificado ya existe con la cuenta o un clúster diferente
<a name="managed-instances-capacity-provider-exists-different-cluster"></a>

Este error se produce cuando intenta crear, actualizar o eliminar un proveedor de capacidad de instancias administradas de Amazon ECS con un campo de clúster, pero ya existe un proveedor de capacidad con ámbito de clúster o un proveedor de capacidad con ámbito de clúster para otro clúster.

Para resolver este problema, utilice un nombre de proveedor de capacidad diferente o trabaje con el proveedor de capacidad existente.

## El nombre del clúster activo del proveedor de capacidad no coincide con el nombre del clúster de la solicitud
<a name="managed-instances-cluster-name-mismatch"></a>

Este error se produce cuando el nombre del clúster activo del proveedor de capacidad no coincide con el nombre del clúster especificado en la solicitud.

Asegúrese de que el nombre del clúster de su solicitud coincida con el clúster asociado al proveedor de capacidad.

## El proveedor de capacidad no es un proveedor de capacidad de instancias administradas de Amazon ECS
<a name="managed-instances-not-managed-instances-provider"></a>

Este error se produce cuando intenta utilizar un proveedor de capacidad que no es un proveedor de capacidad de instancias administradas de Amazon ECS en un contexto que lo requiere.

Asegúrese de utilizar un proveedor de capacidad de instancias administradas de Amazon ECS válido para su solicitud.

## El nombre de CapacityProvider no debe estar en blanco
<a name="managed-instances-capacity-provider-name-required"></a>

Este error se produce al intentar crear un proveedor de capacidad sin especificar un nombre de proveedor de capacidad.

Especifique un nombre de proveedor de capacidad válido e inténtelo de nuevo.

## Se requiere un nombre para actualizar un proveedor de capacidad
<a name="managed-instances-update-name-required"></a>

Este error se produce al intentar actualizar un proveedor de capacidad sin especificar un nombre de proveedor de capacidad.

Especifique un nombre válido e inténtelo de nuevo.

## Las etiquetas no pueden ser nulas ni tener elementos nulos
<a name="managed-instances-tags-null-elements"></a>

Este error se produce al intentar etiquetar un proveedor de capacidad con valores nulos.

Asegúrese de que todos los valores de las etiquetas estén especificados correctamente y no sean nulos.

# Motivos de error de la API de Amazon ECS
<a name="api_failures_messages"></a>

Cuando una acción de API que haya desencadenado a través de la API de Amazon ECS, la consola o la AWS CLI genera un mensaje de error `failures`, puede seguir estos pasos para ayudar a solucionar la causa. El error devuelve un motivo y el nombre de recurso de Amazon (ARN) del recurso asociado al error.

Muchos recursos son específicos de la región, por lo que debe asegurarse de configurar la región correcta para los recursos cuando utilice la consola. Cuando utilice la AWS CLI, asegúrese de que los comandos de la AWS CLI se envíen a la región correcta mediante el parámetro `--region region`.

Para obtener más información acerca de la estructura del tipo de datos `Failure`, consulte [Error](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Failure.html) en la *Referencia de la API de Amazon Elastic Container Service*.

A continuación, se muestran ejemplos de mensajes de error que puede recibir al ejecutar comandos de la API. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/api_failures_messages.html)

**nota**  
Además de las situaciones de error descritas aquí, las operaciones de las API también pueden fallar debido a excepciones, lo que genera respuestas de error. Para obtener una lista de estas excepciones, consulte [Common Errors](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/CommonErrors.html) (Errores comunes).

# Solución de problemas con Amazon Q Developer
<a name="troubleshooting-with-Q"></a>

Puede utilizar [Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html) en la consola de Amazon ECS para ayudar a diagnosticar y resolver problemas con sus recursos de Amazon ECS. Para algunos errores y mensajes de estado de los contenedores, las tareas, los servicios, las implementaciones y las definiciones de tareas, la consola muestra la opción **Inspeccionar con Amazon Q Developer**. Al elegir esta opción, Amazon Q Developer analiza el problema en su contexto y sugiere las posibles causas y los pasos para solucionarlo.

## Permisos necesarios
<a name="troubleshooting-with-Q-permissions"></a>
+ Permisos para ver los recursos de Amazon ECS de los que desea solucionar problemas, como clústeres, servicios, tareas y definiciones de tareas.
+ [Permisos para usar Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/security_iam_permissions.html) en la consola.
+ (Recomendado) Permisos para ver los registros y las métricas relacionados, como:
  + Registros de CloudWatch
  + CloudWatch

## Procedimiento
<a name="troubleshooting-with-Q-procedure"></a>

1. Abra la consola de en [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Determine el recurso en el que desea solucionar problemas.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECS/latest/developerguide/troubleshooting-with-Q.html)

1. En la página de detalles del recurso, busque el estado o el motivo de estado que describe el problema.

1. Haga clic en el motivo del estado para abrir la ventana emergente.

1. Si está disponible, seleccione **Inspeccionar con Amazon Q Developer**.

1. Revise la explicación y los pasos de corrección sugeridos que proporciona Amazon Q Developer. Aplique cambios de configuración o cambios operativos según convenga a su entorno.

## Consideraciones
<a name="troubleshooting-with-Q-considerations"></a>

Tenga en cuenta lo siguiente al utilizar Amazon Q Developer con Amazon ECS:
+ **Disponibilidad de los botones**: el botón Inspeccionar con Amazon Q Developer solo se muestra en los recursos que tengan posibles problemas. Esta opción no está disponible para recursos en buen estado.
+ **Operaciones de solo lectura**: la integración de Amazon Q Developer solo realiza operaciones de lectura. No realiza acciones de mutación ni escritura.
+ **Procesamiento entre regiones**: Amazon Q Developer puede procesar datos en todas las regiones de AWS para proporcionar análisis basados en inteligencia artificial. Para obtener más información sobre el procesamiento entre regiones, consulte [Procesamiento entre regiones en Amazon Q Developer](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-processing.html).
+ **Solo en la consola**: esta integración solo está disponible a través de la consola. No está disponible a través de la AWS CLI, las API de AWS o las herramientas de infraestructura como de código.

## Más información
<a name="troubleshooting-with-Q-learn-more"></a>

Para obtener más información sobre cómo interactuar con Amazon Q Developer, consulte [Conversación con Amazon Q Developer sobre AWS](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/chat-with-q.html).