El Servicio AWS Lambda nos permite conectar, mediante una función ya prediseñada, con Slack. Por ejemplo podemos conectar aquellos eventos que nos interesen y que tenemos configurados en nuestro SNS y publicando a CloudWatch para que se nos reporten, también, en Slack.
AWS Lambda nos permite usar varios funciones, yo usaré Python. En este caso, usaremos cortos trozos de código para configurar nuestra función Lambda:
Para poder implementar un sistema como el comentado, utilizaremos, previamente, un webhook de Slack para enviar mensajes al canal que seleccionemos, junto con el modelo cloudwatch-alarm-to-slack-python. Seguidamente crearemos una clave del servicio de administración de claves de AWS (KMS), dicha se utilizará para cifrar la URL del webhook y se codificará “casi” automáticamente en el momento de pegarla en la función. Crearemos una cuenta IAM y le daremos permisos para llamar a la función KMS.
El gestor de eventos enviará mensajes al canal Slack que se eliga de esta manera:
slack_message = {
'channel': SLACK_CHANNEL,
'text': "%s state is now %s: %s" % (alarm_name, new_state, reason)
}
req = Request(HOOK_URL, json.dumps(slack_message))
Podéis encontrar un artículo própio de Slack donde explica más detalladamente la configuración, aunque es realmente sencillo.
Autor: Joakim Vivas