Uso de AWS Lambda con Amazon CloudWatch Events - AWS Lambda

Uso de AWS Lambda con Amazon CloudWatch Events

Eventos de Amazon CloudWatch le ayuda a responder a los cambios de estado de los recursos de AWS. Cuando cambia el estado de los recursos, estos envían automáticamente eventos a un flujo de eventos. Puede crear reglas que coincidan con los eventos seleccionados en el flujo y los transfieran a una función de AWS Lambda para realizar alguna acción. Por ejemplo, puede invocar automáticamente una función AWS Lambda para registrar el estado de una instancia EC2 o un grupo de AutoScaling.

Eventos de CloudWatch invoca su función de forma asíncrona con un documento de evento que envuelve el evento desde su origen. En el siguiente ejemplo se muestra un evento que se originó a partir de una instantánea de base de datos de Amazon Relational Database Service.

ejemplo Eventos de CloudWatch event

{ "version": "0", "id": "fe8d3c65-xmpl-c5c3-2c87-81584709a377", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "123456789012", "time": "2020-04-28T07:20:20Z", "region": "us-east-2", "resources": [ "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1" ], "detail": { "EventCategories": [ "backup" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-2:123456789012:db:rdz6xmpliljlb1", "Date": "2020-04-28T07:20:20.112Z", "Message": "Finished DB Instance backup", "SourceIdentifier": "rdz6xmpliljlb1" } }

También puede crear una función Lambda y configurar AWS Lambda para que la ejecute de manera periódica. Puede especificar una frecuencia fija (por ejemplo, invocar una función Lambda cada hora o cada 15 minutos), o puede especificar una expresión Cron.

ejemplo Evento de mensaje de Eventos de CloudWatch

{ "version": "0", "account": "123456789012", "region": "us-east-2", "detail": {}, "detail-type": "Scheduled Event", "source": "aws.events", "time": "2019-03-01T01:23:45Z", "id": "cdc73f9d-aea9-11e3-9d5a-835b769c0d9c", "resources": [ "arn:aws:events:us-east-2:123456789012:rule/my-schedule" ] }

Para configurar Eventos de CloudWatch para invocar su función

  1. Abra la Página de funciones en la consola de Lambda.

  2. Elija una función.

  3. En Function overview (Descripción general de la función), elija Add trigger (Agregar disparador).

  4. Establezca el tipo de desencadenador en EventBridge(Eventos de CloudWatch).

  5. En Rule (Regla), elija Create a new rule (Crear una nueva regla).

  6. Configure las opciones restantes y elija Añadir.

Para obtener más información sobre las expresiones de programación, consulte Programación de expresiones con rate o cron.

Cada cuenta de AWS puede tener un máximo de 100 orígenes de eventos exclusivos de tipo Eventos de CloudWatch - Schedule (Programación de CloudWatch). Cada uno de ellos puede ser el origen de eventos de hasta cinco funciones de Lambda. Es decir, puede tener hasta 500 funciones de Lambda que se ejecuten de forma programada en su cuenta de AWS.