Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-07 GMT+08:00

Gestión de ganchos del ciclo de vida

Los ganchos de ciclo de vida le permiten controlar de forma flexible la adición y eliminación de instancias ECS en grupos AS y gestionar el ciclo de vida de instancias ECS en grupos AS. Figura 1 muestra el ciclo de vida de la instancia cuando no se agrega ningún enlace de ciclo de vida a un grupo AS.

Figura 1 Ciclo de vida de la instancia cuando no se agrega ningún enlace de ciclo de vida a un grupo AS

Figura 2 muestra el ciclo de vida de la instancia cuando se agrega un gancho de ciclo de vida a un grupo AS.

Figura 2 Ciclo de vida de la instancia cuando se agrega un gancho de ciclo de vida a un grupo AS

Cuando el grupo AS escala dentro o fuera, los ganchos de ciclo de vida agregados se activan, la acción de ajuste se suspende y la instancia que se está agregando o quitado se pone en un estado de espera, como se muestra en 2 y 6 en Figura 2. Durante este período de tiempo, puede realizar algunas operaciones personalizadas en la instancia. Por ejemplo, puede instalar o configurar software en una instancia que se agregue al grupo AS. Una acción de escalar suspendida se reanudará si se produce alguna de las siguientes situaciones:

  • La instancia ha estado en el estado de espera más tiempo que el período de tiempo de espera.
  • Se realiza una acción de devolución de llamada para finalizar el estado de espera de instancia.

Escenarios de la aplicación

  • Las instancias recién agregadas a un grupo AS deben inicializarse antes de vincularse a un oyente del balanceador de carga. La inicialización significa que el software está instalado y configurado y la instancia está completamente lista para aceptar tráfico.
  • Para eliminar una instancia de un grupo AS, primero debe estar desvinculada del oyente del balanceador de carga, deja de aceptar nuevas solicitudes y termina de procesar las solicitudes aceptadas.
  • Antes de eliminar instancias de un grupo AS, es posible que necesite realizar una copia de seguridad de los datos o descargar registros.
  • Otros escenarios en los que se deben realizar operaciones personalizadas

Cómo funcionan los ganchos del ciclo de vida

Después de agregar ganchos de ciclo de vida a un grupo AS, funcionan de la siguiente manera:

  • Adición de una instancia de ECS a un grupo AS

    Cuando se inicializa una instancia y se agrega a un grupo AS, se activa automáticamente un gancho de ciclo de vida del tipo de Instance adding. La instancia ingresa el estado Wait (Adding to AS group), es decir, la instancia está suspendida por el gancho de ciclo de vida. Si ha configurado un objeto de notificación, el sistema envía un mensaje al objeto. Después de recibir el mensaje, puede realizar operaciones personalizadas, por ejemplo, instalar software en la instancia. La instancia permanece en estado de espera hasta que complete las operaciones personalizadas y realice una acción de devolución de llamada, o hasta que finalice el tiempo de espera. Después de que la instancia salga de un estado de espera, tendrá lugar la acción de devolución de llamada predeterminada especificada.

    • Continue: La instancia se agregará al grupo AS.
    • Abandon: Se eliminará la instancia y se creará una nueva instancia.

    Si ha configurado varios ganchos de ciclo de vida Instance adding, todos se activarán cuando se agregue una instancia al grupo AS. Si la acción de devolución de llamada predeterminada de cualquier gancho de ciclo de vida es Abandon, la instancia se eliminará y se creará una nueva instancia. Si la acción de devolución de llamada predeterminada de todos los ganchos del ciclo de vida es Continue, la instancia se agrega al grupo AS después de que se complete la suspensión por el último gancho del ciclo de vida.

  • Eliminación de una instancia de un grupo AS

    Cuando se elimina una instancia de un grupo AS, la instancia ingresa al estado Removing from AS group. Después de activar un gancho de ciclo de vida, la instancia ingresa el estado Wait (Removing from AS group). El sistema envía mensajes al objeto de notificación configurado. Después de recibir el mensaje, puede realizar operaciones personalizadas, como desinstalar software y realizar copias de seguridad de los datos. La instancia permanece en el estado de espera hasta que finalice las operaciones personalizadas y realice la operación de devolución de llamada predeterminada o hasta que finalice el tiempo de espera. Después de que la instancia salga de un estado de espera, tendrá lugar la acción de devolución de llamada predeterminada especificada.

    • Continue: la instancia se quita del grupo AS.
    • Abandon: la instancia se quita del grupo AS.

    Si ha configurado varios ganchos de ciclo de vida y la acción de devolución de llamada predeterminada de todos los ganchos de ciclo de vida es Continue, la instancia se eliminará del grupo AS hasta que se agote el tiempo de suspensión de los ganchos de ciclo de vida restantes. Si la acción de devolución de llamada predeterminada de cualquier gancho de ciclo de vida es Abandon, la instancia se eliminará directamente del grupo AS.

