GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear un evento en AWS Cloudwatch para activar una función Lambda

Los eventos de Amazon CloudWatch describen los cambios en los recursos de AWS. Podemos hacer coincidir eventos y enrutarlos a una o más funciones de destino. CloudWatch Events se entera de los cambios operativos a medida que ocurren, p. si se ha creado un recurso definido en la regla de Cloudwatch, la regla lo conocerá y, a cambio, activará una función de destino.

Antes de continuar y crear una regla de evento, entendamos los conceptos básicos.

  1. Eventos :
    Un evento significa que hay un cambio en el entorno de AWS.
  2. Reglas :
    Las reglas se utilizan para coincidir con el evento. Aquí se comparan y verifican los eventos.
  3. Objetivos :
    Aquí se procesan los eventos. Los destinos pueden incluir instancias de Amazon EC2, funciones de AWS Lambda, secuencias de Kinesis, tareas de Amazon ECS, máquinas de estado de Step Functions, temas de Amazon SNS, colas de Amazon SQS y destinos integrados.

En este artículo, crearemos una regla de eventos que verificará el evento de cambio de estado de EC2 y activará una función lambda. Si no conoce la función Lambda, haga clic aquí para crear una para usted. Lo que haga Lambda puede ser su elección, pero en este documento tengo un Lambda que elimina los volúmenes de EBS no utilizados. He mencionado el código Lambda en este artículo. También puede usar su propia función Lambda.

Requisitos previos

  1. Cuenta de AWS (cree si no tiene una).
  2. Función Lambda.

¿Qué haremos?

  1. Inicie sesión en AWS.
  2. Cree una regla de evento de Cloudwatch para activar una función Lambda.

Iniciar sesión en AWS

Haga clic aquí para ir a la página de inicio de sesión de AWS.

Cuando hagamos clic en el enlace anterior, veremos una página web como la siguiente en la que debemos iniciar sesión con nuestros datos de inicio de sesión.

Una vez que inicie sesión con éxito en su cuenta, verá la siguiente pantalla.

Crea un evento de Cloudwatch para activar una función Lambda

Para crear una regla de eventos de Cloudwatch, busque cloudwatch y haga clic en el resultado para ir al panel de control de Cloudwatch.

En el panel de control de Cloudwatch, haga clic en Reglas debajo de Eventos en el panel izquierdo.

Aquí, haga clic en "Crear regla" para crear su primera regla para activar una función Lambda en su región.

Seleccione el botón de radio "Patrón de evento", en Nombre del servicio, seleccione "EC2", seleccione "Notificación de cambio de estado de instancia EC2" para Tipo de evento.

Haga clic en Agregar objetivos para agregar una función Lambda existente como objetivo y haga clic en "Configurar detalles".

Haga clic aquí para aprender a crear una función Lambda para usted. Encuentre el siguiente código Lambda de referencia para usted.

Código Lambda:  Use este código para crear una función Lambda si no tiene 1 en su cuenta.

import boto3
ec2 = boto3.resource('ec2',region_name='eu-west-3')
 
def lambda_handler(event, context):
    for vol in ec2.volumes.all():
        if  vol.state=='available':
            if vol.tags is None:
                vid=vol.id
                v=ec2.Volume(vol.id)
                v.delete()
                print ('EBS Volume Deleted ' +vid)
                continue
            for tag in vol.tags:
                if tag['Key'] == 'Name':
                    value=tag['Value']
                    if value != 'DoNNotDel' and vol.state=='available':
                        vid=vol.id
                        v=ec2.Volume(vol.id)
                        v.delete()
                        print ('EBS Volume Deleted ' +vid) 

Dale un nombre al evento junto con la descripción y haz clic en "Crear regla".

Esto creará una regla de evento que activará una función Lambda de destino cada vez que haya un cambio en el estado de las instancias EC2.

Conclusión

En este artículo, vimos cómo crear una regla de evento de Cloudwatch que indica el cambio en el estado de la instancia EC2 y activa la función Lambda cuando la regla coincide con el evento. Puede seleccionar el objetivo de su elección.


Linux
  1. Cómo crear y agregar un volumen de EBS en una instancia de AWS (EC2)

  2. Cómo enviar registros de aplicaciones de Linux a AWS CloudWatch

  3. Cómo crear una instancia RDS en AWS usando Terraform

  4. Cómo crear un rol de IAM en AWS usando Terraform

  5. Cómo crear y llamar funciones en Bash

Cómo crear una instancia Amazon AWS EC2 usando Python Boto3

Cómo crear un depósito S3 usando Python Boto3 en AWS

Cómo crear un tema de SNS y un suscriptor en AWS

Cómo crear una tabla de DynamoDB en AWS

Cómo crear un clúster de Kubernetes con AWS CLI

Cómo usar Cloudformation para crear colas SQS en AWS