Creación de reglas de Amazon EventBridge para monitorear eventos de flota de spot - Amazon Elastic Compute Cloud

Creación de reglas de Amazon EventBridge para monitorear eventos de flota de spot

Cuando se emite una notificación de un cambio de estado para una flota de spot, el evento de la notificación se envía a Amazon EventBridge en forma de un archivo JSON. Puede escribir una regla de EventBridge para automatizar qué acciones tomar cuando el patrón de eventos coincida con la regla. Si EventBridge detecta un patrón de eventos que coincide con un patrón definido en una regla, EventBridge invoca un destino (o destinos) especificado(s) en la regla.

Los siguientes campos forman el patrón de eventos definido en la regla:

"source": "aws.ec2spotfleet"

Identifica que el evento es de la flota de spot.

"detail-type": "EC2 Spot Fleet State Change"

Identifica el tipo de evento.

"detail": { "sub-type": "submitted" }

Identifica el subtipo de evento.

Para obtener la lista de eventos de la flota de spot y datos de eventos de ejemplo, consulte Tipos de eventos de flota de spot.

Crear una regla de EventBridge para enviar una notificación

En el ejemplo siguiente se crea una regla de EventBridge para enviar un email, un mensaje de texto o una notificación push móvil cada vez que Amazon EC2 emite una notificación de cambio de estado de la flota de spot. La señal de este ejemplo se emite como un evento de EC2 Spot Fleet State Change, lo que desencadena la acción definida por la regla. Antes de crear la regla de EventBridge, debe crear el tema de Amazon SNS para el email, el mensaje de texto o la notificación push móvil.

Para crear una regla de EventBridge a fin de enviar una notificación cuando el estado de la flota de spot cambia
  1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  2. Elija Crear regla.

  3. En Definir detalle de la regla, haga lo siguiente:

    1. Ingrese un Nombre para la regla y, opcionalmente, una descripción.

      Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

    2. En Bus de eventos, elija Predeterminado. Cuando un servicio de AWS en su cuenta emite un evento, siempre se dirige al bus de eventos predeterminado de su cuenta.

    3. En Tipo de regla, elija Regla con un patrón de evento.

    4. Elija Siguiente.

  4. En Crear patrón de evento, realice una de las siguientes acciones:

    1. En Origen del evento, elija Eventos o eventos de socios de EventBridge de AWS.

    2. En Patrón del evento, en este ejemplo, especificará el siguiente patrón de evento para que coincida con el evento EC2 Spot Fleet Instance Change.

      { "source": ["aws.ec2spotfleet"], "detail-type": ["EC2 Spot Fleet Instance Change"] }

      Para agregar el patrón de evento, puede utilizar una plantilla por medio de la opción Formulario de patrón de evento o puede especificar su propio patrón por medio de la opción Patrón personalizado (editor de JSON), de la siguiente manera:

      1. Para utilizar una plantilla con el objetivo de crear el patrón de evento, haga lo siguiente:

        1. Seleccione Formulario de patrón de evento.

        2. En Origen del evento, elija Servicios de AWS.

        3. En Servicio de AWS, elija Flota de spot de EC2.

        4. En Tipo de evento, elija Cambio de instancia de la flota de spot de EC2.

        5. Para personalizar la plantilla, elija Editar patrón y realice los cambios para que coincidan con el patrón de evento de ejemplo.

      2. (Alternativa) Para especificar un patrón de evento personalizado, haga lo siguiente:

        1. Elija Custom pattern (JSON editor) (Patrón personalizado [editor de JSON]).

        2. En el casillero Patrón de evento, agregue el patrón de eventos de este ejemplo.

    3. Elija Siguiente.

  5. En Seleccionar destino, realice una de las siguientes acciones:

    1. En Tipos de destino, elija Servicio de AWS.

    2. En Seleccionar un destino, elija Tema de SNS para enviar un email, un mensaje de texto o una notificación push móvil cuando se produzca el evento.

    3. En Tema, elija un tema existente. Primero debe crear un tema de Amazon SNS mediante la consola de Amazon SNS. A fin de obtener más información, consulte Uso de Amazon SNS para mensajería de aplicación a persona (A2P) en Guía para desarrolladores de Amazon Simple Notification Service.

    4. (Opcional) En Configuración adicional, puede configurar opciones adicionales. Para obtener más información, consulte Creación de reglas de EventBridge que reaccionan a eventos (paso 16) en la Guía del usuario de Amazon EventBridge.

    5. Elija Siguiente.

  6. (Opcional) En Etiquetas, puede asignar una o varias etiquetas a la regla y, a continuación, elija Siguiente.

  7. En Revisar y crear, realice una de las siguientes acciones:

    1. Revise los detalles de la regla y modifíquelos según sea necesario.

    2. Elija Crear regla.