Restricciones

  • Puede agregar, modificar o eliminar un enlace de ciclo de vida cuando el grupo AS no realiza una acción de ajuste.
  • Se pueden agregar hasta cinco ganchos de ciclo de vida a un grupo AS.

Incorporación de un enlace de ciclo de vida

  1. Inicie sesión en la consola de gestión.
  2. En Compute, haga clic en Auto Scaling. En el panel de navegación a la izquierda, seleccione Instance Scaling (Ajuste de instancia). A continuación, haga clic en la ficha AS Groups.
  3. Haga clic en el nombre del grupo AS al que se va a agregar el enlace de ciclo de vida. En la página de detalles del grupo AS, haga clic en la ficha Lifecycle Hooks y, a continuación, en Add Lifecycle Hook.
  4. En el cuadro de diálogo Add Lifecycle Hook que se muestra, establezca los parámetros enumerados en Tabla 1.
    Tabla 1 Descripción del parámetro

    Parámetro

    Descripción

    Valor de ejemplo

    Hook Name

    Especifica el nombre del gancho del ciclo de vida. El nombre puede contener letras, dígitos, guiones bajos (_), y guiones (-) y no puede exceder los 32 caracteres.

    we12_w

    Hook Type

    Especifica el tipo de gancho del ciclo de vida. El valor puede ser Instance adding o Instance removal. Instance adding pone una instancia que se está agregando a un grupo AS en estado Wait (Adding to AS group). Instance removal pone una instancia que se está quitando de un grupo AS en estado Wait (Removing from AS group).

    Instance adding

    Default Callback Action

    Especifica la acción que realiza el sistema cuando una instancia sale de un estado de espera.

    La acción de devolución de llamada predeterminada para un gancho de ciclo de vida Instance adding puede ser Continue o Abandon:
    • Continue: Si se configuran varios ganchos de ciclo de vida para el grupo AS y la acción de devolución de llamada predeterminada de todos los ganchos es Continue, el sistema continuará agregando la instancia al grupo AS hasta que se agote el tiempo de espera de todos los ganchos de ciclo de vida.
    • Abandon: Si se configuran varios ganchos de ciclo de vida para el grupo AS y la acción de devolución de llamada predeterminada de un gancho de ciclo de vida es Abandon, el sistema eliminará la instancia y creará otra sin esperar a que se agote el tiempo de espera de los ganchos de ciclo de vida restantes.
    La acción de devolución de llamada predeterminada para un gancho de ciclo de vida Instance removal puede ser Continue o Abandon:
    • Continue: si solo se configura un gancho de ciclo de vida para el grupo AS, el sistema eliminará la instancia del grupo AS. Si se configuran varios ganchos de ciclo de vida para el grupo AS y las acciones de devolución de llamada predeterminadas de todos los ganchos son Continue, el sistema continuará quitando la instancia del grupo AS hasta que se agote el tiempo de espera de todos los ganchos de ciclo de vida.
    • Abandon: Si se configuran varios ganchos de ciclo de vida para el grupo AS y la acción de devolución de llamada predeterminada de un gancho de ciclo de vida es Abandon, el sistema continuará eliminando la instancia del grupo AS sin esperar a que se agote el tiempo de espera de los ganchos de ciclo de vida restantes.

    Continue

    Timeout Duration (s)

    Especifica la cantidad de tiempo para que las instancias permanezcan en estado de espera. El valor varía de 300s a 86400s. El valor predeterminado es 3600s.

    Puede ampliar el tiempo de espera o realizar una acción Continue o Abandon antes de que finalice el tiempo de espera. Para obtener más información sobre las acciones de devolución de llamada, consulte Realización de una acción de devolución de llamada.

    3600

    Notification Topic

    Especifica un objeto de notificación para un gancho de ciclo de vida. Para obtener más información, consulte "Creación de un tema" en la Guía del usuario de Simple Message Notification. Cuando el gancho de ciclo de vida suspende una instancia, el sistema envía una notificación al objeto. Esta notificación contiene la información básica de la instancia, el contenido de notificación personalizado y el token para controlar las acciones del ciclo de vida. Un ejemplo de notificación es el siguiente:

    {
     "service": "AutoScaling",
     "tenant_id": "93075aa73f6a4fc0a3209490cc57181a",
     "lifecycle_hook_type": "INSTANCE_LAUNCHING",
     "lifecycle_hook_name": "test02",
     "lifecycle_action_key": "4c76c562-9688-45c6-b685-7fd732df310a",
     "notification_metadata": "xxxxxxxxxxxxx",
     "scaling_instance": {
      "instance_id": "89b421e4-5fa6-4733-bf40-6b07a8657256",
      "instance_name": "as-config-kxeg_RM6OCREY",
      "instance_ip": "192.168.0.202"
     },
     "scaling_group": {
      "scaling_group_id": "fe376277-50a6-4e36-bdb0-685da85f1a82",
      "scaling_group_name": "as-group-wyz01",
      "scaling_config_id": "16ca8027-b6cc-45fc-af2d-5a79996f685d",
      "scaling_config_name": "as-config-kxeg"
     }
    }

    N/A

    Notification Message

    Después de configurar un objeto de notificación, el sistema envía su notificación personalizada al objeto.

    N/A

  5. Haga clic en OK.

    El gancho de ciclo de vida agregado se muestra en la página Lifecycle Hooks.

