Actualización de un servicio de Amazon ECS Express Mode
El servicio de Express Mode simplifica el proceso de actualización del servicio al proporcionar opciones configurables para la red, el equilibrio de carga y Application Auto Scaling, además de organizar los cambios en estos servicios.
Puede actualizar el servicio de Express Mode para modificar imágenes de contenedores, ajustar la asignación de recursos o cambiar la configuración. Las actualizaciones se implementan mediante implementaciones canario con alarmas de reversión basadas en alarmas para mantener la disponibilidad.
Comportamiento de implementación
Un servicio de Express Mode utiliza las canario de manera predeterminada para garantizar actualizaciones seguras y reversiones rápidas:
-
Se crea un entorno nuevo y se implementan las tareas con los cambios
-
El 5 % del tráfico se transfiere al entorno nuevo
-
Las reversiones basadas en alarmas se desencadenarán si la suma de los porcentajes de errores de 4xx y 5xx es superior a 1 para 2 puntos de datos en un plazo de 3 minutos
-
Las comprobaciones de estado verifican que las tareas nuevas sean correctas
-
Tras 3 minutos de incorporación, el total del tráfico se desplaza a un entorno nuevo
-
Después de 3 minutos de tiempo de incorporación para la supervisión, las tareas anteriores se detienen gradualmente y se sustituyen
Para obtener más información, consulte Amazon ECS canary deployments
Procedimiento
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En el panel de navegación, seleccione Clusters (Clústeres).
-
En la página Clústeres, elija el nombre del clúster que contiene el servicio de Express Mode.
-
En la página de detalles del clúster, elija la pestaña Servicios.
-
Configure un filtro para ver los servicios de Express Mode. En Filtrar tipo de administración de recursos, elija ECS.
Un servicio de Express Mode tiene una insignia Express junto al nombre.
-
En Configuración:
-
Especifique la imagen que quiere utilizar para la aplicación. En URI de imagen, introduzca la URI de la imagen. Para buscar las imágenes de Amazon ECR, seleccione Examinar imágenes de ECR y, a continuación, haga lo siguiente:
-
En Repositorio privado, elija el repositorio privado de Amazon ECR.
En Imagen, elija la imagen.
Elige cómo identificar la imagen. En Seleccionar imagen por, elija una de las siguientes opciones:
-
AWS recomienda que elija Resumen de imágenes.
-
Para utilizar la etiqueta, elija Etiqueta de imagen y, a continuación, elija la etiqueta.
-
-
-
Para utilizar un registro privado, seleccione Registro privado. A continuación, en ARN o nombre de Secrets Manager, indique el ARN de Secrets Manager que creó en los requisitos previos.
-
En Rol de ejecución de tareas, elija los roles o cree un nuevo rol y actualícelo. Puede actualizar el rol de ejecución de tareas cuando necesite agregar permisos adicionales.
-
-
En Configuraciones adicionales, personalice el servicio.
-
En Contenedor:
-
En Puerto del contenedor, actualice el puerto en el que escucha la aplicación (el valor predeterminado es 80).
-
En Ruta de comprobación de estado, actualice la ruta de las comprobaciones de estado (por ejemplo,
/health).
-
-
En Variables de entorno, agregue pares clave-valor para las variables de entorno que necesite la aplicación:
-
En Clave, ingrese el nombre de la variable de entorno.
-
En Tipo de valor, elija Variable de entorno o Secreto.
-
En Valor o Valor de, introduzca el valor o la referencia.
-
Elija Agregar variable de entorno para agregar más variables según sea necesario.
-
-
En Comando, si lo desea, introduzca un comando personalizado para anular la instrucción del CMD de Docker.
-
En Rol de tarea, agregue un rol de IAM que conceda permisos a la aplicación que se pone en marcha en los contenedores. Esto permite a la aplicación hacer llamadas de API a los servicios de AWS.
-
En Computación:
-
En CPU, actualice la asignación de vCPU para las tareas (por ejemplo, 1 vCPU).
-
En Memoria, actualice la asignación de memoria para las tareas (por ejemplo, 2 GB).
-
-
En Escalado automático:
-
En Métrica del servicio de ECS, elija la métrica según la que quiera escalar (por ejemplo, Uso medio de memoria del servicio de ECS o Recuento de solicitudes por destino).
-
En Valor de destino, ingrese el destino del escalado (por ejemplo, 60 o 1000).
-
En Número mínimo de tareas y Número máximo de tareas, actualice los límites de escalado.
-
-
En Registros:
-
En Grupo de registros de Amazon CloudWatch, actualice el nombre del grupo de registros para los registros de la aplicación. Esto no moverá los registros existentes, sino que empezará a escribir los registros de la nueva revisión del servicio.
-
En Prefijo de flujo de registros de Amazon CloudWatch, introduzca un prefijo nuevo para los flujos de registros.
-
-
-
Elija Actualizar para actualizar el servicio de Express Mode.
Actualización con una definición de tareas personalizada
Puede actualizar su servicio de Express Mode con una definición de tarea personalizada especificando el parámetro taskDefinitionArn. Express Mode utiliza la definición de tareas tal cual y continúa administrando el resto de la infraestructura.
En las actualizaciones posteriores, usted puede:
Crear una nueva versión de su definición de tareas y actualizar el
taskDefinitionArn. Express Mode utiliza la nueva revisión para la próxima implementación del servicio.Actualizar los parámetros de Express Mode directamente:
Para los parámetros no relacionados con la definición de la tarea (como
healthCheckPath,networkConfigurationoscalingTarget), Express Mode aplica los cambios sin modificar la definición de la tarea.Para los parámetros relacionados con la definición de tareas (como el uso de la imagen, la CPU o la memoria mediante
primaryContainerocpu/memory), Express Mode crea una nueva definición de tarea administrada con los cambios y, al mismo tiempo, conserva el resto de la configuración a nivel de tarea.
Cómo actualizar con una definición de tarea personalizada (consola de Amazon ECS)
Abra la consola de Amazon ECS y diríjase al servicio de Express Mode.
Seleccione la flecha desplegable junto a Actualizar servicio y luego seleccione Actualizar con una definición de tareas personalizada.
En Familia de definición de tareas, seleccione una familia de definición de tareas existente. Para crear una nueva definición de tareas, elija el enlace Definiciones de tareas.
En Revisión de la definición de tareas, seleccione la revisión que desee utilizar o déjela en blanco para utilizar la última revisión.
(Opcional) Amplíe Configuraciones adicionales para actualizar la configuración de la ruta de comprobación de estado, las redes o el escalado automático.
Elija Actualizar.
El siguiente comando AWS CLI de AWS actualiza el servicio de Express Mode con una definición de tareas personalizada:
aws ecs update-express-gateway-service \ --service-arn arn:aws:ecs:us-west-2:123456789012:service/default/my-service \ --task-definition-arn arn:aws:ecs:us-west-2:123456789012:task-definition/my-td:4
nota
Si utiliza CloudFormation y va a agregar taskDefinitionArn al servicio de Express Mode por primera vez, vuelva a implementar su pila. Esto garantiza la compatibilidad con la reversión.