Actualización de un servicio de Amazon ECS
Después de crear un servicio, hay ocasiones en las que puede que necesite actualizar sus parámetros, por ejemplo, el número de tareas.
Cuando actualiza un servicio que utiliza un interruptor de Amazon ECS, Amazon ECS crea una implementación y una revisión de servicios. Estos recursos le permiten ver información detallada sobre el historial del servicio. Para obtener más información, consulte Visualización del historial de servicios mediante las implementaciones de servicios de Amazon ECS.
Requisitos previos
Antes de actualizar un servicio, compruebe qué parámetros del servicio se pueden cambiar para su tipo de implementación. Para obtener una lista completa de parámetros que se pueden modificar, consulte Actualización de los parámetros de servicio de Amazon ECS.
Procedimiento
- Console
-
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En la página Clusters (Clústeres), elija el clúster.
-
En la página de detalles del clúster, en la sección Servicios, seleccione la casilla de verificación situada junto al servicio y, a continuación, seleccione Actualizar.
-
Para que su servicio inicie una nueva implementación, seleccione Force new deployment (Forzar una nueva implementación).
-
En Definición de tareas, elija la familia y la revisión de definiciones de tareas.
importante
La consola valida que la familia y la revisión de definiciones de tareas seleccionadas sean compatibles con la configuración de cómputos definida. Si recibe una advertencia, compruebe la compatibilidad de la definición de tarea y la configuración de cómputos seleccionada.
-
Si eligió Replica (Réplica), en Desired tasks (Tareas deseadas), ingrese el número de tareas que se lanzarán y mantendrán en el servicio.
-
Si eligió Réplica para que Amazon ECS supervise la distribución de las tareas entre las zonas de disponibilidad y las redistribuya cuando haya un desequilibrio, en Reequilibrio del servicio de zonas de disponibilidad, seleccione Reequilibrio del servicio de zonas de disponibilidad.
-
En Max running tasks (Máximo de tareas en ejecución), ingrese el límite máximo del número de tareas del servicio que se permiten en el estado
RUNNING
durante una implementación, como porcentaje del número de tareas deseado del servicio (redondeado al entero inferior más próximo). Para obtener más información, consulte Configuración de la implementación. -
En Max running tasks (Máximo de tareas en ejecución), ingrese el límite máximo del número de tareas del servicio que se permiten en el estado
RUNNING
oPENDING
durante una implementación, como porcentaje del número de tareas deseado del servicio (redondeado al entero inferior más próximo). -
Para configurar el modo en que Amazon ECS detecta y gestiona los errores de implementación, expanda Deployment failure detection (Detección de errores de implementación) y, a continuación, elija sus opciones.
-
Para detener una implementación cuando las tareas no puedan iniciarse, seleccione Use the Amazon ECS deployment circuit breaker (Utilizar el interruptor de circuito de implementación de Amazon ECS).
Para que el software restaure automáticamente la implementación a su último estado completado cuando el disyuntor de implementación establezca un estado con error, seleccione Restauración en caso de error.
-
Para detener una implementación en función de las métricas de la aplicación, seleccione Use CloudWatch alarms. A continuación, elija las alarmas en Nombre de la alarma de CloudWatch. Para crear una alarma nueva, vaya a la consola de CloudWatch.
Para que el software restaure automáticamente la implementación a su último estado de implementación completada cuando una alarma de CloudWatch establezca un estado con error, seleccione Restauración en caso de error.
-
-
Para cambiar las opciones de computación, expanda Configuración de computación y, a continuación, haga lo siguiente:
-
Para los servicios en AWS Fargate, en Platform version (Versión de la plataforma), elija la nueva versión.
-
Para los servicios que utilizan una estrategia de proveedor de capacidad, en Estrategia de proveedor de capacidad, haga lo siguiente:
-
Para agregar un proveedor de capacidad adicional, seleccione Agregar más. A continuación, en Proveedor de capacidad, seleccione el proveedor de capacidad.
-
Para eliminar un proveedor de capacidad, a la derecha del proveedor de capacidad, seleccione Eliminar.
Un servicio que utiliza un proveedor de capacidad de grupos de escalado automático no se puede actualizar para que utilice un proveedor de capacidad de Fargate. Un servicio que utiliza un proveedor de capacidad de Fargate no puede actualizarse para utilizar un proveedor de capacidad de grupo de escalado automático.
-
-
-
(Opcional) Para configurar el escalado automático de servicios, expanda Escalado automático de servicios y, a continuación, especifique los siguientes parámetros. Para utilizar el escalado automático predictivo, que analiza los datos de cargas anteriores de los flujos de tráfico, configúrelo después de crear el servicio. Para obtener más información, consulte Uso de patrones históricos para escalar los servicios de Amazon ECS con escalado predictivo.
-
Para utilizar el escalado automático de servicios, seleccione Service auto scaling (Escalado automático de servicios).
-
En Cantidad mínima de tareas, ingrese el límite mínimo del número de tareas que se va a utilizar para el escalado automático del servicio. El recuento deseado no será inferior a este recuento.
-
En Cantidad máxima de tareas, ingrese el límite máximo del número de tareas que se va a utilizar para el escalado automático del servicio. El recuento deseado no será superior a este recuento.
-
Elija el tipo de política. En Tipo de política de escalado, elija una de las siguientes opciones.
Para utilizar este tipo de política Haga lo siguiente Seguimiento de destino
-
Para Scaling policy type (Tipo de política de escalado), elija Target tracking (Seguimiento de destino).
-
En Policy name (Nombre de la política), ingrese el nombre de la política.
-
En Métrica de servicio de ECS, seleccione una de las siguientes métricas.
-
ECSServiceAverageCPUUtilization: uso medio de la CPU del servicio.
-
ECSServiceAverageMemoryUtilization: uso medio de la memoria del servicio.
-
ALBRequestCountPerTarget: número de peticiones completadas por destino en un grupo de destinos del equilibrador de carga de aplicación.
-
-
En Target value (Valor de destino), ingrese el valor que el servicio mantiene para la métrica seleccionada.
-
En Periodo de recuperación de escalado horizontal, ingrese la cantidad de tiempo, en segundos, después de una actividad de escalado horizontal (agregar tareas) que debe transcurrir antes de que pueda iniciarse otra actividad de escalado horizontal.
-
En Periodo de recuperación de desescalado horizontal, ingrese la cantidad de tiempo, en segundos, después de una actividad de reducción horizontal (eliminar tareas) que debe transcurrir antes de que pueda iniciarse otra actividad de reducción horizontal.
-
Para evitar que la política lleve a cabo una actividad de reducción horizontal, seleccione Turn off scale-in (Desactivar la reducción horizontal).
-
• (Opcional) Seleccione Desactivar la acción de desescalar horizontalmente si desea que la política de escalado se escale horizontalmente para adaptarse al aumento del tráfico, pero no necesita que se reduzca horizontalmente cuando el tráfico disminuya.
Escalado por pasos -
Para Scaling policy type (Tipo de política de escalado), elija Step scaling (Escalado de pasos).
-
En Nombre de política, ingrese el nombre de la política.
-
En Alarm name, escriba un nombre único para la alarma.
-
En Métrica de servicio de Amazon ECS, elija la métrica de servicio que desea utilizar para su alarma.
-
En Estadística, elija la estadística de la alarma.
-
En Período, elija el período de evaluación de la alarma.
-
En Estado de alarma, elija cómo comparar la métrica seleccionada con el umbral definido.
-
En Umbral para comparar las métricas y Período de evaluación para iniciar la alarma, introduzca el umbral utilizado para la alarma y durante cuánto tiempo se evaluará el umbral.
-
En Acciones de escalado, haga lo siguiente:
-
Elija Acción si desea agregar, quitar o establecer un recuento específico para su servicio.
-
Si decide agregar o quitar las tareas, en Valor, ingrese el número de tareas (o porcentaje de las tareas existentes) que desea agregar o quitar cuando se inicie la acción de escalado. Si opta por establecer el recuento deseado, introduzca el número de tareas. En Tipo, seleccione si el Valor es un número entero o un porcentaje del recuento deseado existente.
-
En Límite inferior y Límite superior, introduzca el límite inferior y el límite superior del ajuste de escalado de pasos. De forma predeterminada, el límite inferior para Agregar política es el umbral de la alarma y el límite superior es infinito positivo (+). De forma predeterminada, el límite superior de Quitar política es el límite de la alarma y el límite inferior es infinito negativo (-).
-
(Opcional) Agregue opciones de escalado adicionales. Seleccione Agregar nueva acción de escalado y, a continuación, repita los pasos de Acciones de escalado.
-
En Periodo de recuperación, ingrese la cantidad de tiempo, en segundos, que debe esperarse para que surta efecto una actividad de reducción horizontal anterior. En el caso de una política de ampliación, este es el momento en el que, después de una actividad de escalado horizontal, la política de escalado bloquea las actividades de reducción horizontal y limita el número de tareas que se pueden escalar horizontalmente a la vez. En el caso de una política de reducción horizontal, este es el tiempo que debe transcurrir tras completarse una actividad de reducción horizontal antes de que pueda comenzar otra actividad de reducción horizontal.
-
-
-
-
(Opcional) Para usar Service Connect, seleccione Turn on Service Connect (Activar Service Connect) y, a continuación, especifique lo siguiente:
-
En Service Connect configuration (Configuración de Service Connect), especifique el modo cliente.
-
Si su servicio ejecuta una aplicación cliente de red que solo necesita conectarse a otros servicios del espacio de nombres, elija Solo en el lado del cliente.
-
Si su servicio ejecuta una aplicación de servicio web o red y necesita proporcionar puntos de conexión para este servicio y se conecta a otros servicios del espacio de nombres, elija Client and server (Cliente y servidor).
-
-
Para usar un espacio de nombres que no sea el espacio de nombres predeterminado del clúster, en Namespace (Espacio de nombres), elija el espacio de nombres del servicio.
-
-
Si su tarea usa un volumen de datos compatible con la configuración en el momento de la implementación, puede expandir Volume para configurar el volumen.
El nombre y el tipo de volumen se configuran cuando crea una revisión de la definición de la tarea y no se pueden cambiar cuando se actualiza un servicio. Para actualizar el nombre y el tipo de volumen, debe crear una nueva revisión de la definición de la tarea y actualizar el servicio con la nueva revisión.
Para configurar este tipo de volumen Haga lo siguiente Amazon EBS
-
En Tipo de volumen de EBS, elija el tipo de volumen de EBS que desee adjuntar a la tarea.
-
En Tamaño (GiB), ingrese un valor válido para el tamaño de volumen en gibibytes (GiB). Puede especificar un tamaño de volumen mínimo de 1 GiB y máximo de 16 384 GiB. Este valor es obligatorio a menos que proporcione un ID de instantánea.
-
En IOPS, ingrese el número máximo de operaciones de entrada/salida (IOPS) que debe proporcionar el volumen. Este valor solo puede configurarse para los tipos de volumen
io1
,io2
ygp3
. -
En Rendimiento (MiB/s), ingrese el rendimiento que debe proporcionar el volumen, en mebibytes por segundo (MiBps o MiB/s). Este valor solo puede configurarse para el tipo de volumen
gp3
. -
En ID de instantánea, elija una instantánea de volumen de Amazon EBS existente o ingrese el ARN de una instantánea si desea crear un volumen a partir de una instantánea. También puede crear un volumen nuevo y vacío sin elegir ni ingresar ningún ID de instantánea.
-
Si especifica un ID de instantánea, puede especificar una velocidad de inicialización del volumen (MiB/s). Ingrese un valor entre 100 y 300, en MiB/s, que determinará la rapidez con la que se cargan los datos de la instantánea especificada mediante el ID de instantánea para la creación del volumen.
-
En Tipo de sistema de archivos, elija el tipo de sistema de archivos que se utilizará para almacenar y recuperar datos en el volumen. Puede elegir el sistema operativo predeterminado o un tipo de sistema de archivos específico. El valor predeterminado para Linux es
XFS
. En el caso de los volúmenes creados a partir de una instantánea, debe especificar el mismo tipo de sistema de archivos que utilizaba el volumen cuando se creó la instantánea. Si hay un error de coincidencia con el tipo de sistema de archivos, la tarea no podrá iniciarse. -
En Rol de infraestructura, elija un rol de IAM con los permisos necesarios que permitan a Amazon ECS administrar los volúmenes de Amazon EBS para las tareas. Puede adjuntar la política de
AmazonECSInfrastructureRolePolicyForVolumes
administrada al rol, o puede utilizar la política como guía para crear y adjuntar su propia política con los permisos que cumplan sus necesidades específicas. Para obtener información sobre los permisos de necesarios, consulte Rol de IAM de infraestructura de Amazon ECS. -
En Cifrado, elija Predeterminado si quiere usar el cifrado de Amazon EBS como configuración predeterminada. Si su cuenta tiene configurado Cifrado predeterminado, el volumen se cifrará con la clave AWS Key Management Service (AWS KMS) especificada en la configuración. Si selecciona Predeterminado y el cifrado predeterminado de Amazon EBS no está activado, el volumen se descifrará.
Si elige Personalizado, puede especificar una AWS KMS key de su preferencia para el cifrado por volumen.
Si selecciona Ninguno, el volumen no se cifrará a menos que tenga el cifrado configurado de forma predeterminada o si crea un volumen a partir de una instantánea cifrada.
-
Si ha elegido Personalizado en Cifrado, debe especificar la AWS KMS key que desee utilizar. En Clave de KMS, elija una AWS KMS key o escriba un ARN. Si decide cifrar su volumen mediante una clave simétrica administrada por el cliente, asegúrese de tener los permisos correctos definidos en su política de AWS KMS key. Para obtener más información, consulte Data encryption for Amazon EBS volumes.
-
(Opcional) En Etiquetas, puede propagar las etiquetas de la definición de la tarea o del servicio o proporcionar sus propias etiquetas para agregar etiquetas a su volumen de Amazon EBS.
Si desea propagar etiquetas desde la definición de la tarea, seleccione Definición de tarea en Propagar etiquetas desde. Si desea propagar etiquetas desde el servicio, elija Servicio en Propagar etiquetas desde. Si elige No propagar o si no elige un valor, las etiquetas no se propagarán.
Si quiere proporcionar sus propias etiquetas, seleccione Agregar etiqueta y, a continuación, proporcione la clave y el valor de cada etiqueta que agregue.
Para obtener más información acerca del etiquetado de volúmenes de Amazon EBS, consulte Tagging Amazon EBS volumes.
-
-
(Opcional) Para ayudar a identificar su servicio, expanda la sección Tags (Etiquetas) y, a continuación, configure sus etiquetas.
-
[Agregar una etiqueta] Elija Agregar etiqueta y haga lo siguiente:
-
En Clave, escriba el nombre de la clave.
-
En Valor, escriba el valor de la clave.
-
-
[Eliminar una etiqueta] Junto a la etiqueta, elija Remove tag (Quitar etiqueta).
-
-
Elija Actualizar.
- AWS CLI
-
Ejecute
update-service
. Para obtener información sobre la ejecución del comando, consulte update-service en la Referencia de AWS Command Line Interface.En el siguiente ejemplo de
update-service
, se actualiza el recuento de tareas deseado del serviciomy-http-service
a 2.Sustituya las
entradas del usuario
por sus valores.aws ecs update-service \ --cluster
MyCluster
\ --servicemy-http-service
\ --desired-count 2
Pasos a seguir a continuación
Haga un seguimiento de la implementación y consulte el historial de los servicios que utiliza el interruptor de Amazon ECS. Para obtener más información, consulte Visualización del historial de servicios mediante las implementaciones de servicios de Amazon ECS.