View a markdown version of this page

Causas comunes de que los trabajos se bloqueen en RUNNABLE sin un StatusReason - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Causas comunes de que los trabajos se bloqueen en RUNNABLE sin un StatusReason

En caso de que no hayas recibido un evento de CloudWatch Events o hayas recibido un evento con un motivo desconocido, estas son algunas de las causas más comunes de este problema.

El controlador de registros awslogs no está configurado en los recursos de computación

AWS Batch los trabajos envían su información de registro a CloudWatch Logs. Para activarlo, debe configurar sus recursos de computación para utilizar el controlador de registro awslogs. Supongamos que basa la AMI de sus recursos de computación en la AMI optimizada para Amazon ECS (o Amazon Linux). A continuación, este controlador se registra de forma predeterminada en el paquete ecs-init. Ahora supongamos que usa una AMI base diferente. Luego, debe verificar que el controlador de registro awslogs esté especificado como un controlador de registro disponible con la variable de entorno ECS_AVAILABLE_LOGGING_DRIVERS cuando se inicia el agente de contenedor de Amazon ECS. Para obtener más información, consulte Especificaciones de AMI de recursos de computación y Tutorial: creación de una AMI de recursos de computación.

Recursos insuficientes

Si sus definiciones de trabajo especifican más recursos de memoria o CPU de lo que pueden asignar los recursos de computación, los trabajos no se asignarán. Por ejemplo, supongamos que su trabajo especifica 4 GiB de memoria y que sus recursos de computación tienen menos de los disponibles. Entonces, se da el caso de que el trabajo no se puede asignar a esos recursos de computación. En ese caso, debe reducir la memoria especificada en la definición del trabajo o añadir más recursos de computación en su entorno. Una parte de la memoria se reserva para el agente de contenedor de Amazon ECS y otros procesos críticos del sistema. Para obtener más información, consulte Administración de la memoria de recurso de computación.

No hay acceso a Internet para los recursos de computación

Los recursos de computación de las deben obtener acceso para comunicarse con el punto de conexión del servicio de Amazon ECS. Esto puede ser a través de un punto de conexión de VPC de la interfaz o a través de recursos de computación de las con direcciones IP públicas.

Para obtener más información acerca de los puntos de enlace de la VPC de la interfaz, consulte Puntos de enlace de la VPC de la interfaz de Amazon ECS (AWS PrivateLink) en la Guía para desarrolladores de Amazon Elastic Container Service.

Si no tiene configurado un punto de conexión de la VPC de la interfaz y los recursos de computación de las no tienen direcciones IP públicas, deberán utilizar traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulte Gateways NAT en la Guía del usuario de Amazon VPC. Para obtener más información, consulte Creación de una VPC.

Se ha alcanzado el límite de instancias de Amazon EC2

La cantidad de instancias de Amazon EC2 en las que puede lanzar su cuenta Región de AWS viene determinada por su cuota de instancias EC2. Algunos tipos de instancias tienen también una cuota por tipo de instancia. Para obtener más información sobre la cuota de instancias de Amazon EC2 de su cuenta, incluida la forma de solicitar un aumento del límite, consulte los Límites de servicio de Amazon EC2 en la Guía del usuario de Amazon EC2.

El agente de contenedor de Amazon ECS no está instalado

El agente contenedor Amazon ECS debe estar instalado en la Imagen de máquina de Amazon (AMI) para permitir a AWS Batch ejecutar los trabajos. El agente de contenedor de Amazon ECS se instala de forma predeterminada en AMI optimizadas para Amazon ECS. Para obtener más información sobre el agente de contenedor de Amazon ECS, consulte Agente de contenedor de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.

Long-running scripts de datos de usuario en una plantilla de lanzamiento

Si la plantilla de lanzamiento incluye un script de datos de usuario que tarda mucho en completarse, las instancias pueden agotar el tiempo de espera antes de que se registren en Amazon ECS. Cuando esto ocurre, las instancias nunca están disponibles para recoger trabajos, por lo que todos los trabajos quedan RUNNABLE estancados. Todos los scripts de datos de usuario deben finalizar antes de que una instancia pueda registrarse en Amazon ECS y empezar a ejecutar trabajos.

Para resolver este problema, revise los datos de usuario de la plantilla de lanzamiento para ver si hay operaciones prolongadas o bloqueadas. Considere la posibilidad de optimizar los scripts para reducir el tiempo de ejecución, ejecutar operaciones no críticas de forma asíncrona o eliminar por completo la lógica de inicialización de los datos de usuario. Para obtener más información, consulte Utilice las plantillas de lanzamiento de Amazon EC2 con AWS Batch.

Para obtener más información, consulte ¿Por qué mi trabajo está estancado? AWS BatchRUNNABLE en Re:post.