Event sources and destinations
Event-driven computing is a model in which subscriber services automatically perform work in response to events triggered by publisher services. This paradigm can be applied to automate workflows while decoupling the services that collectively and independently work to fulfil these workflows.
Amazon SNS is an event-driven computing hub that has native integration with a wide variety of AWS event sources (including Amazon EC2, Amazon S3, and Amazon RDS) and AWS event destinations (including Amazon SQS, and Lambda).
The full set of Amazon SNS event sources includes the following services:
- Compute: Amazon EC2 Auto Scaling, AWS Elastic Beanstalk, AWS Lambda, Elastic Load Balancing
- Storage: Amazon Elastic File System, Amazon Glacier, Amazon Simple Storage Service, AWS Snowball
- Database: Amazon DynamoDB, Amazon ElastiCache, Amazon Redshift, Amazon Relational Database Service, AWS Database Migration Service
- Networking: Amazon Route 53, Amazon VPC, AWS Direct Connect
- Developer Tools: AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, AWS CodePipeline
- Management Tools: Amazon CloudWatch Alarms, Amazon CloudWatch Events, AWS CloudFormation, AWS CloudTrail, AWS Config
- Customer Engagement: Amazon Pinpoint, Amazon Simple Email Service
- Analytics: AWS Data Pipeline
- Security, Identity and Compliance: Amazon Inspector
- Media: Amazon Elastic Transcoder
- Internet of Things: AWS IoT
Amazon SNS can filter and fanout events to the following destinations to support event-driven computing use cases:
Message filtering empowers the subscriber to create a filter policy, so that it only gets the notifications it is interested in, as opposed to receiving every single message posted to the topic. Visit our blog to learn how to simplify your pub/sub messaging with Amazon SNS message filtering and get to know message filtering operators for numeric matching, prefix matching, and blacklisting in Amazon SNS. Additionally, you may monitor your Amazon SNS message filtering activity with Amazon CloudWatch and manage Amazon SNS filter policies with AWS CloudFormation.
Message fanout occurs when a message is sent to a topic and then replicated and pushed to multiple endpoints. Fanout provides asynchronous event notifications, which in turn allows for parallel processing. Try our 10-minute tutorial to learn how to send fanout event notifications with Amazon SNS.
Amazon SNS uses cross availability zone message storage to provide high message durability. All messages published are stored redundantly across multiple geographically-separated servers and data centers. In case the subscribed endpoint isn't available, Amazon SNS executes a message delivery retry policy and can also move messages to dead-letter queues (DLQ). For more information, see Message Delivery Retries and Amazon SNS Dead-Letter Queues.
Amazon SNS provides encrypted topics to protect your messages from unauthorized and anonymous access. When you publish messages to encrypted topics, Amazon SNS immediately encrypts your messages. The encryption takes place on the server, using a 256-bit AES-GCM algorithm and a customer master key (CMK) issued with AWS Key Management Service (KMS). The messages are stored in encrypted form, and decrypted as they are delivered to subscribing endpoints (Amazon SQS queues, AWS Lambda functions, HTTP/S webhooks). Learn more about encrypting messages published to Amazon SNS with AWS KMS.
Amazon SNS supports VPC Endpoints (VPCE) via AWS PrivateLink. You can use VPC Endpoints to privately publish messages to Amazon SNS topics, from an Amazon Virtual Private Cloud (VPC), without traversing the public internet. This feature brings additional security, helps promote data privacy, and aligns with assurance programs.
When you use AWS PrivateLink, you don’t need to set up an Internet Gateway (IGW), Network Address Translation (NAT) device, or Virtual Private Network (VPN) connection. You don’t need to use public IP addresses, either.
You may visit our blog to learn how to secure messages published to Amazon SNS with AWS PrivateLink. You can also deploy Amazon VPC endpoints for Amazon SNS with AWS CloudFormation.
Amazon SNS mobile notifications make it simple and cost effective to fanout mobile push notifications to iOS, Android, Fire OS, Windows and Baidu-based devices. You can also use SNS to fanout text messages (SMS) to 200+ countries and fanout email messages (SMTP).
Alternatively, if your use case can benefit from advanced user engagement and retention features such as mobile notification templates, delivery schedules, targeted customer segments, campaigns, analytics, and A/B testing, then Amazon Pinpoint is the recommended AWS service to support your mobile messaging use case.