Características de Amazon SNS
Tipos de temas
Temas estándar
Los temas estándar se pueden usar en muchos escenarios, siempre que la aplicación pueda procesar los mensajes que llegan más de una vez y desordenados, por ejemplo, la distribución ramificada de los mensajes a aplicaciones de codificación de medios multimedia, detección de fraudes, cálculo de impuestos, índices de búsqueda y alertas críticas.
Rendimiento máximo: los temas estándar admiten una cantidad casi ilimitada de mensajes por segundo.
Orden para optimizar el esfuerzo: en ocasiones, es posible que los mensajes se entreguen en un orden distinto al de su publicación.
Temas FIFO
Los temas FIFO están diseñados para mejorar la mensajería entre las aplicaciones cuando el orden de las operaciones y los eventos es fundamental o cuando no se pueden tolerar los duplicados, por ejemplo, la distribución ramificada de los mensajes a aplicaciones de registro de transacciones bancarias, monitoreo de existencia de mercaderías, seguimiento de vuelos, administración de inventario y actualización de precios.
Alto rendimiento: los temas FIFO admiten hasta 3000 mensajes por segundo o 10 MB por segundo por tema FIFO (lo que ocurra primero).
Orden estricto: se conserva estrictamente el orden en que se publican y entregan los mensajes (es decir, el primero que entra es el primero que sale).
Desduplicación para optimizar el esfuerzo: los mensajes se entregan al menos una vez, aunque en ocasiones se entrega más de una copia del mensaje.
Tipos de suscripción múltiple: los mensajes se pueden enviar a puntos de conexión de aplicación a aplicación (A2A) (Amazon SQS, Amazon Kinesis Data Firehose, AWS Lambda, HTTPS), así como a puntos de conexión de aplicación a persona (A2P) (SMS, push móvil y correo electrónico).
Distribución ramificada de mensajes: cada cuenta puede admitir 100 000 temas estándar y cada tema admite hasta 12,5 millones de suscripciones.
Desduplicación estricta: los mensajes duplicados no se entregan. La desduplicación se produce en un intervalo de 5 minutos a partir de la hora de publicación del mensaje.
Suscripciones a SQS: los mensajes se pueden entregar a las colas de Amazon SQS.
Distribución ramificada de mensajes: cada cuenta puede admitir 1000 temas FIFO y cada tema admite hasta 100 suscripciones.
Orígenes y destinos de los eventos
La computación basada en eventos es un modelo en el que los servicios de los suscriptores realizan automáticamente el trabajo en respuesta a los eventos activados por los servicios de los editores. Este paradigma se puede aplicar para automatizar los flujos de trabajo y, al mismo tiempo, desvincular los servicios que trabajan de forma colectiva e independiente para cumplir con estos flujos de trabajo. Amazon SNS es un hub impulsado por eventos que cuenta con integración nativa a una amplia variedad de orígenes y destinos de eventos de AWS.
Publicación y procesamiento por lotes de los mensajes
La publicación de mensajes le permite enviar datos en forma de mensajes a un tema de Amazon SNS que entrega los mensajes de forma asíncrona a las aplicaciones que están suscritas al tema. Se pueden publicar de 1 a 10 mensajes por solicitud de API. Se puede elegir agrupar los mensajes en lotes para reducir los costos de Amazon SNS. Cada mensaje puede contener hasta 256 KB de datos. Si su caso de uso requiere cargas de datos más grandes, la biblioteca de clientes ampliada de Amazon SNS almacena la carga útil (hasta 2 GB) en un bucket de Amazon S3 y publica la referencia del objeto almacenado de Amazon S3 en el tema de Amazon SNS.
Filtrado de mensajes
El filtrado de mensajes permite a las aplicaciones de sus suscriptores crear políticas de filtrado, de modo que estas aplicaciones solo puedan recibir las notificaciones que les interesen, en lugar de recibir todos los mensajes publicados en el tema. Esto le permite simplificar su arquitectura descargando la lógica del filtrado de mensajes de las aplicaciones de los suscriptores, así como la lógica del enrutamiento de mensajes de las aplicaciones de los editores.
Documentación
Blogs
- Simplifying Your Pub/Sub Messaging with Amazon SNS Message Filtering
- Message Filtering Operators for Numeric Matching, Prefix Matching, and Anything-But Matching in Amazon SNS
- Monitoring Your Amazon SNS Message Filtering Activity with Amazon CloudWatch
- Managing Amazon SNS Subscription Attributes with AWS CloudFormation
Distribución ramificada y entrega de mensajes
Cuando se publica un mensaje en un tema, Amazon SNS lo replica y lo entrega a las aplicaciones suscritas al tema. Amazon SNS admite la entrega de mensajes de aplicación a aplicación (A2A) y de aplicación a persona (A2P). Amazon SNS también admite la entrega de mensajes entre regiones y cuentas, además del registro del estado de la entrega de mensajes con Amazon CloudWatch.
Durabilidad de los mensajes
Amazon SNS usa varios mecanismos que funcionan en forma conjunta para ofrecer la durabilidad de los mensajes. Por empezar, los mensajes publicados se almacenan en varios servidores y centros de datos separados geográficamente. Si un punto de conexión suscrito no está disponible, Amazon SNS ejecuta una política de reintento de entrega de los mensajes. Para preservar los mensajes que no se hayan entregado antes de que esta política finalice, puede usar una cola de mensajes fallidos gestionada por Amazon SQS. Además, puede suscribirse a las secuencias de entrega de Amazon Kinesis Data Firehose a los temas de Amazon SNS, que permiten que los mensajes se envíen a puntos de conexión de alta durabilidad, como los buckets de Amazon S3 o las tablas de Amazon Redshift.
Cifrado de mensajes
Amazon SNS proporciona temas cifrados para proteger sus mensajes de los accesos anónimos y no autorizados. Cuando se publican mensajes en temas cifrados, Amazon SNS cifra inmediatamente los mensajes. El cifrado se realiza en el servidor con un algoritmo AES-GCM de 256 bits y una clave maestra del cliente (CMK) emitida con AWS Key Management Service (KMS). Los mensajes se almacenan de forma cifrada y se descifran a medida que se entregan a los puntos de conexión suscritos, como las colas de Amazon SQS, las secuencias de Amazon Kinesis Data Firehose, las funciones de AWS Lambda, los puntos de conexión HTTP/S, los números de teléfono, las aplicaciones móviles y las direcciones de correo electrónico.
Privacidad de los mensajes
Amazon SNS admite los puntos de conexión de VPC (VPCE) a través de AWS PrivateLink. Puede utilizar los puntos de conexión de VPC para publicar mensajes de forma privada en los temas de Amazon SNS, desde una nube virtual privada (VPC) de Amazon, sin tener que atravesar la Internet pública. Esta característica aporta seguridad adicional, ayuda a promover la privacidad de los datos y se alinea con los programas de garantía. Cuando use AWS PrivateLink, no necesitará configurar una puerta de enlace de Internet, ni un dispositivo de traducción de direcciones de red (NAT) ni una conexión de red privada virtual (VPN). Tampoco tendrá que utilizar direcciones IP públicas.
Protección de datos de los mensajes
La protección de los datos de los mensajes que ofrece Amazon SNS permite a los propietarios de los temas definir políticas de protección de datos que permitan descubrir y proteger los datos confidenciales que se transmiten a través de sus temas. Esto puede ayudarlo a simplificar su arquitectura al eliminar la lógica de la protección de datos de sus aplicaciones y, al mismo tiempo, respaldar sus objetivos de cumplimiento, por ejemplo, con regulaciones como la Ley de Portabilidad y Responsabilidad de Seguros de Salud (HIPAA), el Reglamento General de Privacidad de Datos (RGPD), el cumplimiento de la Norma de Seguridad de Datos de la Industria de Tarjetas de Pago (PCI DSS) y el Programa Federal de Administración de Riesgos y Autorizaciones (FedRAMP). Puede auditar los mensajes entrantes a un tema para determinar la cantidad de datos confidenciales que contienen, impedir que se entreguen a los suscriptores intermedios mediante el bloqueo o anonimizar datos específicos de la carga útil mediante la redacción o el enmascaramiento.
Archivo, reproducción y análisis de mensajes
Para los temas estándar, Amazon SNS proporciona una conexión directa a Amazon Kinesis Data Firehose, lo que permite el almacenamiento de mensajes en servicios como Amazon S3, Amazon Redshift, Amazon OpenSearch Service y MongoDB. Esta característica también permite el almacenamiento de mensajes en servicios de análisis, como Datadog, New Relic y Splunk. Para los temas FIFO, Amazon SNS ofrece una opción local para almacenar y reproducir los mensajes, sin necesidad de aprovisionar un recurso de archivo independiente. Esto mejora la durabilidad de sus aplicaciones basadas en eventos y puede ayudarlo a recuperarse de escenarios de fallas posteriores.
Mensajes de texto SMS
Amazon SNS permite enviar mensajes de texto SMS a escala a más de 200 países mediante un servicio duradero y de alta disponibilidad, con redundancia entre varios proveedores de SMS. Con Amazon SNS, puede controlar su identidad de origen mediante el uso de un identificador de remitente, códigos largos o códigos cortos. Además, puede utilizar el entorno aislado de Amazon SNS para validar sus cargas de trabajo de SMS antes de pasarlas a la etapa de producción.
Notificaciones push móviles
Las notificaciones móviles de Amazon SNS hacen que la distribución ramificada de notificaciones push móviles a dispositivos basados en iOS, Android, Fire, Windows y Baidu sea sencillo y rentable. Las notificaciones móviles se pueden activar a partir de acciones impulsadas por el usuario o de la lógica empresarial. Amazon SNS entrega notificaciones push móviles a través de Amazon Device Messaging (ADM), Apple Push Notification Service (APNS), Baidu Cloud Push (Baidu), Firebase Cloud Messaging (FCM), Microsoft Push Notification Service for Windows Phone (MPNS) y Windows Push Notification Services (WNS).
Notificaciones por correo electrónico
Amazon SNS admite la entrega de notificaciones a direcciones de correo electrónico suscritas a temas. Esta característica es compatible con una variedad de casos de uso. Por ejemplo, puede utilizar Amazon SNS para recibir alertas de aplicaciones, como las notificaciones por correo electrónico, con el fin de dar visibilidad a sus flujos de trabajo de DevOps. Por lo tanto, puede recibir una notificación inmediata cuando se produzca un evento, como un cambio específico en su grupo de Amazon EC2 Auto Scaling, la carga de un nuevo archivo en su bucket de Amazon S3 o el incumplimiento de un umbral métrico en Amazon CloudWatch.
Más información sobre los precios de Amazon SNS