Tutorial: Registre el estado de un grupo de Auto Scaling usando EventBridge - Amazon EventBridge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Registre el estado de un grupo de Auto Scaling usando EventBridge

Puede ejecutar una AWS Lambdafunción que registre un evento cada vez que un grupo de Auto Scaling lance o finalice una EC2 instancia de Amazon que indique si un evento se ha realizado correctamente.

Para obtener información sobre más escenarios que utilizan eventos de Amazon EC2 Auto Scaling, consulte Uso EventBridge para gestionar eventos de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.

En este tutorial, crea una función Lambda y crea una regla en la EventBridge consola que llama a esa función cuando un grupo de Amazon EC2 Auto Scaling lanza o termina una instancia.

Requisitos previos

Para completar este tutorial necesitará los siguientes recursos:

Paso 1: Crear una función de Lambda

Cree una función de Lambda para registrar los eventos de escalado ascendente y descendente para su grupo de escalado automático.

Cómo crear una función de Lambda
  1. Abra la AWS Lambda consola en https://console.aws.amazon.com/lambda/.

  2. Elija Crear función.

  3. Elija Crear desde cero.

  4. Escriba el nombre de la función de Lambda. Por ejemplo, asigne un nombre a la función LogAutoScalingEvent.

  5. Deje el resto de las opciones como predeterminadas y elija Crear función.

  6. En la pestaña Código de la página de funciones, haga doble clic en index.js.

  7. Sustituya el código existente por el código siguiente.

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. Elija Deploy (Implementar).

Paso 2: Crear una regla

Cree una regla para ejecutar la función de Lambda que creó en el paso 1. La regla se ejecuta cuando el grupo de escalado automático inicia o detiene una instancia.

Para crear una regla
  1. Abre la EventBridge consola de Amazon en https://console.aws.amazon.com/events/.

  2. En el panel de navegación, seleccione Reglas.

  3. Elija Crear regla.

  4. Escriba un nombre y una descripción para la regla. Por ejemplo, llame a la regla TestRule

  5. En Bus de eventos, elija el bus de eventos que desea asociar a esta regla. Si desea que esta regla coincida con eventos procedentes de su cuenta, seleccione predeterminado. Cuando un servicio de AWS en la cuenta emite un evento, siempre va al bus de eventos predeterminado de la cuenta.

  6. En Tipo de regla, seleccione Regla con un patrón de eventos.

  7. Seleccione Siguiente.

  8. En Origen de evento, seleccione Servicios de AWS .

  9. En Event pattern (Patrón de evento), realice una de las siguientes acciones:

    1. En Origen del evento, seleccione Escalado automático en la lista desplegable.

    2. En Tipo de evento, seleccione Lanzamiento y finalización de la instancia en la lista desplegable.

    3. Elija Cualquier evento de instancia y Cualquier nombre de grupo.

  10. Seleccione Siguiente.

  11. En Tipos de destino, seleccione Servicio de AWS .

  12. En Seleccionar un destino, elija Función de Lambda en la lista desplegable.

  13. En Función, seleccione la función de Lambda que creó en la sección Paso 1: Crear una función de Lambda. En este ejemplo, seleccione LogAutoScalingEvent.

  14. Elija Siguiente.

  15. Seleccione Siguiente.

  16. Revise los detalles de la regla y seleccione Crear regla.

Paso 3: Probar la regla

Puede probar la regla manualmente escalando un grupo de escalado automático para que lance una instancia. Espere unos minutos a que se produzca el evento de escalado ascendente y, a continuación, verifique que la función de Lambda se ha invocado.

Para probar la regla con un grupo de escalado automático
  1. Para aumentar el tamaño de su grupo de escalado automático, haga lo siguiente:

    1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

    2. En el panel de navegación, seleccione Escalado automático, Grupo de escalado automático.

    3. Seleccione la casilla del grupo de escalado automático correspondiente.

    4. En la pestaña Details, seleccione Edit. En Desired, aumente la capacidad deseada en 1. Por ejemplo, si el valor actual es 2, introduzca 3. La capacidad deseada debe ser menor o igual que el tamaño máximo del grupo. Si el nuevo valor de Desired es mayor que Max, debe actualizar Max. Cuando haya terminado, elija Save.

  2. Para ver la salida de la función de Lambda, haga lo siguiente:

    1. Abre la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/.

    2. En el panel de navegación, elija Logs (Registros).

    3. Seleccione el nombre del grupo de registros para la función de Lambda (/aws/lambda/function-name).

    4. Seleccione el nombre del flujo de registro para ver los datos proporcionados por la función para la instancia que ha lanzado.

  3. (Opcional) Cuando haya terminado, puede reducir la capacidad deseada en uno para que el grupo de escalado automático vuelva a su tamaño anterior.

Paso 4: Confirmar el éxito

Si ve el evento Lambda en los CloudWatch registros, significa que ha completado correctamente este tutorial. Si el evento no está en sus CloudWatch registros, comience a solucionar problemas verificando que la regla se haya creado correctamente y, si la regla parece correcta, compruebe que el código de la función Lambda sea correcto.

Paso 5: Eliminar los recursos

A menos que desee conservar los recursos que creó para este tutorial, puede eliminarlos ahora. Al eliminar AWS los recursos que ya no utilizas, evitas que se hagan cargos innecesarios a tu AWS cuenta.

Para eliminar la (s) EventBridge regla (s)
  1. Abre la página de reglas de la EventBridge consola.

  2. Seleccione las reglas que creó.

  3. Elija Eliminar.

  4. Elija Eliminar.

Para eliminar las funciones de Lambda
  1. Abra la página de Funciones en la consola de Lambda.

  2. Seleccione las funciones que creó.

  3. Elija Actions (Acciones), Delete (Eliminar).

  4. Elija Eliminar.