Los lifecycle hooks pausan las actividades de Auto Scaling y colocan las instancias ECS o ECI en un estado Pending, lo que le da tiempo para ejecutar acciones personalizadas como instalar software. La actividad de escalado se reanuda cuando el hook agota su tiempo de espera.
Requisitos previos
Se ha creado un grupo de escalado. Para más información, consulte Configure a scaling group o CreateScalingGroup.
-
(Opcional) Si desea recibir notificaciones de MNS cuando se active un lifecycle hook, debe crear previamente un tema de MNS o una cola de MNS. Para más información, consulte los siguientes temas:
Crear un lifecycle hook
Puede crear hasta 10 lifecycle hooks por grupo de escalado. Para más información, consulte Overview of lifecycle hooks.
Inicie sesión en la Auto Scaling console.
En el panel de navegación izquierdo, haga clic en Scaling Groups.
En la barra de navegación superior, seleccione una región.
-
Busque el grupo de escalado que desea gestionar y abra su página de detalles mediante uno de los siguientes métodos:
En la columna Scaling Group Name/ID, haga clic en el ID del grupo de escalado.
En la columna Actions, haga clic en Details.
En la parte superior de la página, haga clic en la pestaña Event and adhesive hook.
Haga clic en Create Lifecycle Hook.
-
En la página Create Lifecycle Hook, configure el lifecycle hook.
La siguiente tabla describe los parámetros de un lifecycle hook.
Parámetro
Descripción
Name
El nombre del lifecycle hook. El nombre no se puede cambiar después de la creación; debe tener entre 2 y 64 caracteres, y comenzar con una letra, un dígito o un carácter chino. Puede contener puntos (.), guiones bajos (_) y guiones (-).
Scaling Activity Type
El tipo de actividad de escalado que activa el lifecycle hook. Valores válidos:
-
Scale-In
-
Scale-Out
Timeout Period
El periodo de tiempo de espera del lifecycle hook, en segundos. Valores válidos: de 30 a 21600 (6 horas). Valor predeterminado: 1800.
NotaEstablezca el periodo de tiempo de espera según el tiempo necesario para procesar el lifecycle hook. Si el procesamiento excede este límite, el sistema ejecuta la acción especificada en Default Execution Policy.
Default Execution Policy
Escenario con un solo lifecycle hook
La acción que se ejecuta después de que una instancia sale del estado Pending. Valores válidos:
-
Continue: Durante una actividad de scale-out, Auto Scaling continúa agregando la nueva instancia ECS o ECI al grupo de escalado. Durante una actividad de scale-in, Auto Scaling continúa quitando la instancia ECS o ECI del grupo de escalado y luego la libera.
-
Reject: Durante una actividad de scale-out, Auto Scaling libera la nueva instancia ECS o ECI sin agregarla al grupo de escalado. Durante una actividad de scale-in, Auto Scaling separa la instancia ECS o ECI del grupo de escalado, pero no la libera.
-
Roll Back: Durante una actividad de scale-out, Auto Scaling libera la nueva instancia ECS o ECI sin agregarla al grupo de escalado. Durante una actividad de scale-in, Auto Scaling vuelve a agregar la instancia ECS o ECI eliminada al grupo de escalado.
Escenario con varios lifecycle hooks
Si se activan varios lifecycle hooks para la misma actividad de escalado, el resultado final depende del Scaling Activity Type configurado en cada hook.
-
Actividad de scale-in: Cuando termina el estado de espera de un lifecycle hook con política Continue, el sistema espera a que se completen los lifecycle hooks restantes. Si alguno de estos hooks finaliza con una política de ejecución Reject o Roll Back, el sistema finaliza inmediatamente el estado de espera y establece la política de los hooks pendientes en la política de ejecución predeterminada. Solo se inicia un rollback para detener la actividad de scale-in si un hook completado tiene la política Roll Back. Si un hook completado tiene la política Reject, la actividad de scale-in continúa.
-
Actividad de scale-out: La actividad de scale-out avanza solo si todos los lifecycle hooks se completan con una política de ejecución Continue. Si algún lifecycle hook se completa con una política de ejecución Reject o Roll Back, el sistema deja de esperar a los hooks incompletos restantes, cancela el scale-out e inicia un rollback (para las actividades de scale-out, las políticas "Rollback" y "Reject" tienen el mismo efecto).
(Opcional) Escenario con una plantilla de OOS como método de notificación
Esto aplica únicamente cuando el lifecycle hook utiliza una plantilla de OOS como método de notificación. Si la ejecución de la plantilla de OOS finaliza antes de que expire el estado Pending, la siguiente acción depende del resultado de la ejecución:
-
Éxito: En una actividad de scale-out, la instancia se agrega al grupo de escalado. En una actividad de scale-in, la instancia deja de atender tráfico en el grupo de escalado.
-
Fallo: En una actividad de scale-out, la instancia se libera. En una actividad de scale-in, la instancia deja de atender tráfico en el grupo de escalado.
La forma en que una instancia deja de atender tráfico depende de las siguientes condiciones:
-
Si la instancia es gestionada por el grupo de escalado y el Instance Reclaim Mode del grupo está establecido en Release, la instancia se elimina del grupo de escalado y se libera.
-
Si la instancia es gestionada por el grupo de escalado y el Instance Reclaim Mode del grupo está establecido en Economical Mode, la instancia se detiene dentro del grupo y se conservan algunos de sus recursos. Para más información, consulte Configure a scaling group.
-
Si la instancia se agregó manualmente al grupo pero no es gestionada por este, solo se quita del grupo y continúa ejecutándose.
Send Notification When Lifecycle Hook Takes Effect
El método utilizado para enviar notificaciones o ejecutar acciones cuando se activa un lifecycle hook. Valores válidos:
-
No Notification: Esta es la opción predeterminada.
-
MNS Topic: Seleccione un tema de MNS. Puede especificar un identificador de notificación que Auto Scaling incluye en cada mensaje para ayudarle a categorizar las notificaciones.
-
MNS Queue: Seleccione una cola de MNS. Puede especificar un identificador de notificación que Auto Scaling incluye en cada mensaje para ayudarle a categorizar las notificaciones.
-
OOS Template: Seleccione el tipo de plantilla a ejecutar y configure sus parámetros.
-
Los tipos de plantillas incluyen Public Templates y My Templates. Auto Scaling utiliza la plantilla seleccionada para ejecutar acciones personalizadas en las instancias.
Nota-
Para usar My Templates, primero debe crear sus propias plantillas. Para más información, consulte Create a template.
-
Para más información sobre las plantillas públicas, consulte Public templates.
-
-
Configure los parámetros según sus requisitos empresariales. Si necesita establecer el OOS RAM role, tenga en cuenta lo siguiente:
-
El rol de RAM debe poder ser asumido por OOS. La entidad de confianza debe ser un Alibaba Cloud Service y el servicio de confianza debe ser OOS. Para más información, consulte Procedure.
-
El rol de RAM debe tener permisos para gestionar recursos de ECS, ECI y Auto Scaling. Para obtener la política requerida, haga clic en View Authorization Policy. Para más información sobre cómo otorgar permisos a un rol de RAM, consulte Create and authorize a RAM role for OOS.
NotaPara más ejemplos sobre cómo configurar parámetros de plantilla, consulte Overview of best practices for lifecycle hooks and OOS templates.
-
-
-
Event Bus: Después de seleccionar un bus de eventos de EventBridge, el sistema genera diferentes tipos de notificaciones de ciclo de vida cuando ocurre una actividad de escalado en el grupo. Puede identificar y manejar los eventos basándose en estas notificaciones.
-
-
Haga clic en OK.
Una vez creado el lifecycle hook, puede consultarlo en la pestaña Lifecycle Hook de la página de detalles del grupo de escalado.
Si Auto Scaling activa una actividad de escalado aplicable al lifecycle hook, el estado de la instancia ECS o ECI afectada cambia a Pending.
Modificar o eliminar un lifecycle hook
Puede modificar o eliminar un lifecycle hook según cambien sus necesidades empresariales.
Inicie sesión en la Auto Scaling console.
En el panel de navegación izquierdo, haga clic en Scaling Groups.
En la barra de navegación superior, seleccione una región.
En la página Scaling Groups, busque el grupo de escalado que desea gestionar y haga clic en View Details en la columna Actions.
En la página de detalles del grupo de escalado, haga clic en la pestaña Event and adhesive hook y luego vaya a la sección Lifecycle Hook.
-
Modifique o elimine el lifecycle hook.
Modificar un lifecycle hook
Puede modificar las propiedades de un lifecycle hook en lugar de volver a crearlo.
Busque el lifecycle hook que desea gestionar y haga clic en Edit en la columna Actions.
-
Modifique la configuración del lifecycle hook y haga clic en OK.
No es posible modificar el nombre de un lifecycle hook. Para ver las descripciones de los demás parámetros, consulte Step 7 en la sección "Crear un lifecycle hook".
Eliminar un lifecycle hook
Elimine un lifecycle hook para liberar la cuota de hooks. Puede eliminar un hook incluso mientras pausa una actividad de escalado.
ImportanteSi elimina un lifecycle hook mientras mantiene una instancia en estado Pending, dicho estado finaliza inmediatamente para esa instancia.
-
Busque uno o más lifecycle hooks que desee eliminar y proceda a borrarlos.
Para eliminar un solo hook: En la columna Actions correspondiente al hook, haga clic en Delete.
Para eliminar varios hooks: Seleccione los hooks que desea eliminar y haga clic en Delete en la parte inferior de la lista de lifecycle hooks.
En el mensaje que aparece, haga clic en OK.
Deshabilitar o habilitar un lifecycle hook
Después de crear un lifecycle hook, este se encuentra en estado Active de forma predeterminada. Puede deshabilitar o habilitar un lifecycle hook según sea necesario.
Inicie sesión en la Auto Scaling console.
En el panel de navegación izquierdo, haga clic en Scaling Groups.
En la barra de navegación superior, seleccione una región.
En la página Scaling Groups, busque el grupo de escalado que desea gestionar y haga clic en View Details en la columna Actions.
En la página de detalles del grupo de escalado, haga clic en la pestaña Event and adhesive hook y luego vaya a la sección Lifecycle Hook.
-
Deshabilite o habilite el lifecycle hook.
Deshabilitar un lifecycle hook
Deshabilite un lifecycle hook que no necesite temporalmente.
Busque el lifecycle hook que desea gestionar y haga clic en Pause en la columna Actions.
En el mensaje que aparece, haga clic en OK.
Habilitar un lifecycle hook
Habilite un lifecycle hook deshabilitado cuando vuelva a necesitarlo.
Busque el lifecycle hook que desea gestionar y haga clic en Enable en la columna Actions.
En el mensaje que aparece, haga clic en OK.
Referencias
CreateLifecycleHook: Crea un lifecycle hook.
ModifyLifecycleHook: Modifica un lifecycle hook.
DeleteLifecycleHook: Elimina un lifecycle hook.
CompleteLifecycleAction: Finaliza el estado Pending de una acción de ciclo de vida antes de que expire el periodo de tiempo de espera.