Para obtener más información, consulte Reglas de Amazon EventBridge y Patrones de eventos de Amazon EventBridge en la Guía del usuario de Amazon EventBridge.

Crear una regla de EventBridge para desencadenar una función de Lambda

En el ejemplo siguiente se crea una regla de EventBridge para desencadenar una función de Lambda cada vez que Amazon EC2 emite una notificación de cambio de instancia de la flota de spot. La señal de este ejemplo se emite como un evento de EC2 Spot Fleet Instance Change, subtipo launched, lo que desencadena la acción definida por la regla.

Antes de crear la regla de EventBridge, debe crear la función de Lambda.

Para crear la función de Lambda que se utilizará en la regla de EventBridge
  1. Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.

  2. Elija Crear función.

  3. Ingrese un nombre para su función, configure el código y luego elija Crear función.

    Para obtener más información sobre el uso de Lambda, consulte Crear una función de Lambda con la consola en la Guía para desarrolladores de AWS Lambda.

Para crear una regla EventBridge a fin de desencadenar una función de Lambda cuando una instancia de una flota de spot cambia de estado
  1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  2. Elija Crear regla.

  3. En Definir detalle de la regla, haga lo siguiente:

    1. Ingrese un Nombre para la regla y, opcionalmente, una descripción.

      Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

    2. En Bus de eventos, elija Predeterminado. Cuando un servicio de AWS en su cuenta emite un evento, siempre se dirige al bus de eventos predeterminado de su cuenta.

    3. En Tipo de regla, elija Regla con un patrón de evento.

    4. Elija Siguiente.

  4. En Crear patrón de evento, realice una de las siguientes acciones:

    1. En Origen del evento, elija Eventos o eventos de socios de EventBridge de AWS.

    2. En Patrón del evento, en este ejemplo, especificará el siguiente patrón de evento para que coincida con el evento EC2 Spot Fleet Instance Change y el subtipo launched.

      { "source": ["aws.ec2spotfleet"], "detail-type": ["EC2 Spot Fleet Instance Change"], "detail": { "sub-type": ["launched"] }

      Para agregar el patrón de evento, puede utilizar una plantilla por medio de la opción Formulario de patrón de evento o puede especificar su propio patrón por medio de la opción Patrón personalizado (editor de JSON), de la siguiente manera:

      1. Para utilizar una plantilla con el objetivo de crear el patrón de evento, haga lo siguiente:

        1. Seleccione Formulario de patrón de evento.

        2. En Origen del evento, elija Servicios de AWS.

        3. En Servicio de AWS, elija Flota de spot de EC2.

        4. En Event type (Tipo de evento), elija EC2 Spot Fleet Instance Change (Cambio de instancia de la flota de spot de EC2).

        5. Elija Edit pattern (Editar patrón) y agregue "detail": {"sub-type": ["launched"] para que coincida con el patrón de evento de ejemplo. Para obtener el formato JSON adecuado, inserte una coma (,) después del corchete anterior (]).

      2. (Alternativa) Para especificar un patrón de evento personalizado, haga lo siguiente:

        1. Elija Custom pattern (JSON editor) (Patrón personalizado [editor de JSON]).

        2. En el casillero Patrón de evento, agregue el patrón de eventos de este ejemplo.

    3. Elija Siguiente.

  5. En Seleccionar destino, realice una de las siguientes acciones:

    1. En Tipos de destino, elija Servicio de AWS.

    2. En Seleccionar un destino, elija Tema de SNS para enviar un email, un mensaje de texto o una notificación push móvil cuando se produzca el evento.

    3. En Tema, elija Función de Lambda y en Función, elija la función que creó para responder cuando se produzca el evento.

    4. (Opcional) En Configuración adicional, puede configurar opciones adicionales. Para obtener más información, consulte Creación de reglas de EventBridge que reaccionan a eventos (paso 16) en la Guía del usuario de Amazon EventBridge.

    5. Elija Siguiente.

  6. (Opcional) En Etiquetas, puede asignar una o varias etiquetas a la regla y, a continuación, elija Siguiente.

  7. En Revisar y crear, realice una de las siguientes acciones:

    1. Revise los detalles de la regla y modifíquelos según sea necesario.

    2. Elija Crear regla.

Para obtener un tutorial sobre cómo crear una función de Lambda y una regla de EventBridge que ejecute la función de Lambda, consulte Tutorial: registrar el estado de una instancia de Amazon EC2 mediante EventBridge en la Guía para desarrolladores de AWS Lambda.