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.
Programación de tareas de Amazon ECS
Amazon Elastic Container Service (Amazon ECS) es un sistema de simultaneidad optimista de estado compartido que ofrece capacidades de programación flexibles para sus tareas y contenedores. Los programadores de Amazon ECS utilizan la misma información de estado de clúster que proporciona la API de Amazon ECS para tomar decisiones adecuadas de colocación.
Cada tarea que utiliza el tipo de lanzamiento de Fargate tiene su propio límite de aislamiento y no comparte los recursos subyacentes con ninguna otra tarea. Estos recursos incluyen el kernel subyacente, los recursos de CPU, los recursos de memoria y la interfaz de red elástica.
Amazon ECS proporciona un programador de servicio para las tareas y aplicaciones de ejecución prolongada. También proporciona la posibilidad de ejecutar tareas manualmente para trabajos por lotes o tareas que se ejecutan una sola vez. Amazon ECS proporciona una siempre que ubica tareas en el clúster. Puede especificar las estrategias de ubicación de tareas y las restricciones para ejecutar las tareas que mejor se adapten a sus necesidades. Por ejemplo, puede especificar si las tareas se ejecutan en varias zonas de disponibilidad o dentro de una sola. Tiene la opción de integrar las tareas con programadores propios personalizados o de terceros.
Programador de servicios
El programador de servicios es adecuado para servicios y aplicaciones sin estado, de ejecución prolongada. El programador de servicios garantiza el cumplimiento de la estrategia de programación especificada y reprograma las tareas cuando alguna de ellas falla. Por ejemplo, si falla la infraestructura subyacente, el programador de servicios puede reprogramar las tareas.
Existen dos estrategias del programador de servicio:
-
REPLICA
: la estrategia de programación de réplicas sitúa y mantiene en el clúster el número de tareas deseado. De forma predeterminada, el programador de servicio distribuye las tareas en zonas de disponibilidad. Puede utilizar estrategias y restricciones de ubicación de tareas para personalizar las decisiones de ubicación de las tareas. Para obtener más información, consulte Réplica. -
DAEMON
: la estrategia de programación del daemon implementa exactamente una tarea en cada instancia de contenedor activa que cumpla todas las restricciones de ubicación de tareas que se especifiquen para el clúster. El programador de servicios evalúa las restricciones para la ubicación de tareas en relación con las tareas en ejecución y detendrá las tareas que no cumplan dichas restricciones. Cuando se utiliza esta estrategia, no es necesario especificar un número deseado de tareas, ni una estrategia de ubicación de tareas ni utilizar políticas de Auto Scaling de servicios. Para obtener más información, consulte Daemon.nota
Las tareas de Fargate no admiten la estrategia de programación de
DAEMON
.
El programador de servicios también puede asegurarse de que las tareas se registren en una balanceador de carga de Elastic Load Balancing. Puede actualizar los servicios que mantiene el programador de servicios. Esto podría incluir la implementación de una nueva definición de tareas o el cambio del número de tareas deseadas que se ejecutan. De forma predeterminada, el programador de servicios distribuye las tareas en varias zonas de disponibilidad. Sin embargo, puede utilizar estrategias y restricciones de ubicación de tareas para personalizar las decisiones de ubicación de tareas. Para obtener más información, consulte Servicios de Amazon ECS.
Ejecución manual de tareas
La acción RunTask
es adecuada para procesos tales como tareas por lotes que realizan el trabajo y, a continuación, se detienen. Por ejemplo, puede tener una llamada de procesos RunTask
cuando el trabajo entra en una cola. La tarea extrae trabajo de la cola, realiza el trabajo y, a continuación, se cierra. Al utilizar RunTask
, puede permitir que la estrategia predeterminada de ubicación de tareas distribuya las tareas aleatoriamente en el clúster. Esto minimiza las posibilidades de que una sola instancia reciba un número desproporcionado de tareas. Como opción, puede utilizar RunTask
para personalizar cómo el programador coloca las tareas utilizando restricciones y estrategias de colocación de tareas. Para obtener más información, consulteEjecución de una tarea independiente en la consola clásica de Amazon ECS y RunTasken la Referencia de API de Amazon Elastic Container Service.
Ejecución de tareas con una programación similar a la de cron
Si tiene tareas que se deben ejecutar a intervalos regulares en el clúster, puede utilizar la consola de Amazon ECS para crear unEventBridge evento. Puede ejecutar tareas para una operación de copia de seguridad o un análisis de registros. ElEventBridge evento que crea puede ejecutar una o más tareas en el clúster en momentos específicos. El evento programado se puede configurar en un intervalo específico (ejecutar cada N
minutos, horas o días). De lo contrario, para una programación más complicada, puede utilizar una expresión cron
. Para obtener más información, consulte Tareas programadas.
Programadores personalizados
Con Amazon ECS, puede crear sus propios programadores o utilizar programadores de terceros. Blox
nota
Los programadores personalizados solo son compatibles con las tareas alojadas en instancias EC2. Si utiliza Amazon ECS en Fargate, laStartTask API no funciona.
Ubicación de tareas
Utilice las acciones RunTask
y CreateService
para especificar restricciones y estrategias de ubicación de tareas. Estas restricciones y estrategias personalizan la forma en que Amazon ECS ubica y ejecuta las tareas. Para obtener más información, consulte Ubicación de tareas de Amazon ECS.