Prácticas recomendadas para los parámetros de servicio de Amazon ECS - Amazon Elastic Container Service

Prácticas recomendadas para los parámetros de servicio de Amazon ECS

Para garantizar que no haya tiempo de inactividad de las aplicaciones, el proceso de implementación es el siguiente:

  1. Inicie los nuevos contenedores de aplicaciones y mantenga en funcionamiento los contenedores existentes.

  2. Compruebe que los nuevos contenedores estén en buen estado.

  3. Detenga los contenedores antiguos.

En función de la configuración de implementación y de la cantidad de espacio libre y sin reservar en el clúster, es posible que se necesiten varias rondas para completar el proceso y sustituir todas las tareas antiguas por tareas nuevas.

Existen dos opciones de configuración del servicio ECS que puede utilizar para modificar el número:

  • minimumHealthyPercent: 100 % (predeterminado)

    El límite inferior del número de tareas de su servicio que deben permanecer en el estado RUNNING durante una implementación. Es un porcentaje de desiredCount que se redondea al número entero más cercano. Este parámetro le permite implementar sin utilizar capacidad de clúster adicional.

  • maximumPercent: 200 % (predeterminado)

    El límite superior del número de tareas para su servicio que se permiten en el estado RUNNING o PENDING durante una implementación. Es un porcentaje de desiredCount que se redondea a la baja número entero más cercano.

Considere el siguiente servicio, que tiene seis tareas tan, implementadas en un clúster con espacio para ocho tareas en total. Las opciones de configuración del servicio Amazon ECS predeterminadas no permiten que la implementación supere el 100 % de las seis tareas deseadas.

Diagrama que muestra seis tareas en un clúster con espacio para ocho tareas.

El proceso de implementación es el siguiente:

  1. El objetivo es sustituir las tareas tan por las azules.

  2. El planificador inicia dos nuevas tareas azules porque la configuración predeterminada requiere que haya seis tareas en ejecución.

  3. El programador detiene dos de las tareas tan porque habrá un total de seis tareas (cuatro tan y dos azules).

  4. El planificador inicia dos tareas azules adicionales.

  5. El planificador cierra dos de las tareas tan.

  6. El planificador inicia dos tareas azules adicionales.

  7. El programador cierra las dos últimas tareas tan.

En el ejemplo anterior, si utiliza los valores predeterminados para las opciones, tendrá que esperar 2 minutos y medio para que se inicie una nueva tarea. Además, es posible que el equilibrador de carga tenga que esperar 5 minutos para que se detenga la tarea anterior.

Puede acelerar la implementación estableciendo el valor minimumHealthyPercent en un 50 %.

Considere el siguiente servicio, que tiene seis tareas tan, implementadas en un clúster con espacio para ocho tareas en total.

Diagrama que muestra seis tareas en un clúster con espacio para ocho tareas con un valor minimumHealthyPercent del 50 %.

El proceso de implementación es el siguiente:

  1. El objetivo es sustituir las tareas tan por las azules.

  2. El programador detiene tres de las tareas tan. Todavía hay tres tareas tan en ejecución que cumplen con el valor minimumHealthyPercent.

  3. El programador inicia cinco tareas azules.

  4. El programador detiene las tres tareas tan restantes.

  5. El programador inicia las tareas azules finales.

También puede agregar espacio libre adicional para poder ejecutar tareas adicionales.

Diagrama que muestra seis tareas en un clúster con espacio para ocho tareas.

El proceso de implementación es el siguiente:

  1. El objetivo es sustituir las tareas tan por las azules.

  2. El programador detiene tres de las tareas tan

  3. El programador inicia seis tareas azules

  4. El programador detiene las tres de tareas tan.

Utilice los siguientes valores para las opciones de configuración del servicio Amazon ECS cuando sus tareas estén inactivas durante algún tiempo y no tengan una tasa de uso elevada.

  • minimumHealthyPercent: 50 %

  • maximumPercent: 200 %