Realización de una acción de devolución de llamada

  1. En la página AS Groups, haga clic en el nombre del grupo AS de destino.
  2. En la página mostrada, haga clic en la ficha Instances.
  3. Busque la instancia suspendida por el enlace de ciclo de vida y haga clic en Wait (Adding to AS group) o Wait (Removing from AS group) en la columna Lifecycle Status.
    Figura 3 Realizar una acción de devolución de llamada

    Las acciones de devolución de llamada solo se pueden realizar en instancias suspendidas por un gancho de ciclo de vida.

  4. En el cuadro de diálogo Added Hook que se muestra, vea la instancia suspendida y todos los ganchos del ciclo de vida, y realice acciones de devolución de llamada en los ganchos del ciclo de vida.
    Figura 4 Cuadro de diálogo Gancho agregado

    Las acciones de devolución de llamada incluyen:

    • Continue
    • Abandon
    • Extend timeout

    Si ha realizado operaciones personalizadas antes de que finalice el tiempo de espera, seleccione Continue o Abandon para completar las acciones del ciclo de vida. Para más detalles sobre Continue y Abandon, véase Tabla 1. Si necesita más tiempo para las operaciones personalizadas, seleccione Extend timeout para ampliar el tiempo de espera. A continuación, la duración del tiempo de espera se extenderá en 3600 segundos cada vez.

Modificación de un enlace de ciclo de vida

En la página Lifecycle Hooks, busque el gancho del ciclo de vida de destino y haga clic en Modify en la columna Operation, consulte Tabla 1 para los parámetros. Puede modificar el parámetro excepto Hook Name, como Hook Type, Default Callback Action, y Timeout Duration.

Eliminación de un enlace de ciclo de vida

En la página Lifecycle Hooks, busque el gancho del ciclo de vida de destino y haga clic en Delete en la columna Operation.