Este tema describe el concepto, los flujos de trabajo, los casos de uso y las limitaciones de los hooks de ciclo de vida.
Qué es un hook de ciclo de vida
Un hook de ciclo de vida es una herramienta que gestiona el ciclo de vida de instancias ECS o ECI dentro de un grupo de escalado. Cuando Auto Scaling desencadena una actividad de escalado, el hook de ciclo de vida coloca las instancias afectadas en un estado de espera. Esta pausa le da tiempo para ejecutar acciones personalizadas antes de que finalice el periodo de tiempo de espera del hook.
Un hook de ciclo de vida admite la siguiente configuración:
Para aprender a configurar hooks de ciclo de vida, consulte Create a lifecycle hook.
Función | Descripción |
Tipo de actividad de escalado | El tipo de actividad de escalado que activa el hook de ciclo de vida, lo cual coloca una instancia en estado de espera. Solo se admiten actividades de escalado horizontal y reducción horizontal. Por ejemplo:
|
Periodo de tiempo de espera | El tiempo que una instancia puede permanecer en estado de espera antes de que expire el hook de ciclo de vida. Este periodo le permite ejecutar acciones personalizadas. Establezca un periodo de tiempo de espera que satisfaga sus requisitos empresariales. Si no completa sus acciones personalizadas dentro de este lapso, el sistema aplica la Default Execution Policy. Puede finalizar el estado de espera en cualquier momento si elimina el hook de ciclo de vida o llama a la operación de API CompleteLifecycleAction. |
Directiva de ejecución predeterminada | La acción que se toma cuando expira el estado de espera de una instancia. Puede elegir continuar o abandonar la actividad de escalado.
Nota Esta nota aplica solo cuando el Notification Method de un hook de ciclo de vida está configurado con una plantilla de OOS. Si la ejecución de la plantilla OOS termina antes de que concluya el periodo de tiempo de espera, la acción subsiguiente depende exclusivamente del resultado de dicha ejecución. Si la plantilla se ejecuta correctamente, la actividad de escalado continúa. Si falla, se revierte la actividad de escalado horizontal, mientras que la reducción horizontal prosigue. |
Notificación | Cuando se activa un hook de ciclo de vida, puede optar por enviar una notificación o ejecutar automáticamente acciones adicionales. Por ejemplo, puede usar MNS para recibir notificaciones que requieran intervención manual, o utilizar una plantilla de OOS para automatizar tareas. Nota El uso de MNS genera cargos. Para más información, consulte MNS pricing. |
Flujos de trabajo
Los siguientes diagramas de flujo utilizan una instancia ECS como ejemplo. Los flujos de trabajo para una instancia ECI son similares.
Figura 1. Proceso de escalado horizontal 
Figura 2. Diagrama de flujo de reducción horizontal 
La siguiente tabla describe los conceptos clave de las figuras.
Concepto | Descripción |
Hook de ciclo de vida | Herramienta que gestiona el ciclo de vida de instancias ECS o ECI en un grupo de escalado. Para más información, consulte What is a lifecycle hook. |
Ciclo de vida de la instancia gestionado por el grupo de escalado | El grupo de escalado administra íntegramente el ciclo de vida de la instancia. Para más detalles sobre este ciclo, consulte Instance lifecycle. El comportamiento varía según cómo se haya creado la instancia:
|
Ciclo de vida de la instancia no gestionado por el grupo de escalado | Una instancia ECS o ECI creada manualmente se agrega al grupo de escalado, pero el grupo no gestiona todo su ciclo de vida. Durante una reducción horizontal, Auto Scaling quita la instancia del grupo, pero no la libera. Nota Puede agregar instancias ECS de suscripción a un grupo de escalado, pero el grupo no puede gestionar sus ciclos de vida. |
Casos de uso
Los hooks de ciclo de vida son ideales para escenarios donde las instancias ECS o ECI requieren acciones personalizadas antes de entrar en servicio o ser terminadas.
-
Las instancias agregadas durante un escalado horizontal no están listas de inmediato para atender solicitudes de clientes.
Por ejemplo, una instancia ECS podría necesitar conectarse a una instancia de ApsaraDB RDS, adjuntar una interfaz de red elástica secundaria o esperar a que inicie su aplicación.
-
Las instancias retiradas durante una reducción horizontal no deben terminarse inmediatamente.
Por ejemplo, podría ser necesario realizar una copia de seguridad de los datos, copiar registros o esperar a que la instancia termine de procesar solicitudes de clientes en curso.
Para más información, consulte Overview of best practices for lifecycle hooks and OOS templates y Use lifecycle hooks to ensure service availability.
Limitaciones
Puede crear un máximo de 10 hooks de ciclo de vida por cada grupo de escalado.
-
Mientras una actividad de escalado está en curso, la capacidad de ejecutar otras actividades depende de si se configuró la función Expected Number of Instances:
Si no se configuró Expected Number of Instances para el grupo de escalado, el grupo rechaza otras actividades de escalado.
Si se configuró Expected Number of Instances para el grupo de escalado, este solo puede ejecutar otras actividades de escalado si la actividad actual es paralela. Para más información sobre actividades de escalado paralelas, consulte Basic concepts.
Cómo configurar hooks de ciclo de vida
La siguiente tabla enumera la documentación para configurar hooks de ciclo de vida.
Documentación de la consola | Acciones | Referencia de API |
Crear un hook de ciclo de vida | ||
Modificar un hook de ciclo de vida | ||
Eliminar un hook de ciclo de vida |