¿Qué es Amazon SNS? - Amazon Simple Notification Service

¿Qué es Amazon SNS?

Amazon Simple Notification Service (Amazon SNS) es un servicio totalmente administrado con el que se ofrece la entrega de mensajes de los publicadores (productores) a los suscriptores (consumidores). Los publicadores se comunican de forma asíncrona con los suscriptores mediante el envío mensajes a un tema, que es un punto de acceso lógico y un canal de comunicación.

Funcionamiento

En SNS, los publicadores envían mensajes a un tema, que actúa como un canal de comunicación. El tema actúa como un punto de acceso lógico, lo que garantiza que los mensajes se entreguen a varios suscriptores en diferentes plataformas.

Los suscriptores de un tema de SNS pueden recibir mensajes a través de distintos puntos de conexión, según su caso de uso, por ejemplo:

  • Amazon SQS

  • Lambda

  • Puntos de conexión HTTP(S)

  • Correo electrónico

  • Notificaciones push en móviles

  • Mensajes de texto móviles (SMS)

  • Amazon Data Firehose

  • Proveedores de servicios (por ejemplo, Datadog, MongoDB, Splunk)

SNS admite la mensajería de aplicación a aplicación (A2A) y de aplicación a persona (A2P), lo que aporta flexibilidad para enviar mensajes entre diferentes aplicaciones o directamente a teléfonos móviles, direcciones de correo electrónico y más.

Amazon SNS entrega los mensajes de los publicadores a los suscriptores a través de puntos de conexión de aplicación a aplicación (A2A) y de aplicación a persona (A2P). Muestra los puntos de conexión A2A, como las funciones de Lambda, las colas de Amazon SQS, los puntos de conexión HTTP/S y Data Firehose, junto con los puntos de conexión de A2P, que incluyen SMS, notificaciones push móviles y correo electrónico, haciendo especial hincapié en la flexibilidad de Amazon SNS para la comunicación asincrónica basada en eventos.

Acceso a Amazon SNS

Puede acceder a Amazon SNS y administrarlo a través de la consola, la AWS CLI o los SDK de AWS, según el método de interacción que prefiera. La consola ofrece una interfaz gráfica para tareas básicas, mientras que la AWS CLI y los SDK ofrecen funciones avanzadas de configuración y automatización para casos de uso más complejos.

  • En la consola de Amazon SNS, se ofrece una interfaz de usuario conveniente para crear temas y suscripciones, enviar y recibir mensajes, y monitorear eventos y registros.

  • Con la AWS Command Line Interface (AWS CLI), se ofrece acceso directo a la API de Amazon SNS para la configuración avanzada y casos de uso de automatización. Para obtener más información, consulte Uso de Amazon SNS con la AWS CLI.

  • AWS proporciona SDK en varios idiomas. Para obtener más información, consulte SDK y conjuntos de herramientas.

Situaciones comunes de Amazon SNS

Utilice estos escenarios habituales de Amazon SNS para implementar arquitecturas escalables basadas en eventos y garantizar una comunicación fiable en tiempo real entre las aplicaciones y los usuarios.

Integración de aplicaciones

El escenario de distribución ramificada se produce cuando un mensaje publicado en un tema de SNS se replica y se envía a varios puntos de conexión, como flujos de entrega de Firehose, colas de Amazon SQS, puntos de conexión HTTP(S) y funciones de Lambda. De este modo se permite un procesamiento asíncrono paralelo.

Por ejemplo, puede desarrollar una aplicación que publique un mensaje en un tema del SNS cada vez que se realice un pedido de un producto. Después, las colas de SQS que están suscritas a este tema de SNS reciben notificaciones idénticas del nuevo pedido. Una instancia de servidor de Amazon Elastic Compute Cloud (Amazon EC2) asociada a una de las colas de SQS puede controlar el procesamiento o la ejecución del pedido. Además, puede adjuntar otra instancia de servidor de Amazon EC2 a un almacenamiento de datos para analizar todos los pedidos recibidos.

Un escenario de distribución ramificada de Amazon SNS, en el que se envía un único mensaje de un publicador a un tema de Amazon SNS y, a continuación, se replica en varios puntos de conexión, como las colas de Amazon SQS. Cada cola de Amazon SQS reenvía el mensaje a una instancia de Amazon EC2: una se encarga del procesamiento de pedidos y otra realiza el análisis de datos, lo que demuestra la entrega de mensajes asíncrona en paralelo para aplicaciones basadas en eventos.

También puede utilizar la distribución ramificada para replicar los datos enviados a su entorno de producción con su entorno de prueba. Si profundizamos en el ejemplo anterior, puede suscribir otra cola de SQS al mismo tema de SNS para los nuevos pedidos que entren. A continuación, si asocia esta nueva cola de SQS a su entorno de prueba, puede seguir mejorando y probando su aplicación utilizando los datos recibidos desde su entorno de producción.

importante

Tenga en cuenta la privacidad y la seguridad de los datos de producción antes de enviarlos a su entorno de prueba.

Para obtener más información, consulte los siguientes recursos:

Alertas de aplicación

Las alertas de la aplicación y del sistema son notificaciones que se desencadenan mediante umbrales predeterminados. Amazon SNS puede enviar estas notificaciones a usuarios especificados a través de SMS y correo electrónico. Por ejemplo, puede recibir una notificación inmediata cuando se produce un evento, como un cambio específico en su grupo de Amazon EC2 Auto Scaling, un archivo nuevo cargado en un bucket de Amazon S3 o un umbral de métrica superado en Amazon CloudWatch. Para obtener más información, consulte Configuración de notificaciones de Amazon SNS en la Guía del usuario de Amazon CloudWatch.

Notificaciones de usuario

Amazon SNS puede enviar mensajes de correo electrónico push y mensajes de texto (mensajes SMS) a personas o grupos. Por ejemplo, puede enviar confirmaciones de pedidos de comercio electrónico como notificaciones de usuario. Para obtener más información sobre el uso de Amazon SNS para enviar mensajes SMS, consulte Mensajería de texto móvil con Amazon SNS.

Notificaciones push en móviles

Las notificaciones de inserción en móviles le permiten enviar mensajes directamente a aplicaciones móviles. Por ejemplo, puede usar Amazon SNS para enviar notificaciones de actualización a una aplicación. El mensaje de notificación puede incluir un enlace para descargar e instalar la actualización. Para obtener más información sobre el uso de Amazon SNS para enviar mensajes de notificaciones push, consulte Envío de notificaciones push para móvil con Amazon SNS.

Precios de Amazon SNS

Amazon SNS no tiene costos iniciales. El pago se basa en la cantidad de mensajes que publique, la cantidad de notificaciones que envíe y cualquier llamada de API adicional para administrar temas y suscripciones. Los precios de entrega varían según el tipo de punto de enlace. Puede comenzar sin costo con el nivel gratuito de Amazon SNS. Para obtener información, consulte Worldwide SMS Pricing.