← Volver al catálogo

Amazon SNS

Amazon Simple Notification Service (Amazon SNS)

En una frase: Publica un mensaje una vez y lo reparte a correos, SMS, colas y funciones suscritas
Certificaciones: SAA-C03 SAP-C02 CLF-C02 DVA-C02
Documentación oficial: Documentación de Amazon SNS ↗

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 MaximumMessageSize del 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ísticaSNSSQSEventBridge
ModeloPush, pub/subPull, colaBus de eventos con reglas
Receptores por mensajeTodos los suscriptoresUnoTodos los destinos de las reglas que coinciden
PersistenciaNo (reintentos)Hasta 14 díasNo (reintentos, archivo opcional)
FiltradoPolíticas de filtrado—Patrones de eventos muy ricos
DestinosSQS, 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