Qué es
Amazon SNS (Simple Notification Service) es un servicio de mensajería de tipo publicación/suscripción (pub/sub). Un productor publica un mensaje en un tema (topic) y SNS lo entrega, casi al instante, a todos los suscriptores de ese tema. Sirve tanto para comunicar aplicaciones entre sí (A2A) como para avisar a personas (A2P) por correo, SMS (Short Message Service: mensajes de texto al móvil) o notificaciones móviles. SNS empuja los mensajes (modelo push) y no los guarda: si un suscriptor no está disponible, reintenta durante un tiempo.
Conceptos clave
- Tema y suscripciones: un tema puede tener muchas suscripciones de distintos tipos: colas SQS (Simple Queue Service), funciones Lambda, endpoints HTTP/HTTPS, Amazon Data Firehose, correo electrónico, SMS y notificaciones push a móviles.
- Fan-out: publicar una vez en un tema con varias colas SQS suscritas para que cada sistema reciba su copia y la procese a su ritmo. Es el patrón SNS + SQS más preguntado.
- Políticas de filtrado: cada suscripción puede recibir solo los mensajes que le interesan, filtrando por atributos del mensaje o por el contenido del JSON (JavaScript Object Notation: formato de datos en texto), sin que el publicador tenga que saber quién escucha.
- Temas estándar vs FIFO: los estándar tienen rendimiento casi ilimitado y entrega al menos una vez sin orden garantizado; los FIFO (First In, First Out) mantienen el orden y evitan duplicados, y solo admiten colas SQS (FIFO o estándar) como suscriptores. Los temas FIFO pueden archivar mensajes y volver a enviarlos (replay).
- Reintentos y DLQ (Dead-Letter Queue: cola donde acaban los mensajes que fallan): si un suscriptor falla, SNS reintenta según su política de entrega; lo que no se entrega puede ir a una cola de mensajes fallidos de SQS asociada a la suscripción.
- Tamaño: hasta 256 KB por defecto, ampliable a 1 MiB
configurando el atributo
MaximumMessageSizedel tema (para suscripciones SQS, Lambda y Firehose). Para más, se guarda el contenido en S3 (Simple Storage Service) y se envía la referencia. - Origen de eventos de AWS: muchos servicios publican en SNS (alarmas de CloudWatch, notificaciones de S3, eventos de CloudFormation…).
Casos de uso típicos
- Avisar al equipo de guardia por correo o SMS cuando salta una alarma de CloudWatch.
- Fan-out de un evento de negocio (pedido creado) a varias colas y funciones.
- Notificaciones push a apps móviles.
- Mensajes de texto transaccionales a clientes (códigos, avisos).
Cuándo NO usarlo
- Si un solo consumidor debe procesar cada mensaje y guardarlo mientras está caído: SQS.
- Enrutamiento por reglas complejas, eventos de SaaS (software como servicio) o programación horaria: EventBridge.
- Campañas de marketing por correo con plantillas y seguimiento: SES (Simple Email Service) (y la mensajería al usuario final de AWS End User Messaging para SMS a gran escala).
- Streaming con relectura de datos: Kinesis Data Streams.
SNS, SQS y EventBridge
| Característica | SNS | SQS | EventBridge |
|---|---|---|---|
| Modelo | Push, pub/sub | Pull, cola | Bus de eventos con reglas |
| Receptores por mensaje | Todos los suscriptores | Uno | Todos los destinos de las reglas que coinciden |
| Persistencia | No (reintentos) | Hasta 14 días | No (reintentos, archivo opcional) |
| Filtrado | Políticas de filtrado | — | Patrones de eventos muy ricos |
| Destinos | SQS, Lambda, HTTP (HyperText Transfer Protocol: protocolo de la web), correo, SMS, móvil | — | Más de 20 servicios de AWS, API (Application Programming Interface: interfaz para que los programas se comuniquen) y SaaS |
Modelo de precios
Se paga por millón de peticiones de publicación (cada 64 KB cuenta como una) y por las entregas según el tipo de destino: las entregas a SQS y Lambda son gratuitas o muy baratas, las HTTP y el correo tienen su tarifa, y los SMS y las notificaciones móviles se cobran por mensaje y país. Los temas FIFO cobran además por datos. Hay nivel gratuito mensual.
Seguridad y alta disponibilidad
- Mensajes almacenados de forma redundante en varias zonas hasta su entrega.
- Cifrado en reposo con claves de KMS (Key Management Service) y en tránsito con HTTPS (HTTP Secure: HTTP cifrado con TLS).
- Políticas del tema para decidir quién publica y quién se suscribe (incluidas otras cuentas); IAM (Identity and Access Management) para los usuarios y roles.
- Endpoint de VPC (Virtual Private Cloud) para publicar sin salir a internet.
- La función de protección de datos de mensajes (Message Data Protection) dejó de admitir clientes nuevos el 30/04/2026.
Trampas de examen
- "Un mensaje a muchos destinos" o "notificar": SNS.
- "Cada sistema lo procesa a su ritmo y sin perder mensajes": fan-out SNS + SQS.
- "Cada suscriptor solo quiere algunos mensajes": políticas de filtrado, no un tema por tipo.
- "Orden y sin duplicados en el fan-out": tema FIFO con colas FIFO.
- "Avisar por correo cuando salta una alarma": alarma de CloudWatch con acción hacia un tema SNS.
- "Los mensajes deben esperar si el consumidor está caído": SNS no los guarda; pon una cola SQS.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is Amazon SNS?, documentación de AWS (consultada el 26/09/2026).
- Send fanout event notifications (Amazon SNS and Amazon SQS), documentación de AWS (consultada el 26/09/2026).
- Amazon SNS message filtering, documentación de AWS (consultada el 26/09/2026).
- Amazon SNS FIFO topics, documentación de AWS (consultada el 26/09/2026).
- Amazon SNS now supports message payloads up to 1 MiB, documentación de AWS (consultada el 26/09/2026).