Adición de enlaces de ciclo de vida - Amazon EC2 Auto Scaling

Adición de enlaces de ciclo de vida

Una vez que el destino de notificación esté configurado y listo para usar, agregue el enlace de ciclo de vida para que la notificación del evento se pueda utilizar para realizar la acción personalizada cuando se produzca el evento del ciclo de vida correspondiente.

Existen dos tipos de enlaces de ciclo de vida que se pueden implementar: enlaces de ciclo de vida de lanzamiento y enlaces de ciclo de vida de terminación. Utilice un enlace de ciclo de vida de lanzamiento para preparar instancias para su uso o para retrasar el registro de instancias detrás del balanceador de carga antes de que su configuración se haya aplicado por completo. Utilice un enlace de ciclo de vida de terminación para preparar las instancias de ejecución que se van a cerrar.

Preste atención a la siguiente configuración al crear el enlace de ciclo de vida:

  • Heartbeat timeout (Tiempo de espera de latidos): esta configuración especifica cuánto tiempo debe pasar antes de que el enlace se agote. El rango va de 30 a 7200 segundos. El valor predeterminado es de una hora (3600 segundos). Durante el tiempo de espera, por ejemplo, puede instalar aplicaciones o descargar registros u otros datos.

  • Default result (Resultado predeterminado): esta configuración define la acción que se debe realizar cuando termina el tiempo de espera del enlace de ciclo de vida o cuando se produce un error inesperado. Puede elegir abandon (abandonar) (opción predeterminada) o continue (continuar).

    • Si la instancia se está iniciando, continuar indica que las acciones se realizaron correctamente y que el grupo de Auto Scaling puede poner la instancia en servicio. Por el contrario, abandonar indica que las acciones personalizadas no se realizaron correctamente y que Amazon EC2 Auto Scaling puede terminar la instancia.

    • Si la instancia está terminando, tanto abandonar como continuar permiten terminar la instancia. Sin embargo, abandonar detiene todas las acciones restantes, como otros enlaces de ciclo de vida, mientras que continuar permite que todos los demás enlaces de ciclo de vida se completen.

Adición de enlaces de ciclo de vida (consola)

Siga estos pasos para agregar un enlace de ciclo de vida a un grupo de Auto Scaling existente. Puede especificar si se va a utilizar el enlace cuando se lancen o se terminen las instancias, y cuánto tiempo debe esperarse hasta que se complete el enlace de ciclo de vida antes de abandonarlo o continuar.

Para agregar un enlace de ciclo de vida

  1. Abra la consola de Amazon EC2 Auto Scaling en https://console.aws.amazon.com/ec2autoscaling/.

  2. Seleccione la casilla situada junto al grupo de Auto Scaling.

    Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto Scaling).

  3. En la pestaña Instance management (Administración de instancias), en Lifecycle hooks (Enlaces de ciclo de vida), elija Create lifecycle hook (Crear enlace de ciclo de vida).

  4. Para definir un enlace de ciclo de vida, haga lo siguiente:

    1. En Lifecycle hook name (Nombre del enlace de ciclo de vida), especifique un nombre para el enlace de ciclo de vida.

    2. En Lifecycle transition (Transición del ciclo de vida), seleccione Instance launch (Lanzamiento de instancia) o Instance terminate (Terminación de instancia).

    3. Especifique un tiempo de espera en Heartbeat timeout (Tiempo de espera de latido), lo que le permitirá controlar el tiempo que las instancias deben permanecer en estado de espera.

    4. En Default result (Resultado predeterminado), especifique la acción que el grupo de Auto Scaling va a realizar cuando transcurra el tiempo de espera del enlace de ciclo de vida o si se produce un error inesperado.

    5. (Opcional) En Notification metadata (Metadatos de notificación), especifique cualquier información adicional que desee incluir cuando Amazon EC2 Auto Scaling envíe un mensaje al destino de notificación.

  5. Elija Create (Crear).

Adición de enlaces de ciclo de vida (AWS CLI)

Cree y actualice enlaces de ciclo de vida mediante el comando put-lifecycle-hook.

Para realizar una acción de escalado ascendente, utilice el siguiente comando.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-hook --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING

Para realizar una acción de escalado descendente, utilice el siguiente comando.

aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-hook --auto-scaling-group-name my-asg \ --lifecycle-transition autoscaling:EC2_INSTANCE_TERMINATING

Para recibir notificaciones a través de Amazon SNS o Amazon SQS, debe especificar un destino de notificación y un rol de IAM. Para obtener más información, consulte Configuración de un destino de notificaciones de un enlace de ciclo de vida.

Por ejemplo, añada las siguientes opciones para especificar un tema de SNS como destino de la notificación.

--notification-target-arn arn:aws:sns:region:123456789012:my-sns-topic --role-arn arn:aws:iam::123456789012:role/my-notification-role

El tema recibe una notificación de prueba con el siguiente par de clave-valor.

"Event": "autoscaling:TEST_NOTIFICATION"