Quiero usar una regla de Amazon EventBridge para crear una respuesta automatizada personalizada a las llamadas a la API de AWS CloudTrail.
Descripción corta
Para configurar una acción o notificación personalizada para una llamada a la API de CloudTrail, crea una regla de EventBridge con un patrón de eventos que coincida con el evento.
Resolución
Creación de una pista de CloudTrail
Nota: Debes configurar una pista de CloudTrail para capturar eventos y, a continuación, reenviar los eventos a EventBridge. La regla de EventBridge se inicia solo con una pista, incluso cuando tienes una coincidencia de patrón de eventos válida.
Para crear una pista de CloudTrail, sigue estos pasos:
- Abre la consola de CloudTrail.
- Ve a Pistas.
- Si ya existe una pista en la región en la que quieres crear la regla, asegúrate de que el estado esté establecido en Registro.
- Si no tienes una pista existente, elige Crear pista.
- En Nombre de la pista, introduce un nombre.
- En Ubicación de almacenamiento, elige Crear un nuevo bucket de S3.
- En Alias de AWS KMS, introduce un alias para la clave de AWS Key Management Service (AWS KMS).
- Selecciona Siguiente. A continuación, vuelve a elegir Siguiente.
- Selecciona Crear pista.
Para obtener más información, consulta Creación de una pista con la consola de CloudTrail.
Creación de un patrón de reglas y eventos de EventBridge
Nota: En el ejemplo de esta sección se utiliza la operación de API de Amazon Simple Queue Service (Amazon SQS), CreateQueue, para generar un evento. Cuando utilizas una operación de API de Amazon SQS, CloudTrail registra el evento generado y, a continuación, lo reenvía al bus de EventBridge predeterminado.
Para crear una regla y un patrón de eventos de EventBridge, sigue estos pasos:
- Abre la consola de EventBridge.
- En el panel de navegación, selecciona Reglas.
- Selecciona Crear regla.
- Introduce un nombre y una descripción para la regla, por ejemplo, TestRule.
- En Bus de eventos, elige el bus de eventos que desees asociar a la regla. Si quieres que la regla coincida con los eventos que provienen de tu cuenta, selecciona la opción predeterminada.
Nota: Cuando un servicio de AWS de tu cuenta crea un evento, el evento va al bus de eventos predeterminado de tu cuenta.
- En Tipo de regla, selecciona Regla con un patrón de eventos.
- Selecciona Siguiente.
- En Origen del evento, elige Servicios de AWS.
- Elige Patrón de eventos.
- En Origen del evento, elige SQS.
- En Tipo de evento, elige Llamada a la API de AWS a través de CloudTrail.
- Selecciona Operaciones específicas y, a continuación, escribe CreateQueue. En el siguiente ejemplo se muestra el patrón de eventos que resulta de las opciones que has seleccionado:
{ "source": ["aws.sqs"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["sqs.amazonaws.com"],
"eventName": ["CreateQueue"]
}
}
Nota: El patrón de eventos filtra varios campos, como eventName y eventSource. Una coincidencia de eventos debe contener todos los campos y los valores correspondientes.
Selecciona Siguiente.
En Tipos de objetivo, selecciona Servicio de AWS.
En Seleccionar un objetivo, elige Función de Lambda.
En la lista, elige tu función.
Selecciona Agregar otro objetivo.
En la sección Servicio de AWS, elige Grupo de registro de CloudWatch.
En Seleccionar grupo de registro, elige un grupo de registro existente o crea uno nuevo.
Selecciona Siguiente. A continuación, vuelve a elegir Siguiente.
Selecciona Crear regla.
Validación de la regla de EventBridge
Sigue estos pasos:
- Abre la consola de SQS.
- Selecciona Crear cola.
- En Tipo, elige Tipo de cola estándar.
- Introduce un nombre para la cola.
- Mantén todas las demás opciones como predeterminadas y, a continuación, selecciona Crear cola.
- Usa las métricas TriggeredRules, Invocations y FailedInvocations para confirmar que tu regla de EventBridge ha activado e invocado los objetivos.
- Para ver las métricas, ve hasta la regla que has creado y, a continuación, abre la pestaña Supervisión. O bien, consulta las métricas en la consola de CloudWatch, en el espacio de nombres AWS/Events.
- Confirma que la función de Lambda se ha invocado correctamente y que el grupo de registro de CloudWatch ha capturado el evento.
- Ve hasta el grupo de registro objetivo en la consola de Registros de CloudWatch. Ten en cuenta que hay una nueva secuencia de registro visible con el evento de registro correspondiente.
Información relacionada
Tutorial: creación de una regla de EventBridge que reaccione a las llamadas a la API de AWS a través de CloudTrail
¿Cómo puedo crear un patrón de eventos personalizado para una regla de EventBridge?