View a markdown version of this page

Daemons administrados de Amazon ECS - Amazon Elastic Container Service

Daemons administrados de Amazon ECS

Los daemons administrados de Amazon ECS le permiten implementar y administrar agentes de software, como agentes de seguridad, observabilidad y redes, en toda su infraestructura de contenedores en las instancias administradas de Amazon ECS. Los daemons administrados separan la administración del ciclo de vida de los daemons de las operaciones de las aplicaciones. Puede implementar, actualizar y supervisar los agentes de forma independiente, sin tener que volver a implementar las cargas de trabajo ni coordinar los cambios entre los servicios.

Criticidad del daemon

Puede configurar cada daemon administrado como crítico o no crítico, dependiendo de si un fallo del daemon debe provocar que Amazon ECS vacíe la instancia de contenedor.

  • Crítico: es el valor predeterminado. Amazon ECS inicia la tarea de daemon antes de colocar las tareas de la aplicación en la instancia, y si la tarea de daemon se detiene o deja de funcionar correctamente, Amazon ECS vacía y reemplaza la instancia de contenedor.

  • No crítico: establezca el parámetro critical en false. La tarea de daemon funciona independientemente del estado de la instancia de contenedor. Si una tarea de daemon no crítico falla, se detiene o deja de funcionar correctamente, Amazon ECS mantiene activa la instancia de contenedor. Las tareas de aplicaciones existentes siguen ejecutándose y Amazon ECS sigue asignándole nuevas tareas de aplicación. Un daemon no crítico nunca bloquea el registro de instancias, por lo que las tareas de la aplicación se pueden asignar de inmediato, incluso si el daemon no logra iniciarse.

Cómo funcionan los daemons administrados

Para usar los daemons administrados, primero registre una definición de tarea de daemon. La definición de una tarea de daemon es una plantilla que describe los contenedores que forman un daemon. Tras registrar una definición de tarea de daemon, cree un daemon y asócielo a un clúster y a uno o más proveedores de capacidad de instancias administradas de Amazon ECS. Amazon ECS se asegura entonces de que se ejecute exactamente una tarea de daemon en cada instancia de Amazon EC2 aprovisionada a través de esos proveedores de capacidad.

Los daemons no lanzan instancias de forma independiente. Cuando ejecuta una tarea de aplicación en un proveedor de capacidad de instancias administradas de Amazon ECS, Amazon ECS aprovisiona una instancia de Amazon EC2, inicia la tarea de daemon y solo después transfiere la tarea de aplicación a RUNNING. Amazon ECS utiliza este orden para cada daemon, independientemente de su nivel de criticidad, de modo que las funciones transversales, como el registro, el seguimiento y la recopilación de métricas, estén operativas antes de que la aplicación comience a procesar las solicitudes.

La criticidad determina qué hace Amazon ECS cuando una tarea de daemon no se inicia o se detiene posteriormente. En el caso de un daemon crítico, si una tarea no logra iniciarse, la instancia no puede activarse. Una tarea que se detiene o deja de funcionar después de que la instancia esté activa provoca que Amazon ECS vacíe la instancia y la sustituya. Este mecanismo de reparación automática garantiza una cobertura confiable del daemon sin necesidad de intervención manual.

Un daemon no crítico nunca bloquea la instancia ni desencadena un vaciado. La instancia se activa incluso si la tarea de daemon no se inicia, y permanece activa si la tarea de daemon se detiene o deja de funcionar correctamente más adelante. Las tareas de su aplicación siguen ejecutándose, y Amazon ECS sigue asignando nuevas tareas de la aplicación a la instancia.

Cuando actualiza un daemon a una nueva revisión de la definición de tareas, Amazon ECS realiza una implementación progresiva en todas las instancias de los proveedores de capacidad asociados. Durante la implementación, Amazon ECS agota un porcentaje configurable de instancias de forma simultánea, aprovisiona las instancias de reemplazo con el daemon actualizado y reemplaza las tareas de servicio de Amazon ECS automáticamente. Amazon ECS ofrece protección integrada para disyuntores. Puede configurar un tiempo de incorporación y alarmas de CloudWatch para que Amazon ECS supervise la implementación después de actualizar todas las instancias y la revierta automáticamente si surgen problemas. Amazon ECS emite un evento de EventBridge y graba un registro de acciones del servicio cuando una tarea de daemon no se inicia, tanto en el caso de los daemons críticos como de los no críticos.

Ventajas principales

  • Administración desvinculada del ciclo de vida: actualice los daemons independientemente de las implementaciones de las aplicaciones.

  • Cobertura garantizada: Amazon ECS inicia la tarea de daemon antes que las tareas de la aplicación en cada instancia, por lo que las funciones transversales ya están operativas antes de que la aplicación comience a procesar las solicitudes. En el caso de un daemon crítico, si una tarea de daemon no logra iniciarse, la instancia tampoco puede registrarse; por lo tanto, una instancia nunca ejecuta tareas de la aplicación sin su daemon.

  • Actualizaciones de versión fiables: cuando actualiza una versión de daemon, Amazon ECS la implementa en todas las instancias de los proveedores de capacidad asociados, con protección de disyuntores integrada y reversión automática para garantizar que todas las instancias ejecuten la revisión de destino.

  • Utilización mejorada de los recursos: al ejecutar una sola tarea de daemon por instancia, se elimina el modelo de espacio por tarea, lo que reduce la sobrecarga de recursos en todo el clúster.

  • Reparación automática de instancias: en el caso de un daemon crítico, si la tarea de daemon se detiene o deja de funcionar correctamente, Amazon ECS vacía y reemplaza automáticamente esa instancia de contenedor. De este modo, se mantiene una cobertura fiable de los daemons sin intervención manual.

  • Continuidad de la carga de trabajo: los daemons no críticos permiten que las cargas de trabajo de las aplicaciones se ejecuten de forma ininterrumpida, incluso si una tarea de daemon falla, se detiene o deja de funcionar.

nota

Amazon ECS ofrece una estrategia de programación de DAEMON para los servicios de Amazon ECS para el tipo de lanzamiento de Amazon EC2. Los daemons administrados son una nueva capacidad creada para las instancias administradas de Amazon ECS con el fin de simplificar las implementaciones de daemon y ofrecer mayores garantías de cobertura de daemon.

Introducción

Para empezar, registre una definición de tarea de daemon especificando la imagen del contenedor y, a continuación, cree un daemon con los proveedores de capacidad asociados en el clúster. Puede utilizar la Consola de administración de AWS, la AWS CLI, CloudFormation o los SDK de AWS. Para obtener instrucciones paso a paso, consulte Creación y administración de daemons.