Reinicio de contenedores individuales en tareas de Amazon ECS con políticas de reinicio de contenedores
Puede habilitar las políticas de reinicio para los contenedores esenciales y no esenciales definidas en la definición de su tarea para superar los errores transitorios con mayor rapidez y mantener la disponibilidad de las tareas. Al habilitar una política de reinicio para un contenedor, Amazon ECS puede reiniciar el contenedor si se cierra, sin necesidad de reemplazar la tarea.
Las políticas de reinicio no están habilitadas para los contenedores de forma predeterminada. Al habilitar una política de reinicio para un contenedor, puede especificar códigos de salida en los que no se reiniciará el contenedor. Pueden ser códigos de salida que indican que la realización ha sido correcta, como códigos de salida 0
, que no requieren un reinicio. También puede especificar durante cuánto tiempo debe funcionar correctamente un contenedor antes de intentar su reinicio. Para obtener más información sobre estos parámetros, consulte Política de reinicio. Para ver un ejemplo de definición de tarea que especifique estos valores, consulte Especificación de una política de reinicio de contenedor en una definición de tarea de Amazon ECS.
Puede utilizar el punto de conexión de metadatos de tareas de Amazon ECS o CloudWatch Container Insights para supervisar el número de veces que se ha reiniciado un contenedor. Para más información sobre el punto de conexión de los metadatos de la tarea, consulte Versión 4 del punto de conexión de metadatos de tareas de Amazon ECS y Versión 4 del punto de conexión de los metadatos de tareas de Amazon ECS para tareas en Fargate. Para obtener más información sobre las métricas de Container Insights, consulte Métricas de Amazon ECS Container Insights en la Guía del usuario de Amazon CloudWatch.
Las políticas de reinicio del contenedor son compatibles con tareas alojadas en Fargate, Instancias de Amazon EC2 e instancias externas que utilizan Amazon ECS Anywhere.
Consideraciones
Tenga en cuenta lo siguiente antes de habilitar una política de reinicio para su contenedor:
-
Para las tareas alojadas en instancias de Amazon EC2, esta característica requiere la versión
1.86.0
del agente de contenedor o una posterior. No obstante, recomendamos utilizar la versión del agente de contenedor más reciente. Para obtener información acerca de cómo comprobar la versión del agente y actualizar a la versión más reciente, consulte Actualización del agente de contenedor de Amazon ECS. -
Para las tareas alojadas en Fargate, esta función requiere la versión de plataforma
1.4.0
o posterior. Para obtener más información, consulta Versiones de la plataforma Fargate para Amazon ECS. -
Si utiliza el tipo de lanzamiento EC2 con el modo de red
bridge
, la variable de entornoFLUENT_HOST
del contenedor de aplicaciones puede dejar de ser precisa tras reiniciar el contenedor del router de registro de Firelens (el contenedor con el objetofirelensConfiguration
en su definición de contenedor). Esto se debe a queFLUENT_HOST
es una dirección IP dinámica y puede cambiar tras un reinicio. El registro directo desde el contenedor de la aplicación en la dirección IPFLUENT_HOST
puede empezar a fallar después de que la dirección cambie. Para obtener más información acerca deFLUENT_HOST
, consulte Configuración de los registros de Amazon ECS para conseguir un alto rendimiento. -
El agente de Amazon ECS gestiona las políticas de reinicio de contenedores. Si, por alguna razón inesperada, el agente de Amazon ECS falla o deja de ejecutarse, el contenedor no se reiniciará.
-
El período de intento de reinicio definido en su política determina el período de tiempo (en segundos) que debe funcionar el contenedor antes de que Amazon ECS lo reinicie.