Logs de AWS SES a Opensearch mediante AWS Kinesis

Introducción

Por defecto, el servicio de AWS Simple Email Service (SES) no nos ofrece poder visualizar logs de sus acciones/eventos, tan solo podemos ver algunas métricas en Cloudwatch. Desde Geko nos hemos encontrado más de una vez con la necesidad de ver logs de SES, ya sea para diagnosticar incidencias o para conocer mejor el estado del servicio. Pues bien, para que esto sea posible, hacemos uso de AWS Kinesis. Vamos a explicar como lo montamos. Empecemos!

Configuración en Kinesis

Kinesis es un recolector, procesador y transmisor de datos. El primer paso es crear un Delivery Stream. Accedemos al servicio de Kinesis, Delivery Streams y creamos un Delivery Stream

En «Source» eleccionamos «Direct PUT» y en Destination «Amazon OpenSearch Service». Existen otras opciones de destino como Redshift, S3, Dynatrace.. En el desplegable aparecen todas las disponibles.

Añadimos un nombre al objeto «Delivery Stream» y añadimos nuestro OpenSearch. En nuestro caso, al ya tener un OpenSearch creado y operativo simplemente accediendo a «Browse» nos ha aparecido para seleccionarlo.

Ponemos el nombre de índice que queremos que nos cree

Y por defecto nos selecciona VPC, Subnet y Security Group en base a nuestro OpenSearch.

Finalmente creamos el objeto «Delivery Stream»

Configuración SES

Ahora accedemos al servicio SES, accedemos a «Configuration Sets» y «Create Set»

Ponemos un nombre al «Configuration Set» y lo creamos.

Una vez creado el «Configuration Set» vamos a «Event Destionation» y «Add Destination» para crear uno.

Seleccionamos el tipo de evento que queremos y vamos al siguiente paso

Seleccionamos «Amazon Kinesis Data Firehose», ponemos un nombre y seleccionamos el «Delivery Stream» que hemos creado anteriormente.

 

Cuidado! Ahora hay que crear un «IAM Role» para que SES pueda escribir en Firehose, nosotros lo hemos creado así:

Con esta Policy

Y esta Trust Relationship

Finalmente creamos la «Configuration Set»

 

Ahora, para testearlo, se puede enviar un email de test desde SES asignando a nuestro test la «Configuration Set» que hemos creado. Esta «Configuration Set» se puede aplicar a cualquier Identity que tengamos en SES. De hecho vamos a hacer una prueba enviado un email de test. Vemos el log de test que hemos generado en nuestro OpenSearch:

Y en el monitoring de Delivery de Kinesis:

Desde Geko esperamos que si has llegado hasta aquí, esta entrada sea justo lo que andabas buscando! Te invitamos también a que leas otros de nuestros posts de labs.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *