Configurar SNS para recibir notificaciones

SNS (Simple Notification Service o Servicio Simple de Notificaciones), es el producto de los Servicios Web de Amazon para el envío de notificaciones. Si queréis saber más sobre este servicio podéis leer esta entrada sobre AWS SNS.

Para poder hacer uso de este servicio tenemos que entender qué son los temas (topic en inglés) y las subscripciones. En SNS creamos canales de comunicación (topics), al que se conecta quien quiere recibir estas notificaciones (subscriptores). El concepto es similar a las listas de correo (que serían nuestros temas) y la gente que se apunta para recibir los correos (que serían los subscriptores).

La principal ventaja de SNS es que podemos conectar todo tipo de servicios a un canal de notificaciones. Por ejemplo, podemos hacer que con cada notificación:

  • Se envíe un correo electrónico o SMS.
  • Se haga una petición GET o POST a un servidor remoto.
  • Se ejecute un Lambda de AWS.

Configurar una notificación en SNS

Crear un tema de SNS y realizar una subscripción (en nuestro ejemplo una cuenta de correo) es muy sencillo siguiendo estos pasos:

En primer lugar accederemos a la consola de AWS, y desde el desplegable Servicios elegiremos (o buscaremos) SNS.

Si nos aparece la portada de bienvenida de SNS, pulsaremos sobre “Get started” para acceder a la pantalla de trabajo.

En la pantalla principal, seleccionamos “Create topic” para crear un nuevo tema de envío.

Ahora, debemos indicar el nombre y una descripción breve (hasta 10 caracteres) para nuestro tema, y pulsamos el botón “Create topic”

Con nuestro tema ya creado, tenemos que añadir subscriptores que reciban los mensajes que enviemos.

Para ello, una vez dentro de nuestro asunto, pulsaremos en “Create subscription”, para añadir un nuevo subscriptor.

Configuración de un tema SNS, paso 3

Al pulsar, se abrirá una ventana donde debemos indicar 3 opciones:

Configuración de un tema SNS, paso 4
  • El ARN de AWS para nuestro tema (que ya viene indicado)
  • La forma en que queremos recibir las notificaciones (elegiremos Email)
  • El destino (en el caso de correo, la cuenta de correo a la queremos enviar las notificaciones

Es importante tener en cuenta que, si hemos elegido el envío a correo electrónico, debemos confirmar la dirección de correo electrónico, pulsando en el enlace del correo de confirmación que nos envían. Hasta que lo hagamos, no recibiremos notificaciones y apareceremos como “PendingConfirmation”.

Configuración de un tema SNS, paso 5

Nuestra cuenta de correo está pendiente de confirmación.

Configuración de un tema SNS, paso 6

Recibiremos un correo similar a este, con un enlace para confirmar la subscripción.

Configuración de un tema SNS, paso 7

Al pulsar en el enlace de confirmación, nos llevará a una página similar a la superior, donde nos confirmará que el proceso ha ido bien.

Configuración de un tema SNS, paso 8

Actualizando, ya veremos nuestra cuenta confirmada, y podremos recibir notificaciones.

Enviar notificaciones a un tema

Una vez que ya hemos configurado nuestro tema para poder enviar notificaciones, podemos ver su funcionamiento haciendo un envío de prueba.

Para ello, en la ventana de configuración de nuestro tema, pulsamos en el botón “Publish to topic”.

Configuración de un tema SNS, paso 9

Al pulsar, nos pedirá que indiquemos el asunto de la notificación, el contenido (podemos indicar que es de tipo raw y escribir cualquier mensaje), y al pulsar en “Publish message” se enviará a todos los subscriptores.

Configuración de un tema SNS, paso 10

Además, podemos utilizar la API de AWS para SNS para programar los envíos a SNS desde nuestro programa, instancias, lambdas, etc.