Amazon Simple Notification Service (SNS) is a fast, flexible, fully managed messaging service. SNS makes it simple and cost-effective to transmit messages to both human recipients and distributed services.
You can use SNS to notify human recipients by SMS text message or email.
You can also use SNS to transmit high volumes of identical messages to multiple distributed services in parallel. You can deliver messages to Simple Queue Service (SQS) queues, or to any HTTP endpoint.
To prevent messages from being lost, all messages published to Amazon SNS are stored redundantly across multiple availability zones.
AWS Free Tier includes 1 million requests, 100,000 HTTP notifications, and 1,000 email notifications with Amazon SNS.
View AWS Free Tier Details »Amazon SNS is designed for developers and businesses that have event-driven needs within their applications and require a flexible, reliable, cost-effective messaging solution that can scale seamlessly. Amazon SNS can be highly customized by developers to meet a wide range of application needs.
Using Amazon SNS requires just a few simple steps:
Amazon SNS provides significant advantages over the complexity of developing custom messaging solutions or the expense of licensed software for systems that need to be managed and maintained on site.
Reliable Amazon SNS runs within Amazon’s proven network infrastructure and datacenters, so topics will be available whenever applications need them. To prevent messages from being lost, all messages published to Amazon SNS are stored redundantly across multiple servers and data centers.
Scalable Amazon SNS is designed to meet the needs of the largest and most demanding applications, allowing applications to publish an unlimited number of messages at any time.
Simple In most cases, developers can get started with Amazon SNS by using just three APIs: CreateTopic, Subscribe, and Publish. Additional APIs are available, which provide more advanced functionality.
Flexible Amazon SNS allows applications and end-users on different devices to receive notifications via HTTP/HTTPS, Email/Email-JSON, SMS or Amazon Simple Queue Service (SQS) queues. Additional protocols will be added in the future.
Secure Amazon SNS provides access control mechanisms to ensure that topics and messages are secured against unauthorized access. Topic owners can set policies for a topic that restrict who can publish or subscribe to a topic. Additionally, topic owners can ensure that notifications are encrypted by specifying that the delivery mechanism must be HTTPS.
Inexpensive Customers of Amazon SNS benefit from pay-as-you-go pricing with no up-front fees or commitments. The only costs of sending messages through Amazon SNS are small per-request, notification delivery, and data transfer fees.
Designed for use with other Amazon Web Services Amazon SNS works today with other AWS services such as Amazon SQS and EC2. For example, applications running in EC2 can publish event/information updates to Amazon SNS and have them immediately delivered to other applications or end-users. Additionally, subscribers can select Amazon SQS as a delivery protocol, and have notifications delivered to multiple SQS queues in parallel - providing persistence of messages and guaranteed delivery.
Pay only for what you use. There is no minimum fee. Estimate your monthly bill using the AWS Simple Monthly Calculator.
The pricing below is based on data transferred “in” and “out” of Amazon SNS.
Data transfer “in” and “out” refers to transfer into and out of Amazon SNS. Data transferred between Amazon SNS and Amazon EC2 within a single region is free of charge (i.e., $0.00 per GB). Data transferred between Amazon SNS and Amazon EC2 in different regions will be charged at Internet Data Transfer rates on both sides of the transfer.
* Your free usage is calculated each month across all regions and automatically applied to your bill – free usage does not accumulate.** As part of AWS’s Free Usage Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.*** Data transfer out rate tiers aggregate outbound data transfer across Amazon EC2, Amazon EBS, Amazon S3, Amazon Glacier, Amazon RDS, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway, and Amazon VPC.| Developer Resources |
Amazon SNS can be easily accessed through the AWS Management Console, which gives users a point-and-click, web-based interface to setup and manage Amazon SNS.
Amazon SNS provides a simple set of APIs that are easy to use and highly flexible. For a full list of the available Amazon SNS APIs, please see the Amazon SNS API Reference Guide. Some of the most commonly used APIs and their functionality are listed below:
CreateTopic: Creates a topic with the customer-provided topic name. This one API call is all that is needed to establish an access point for subscribers to register for notifications and publishers to send messages.
Subscribe: Registers a new subscriber to a topic. As part of the API call, the client (subscriber or topic-owner) has to specify the topic, the transport protocol (HTTP/HTTPS, Email/Email-JSON, SMS, SQS) and the end-point (URL, Email address, phone number, SQS queue) for notifications to be delivered. Amazon SNS will not deliver any notifications until subscribers explicitly confirm their intent to receive notifications from the specified topic.
Publish: Publishes a message to the topic, which in turn, delivers that message to all subscribers of that topic. As part of the API call, the publisher has to specify the topic and provide the message content. Amazon SNS currently allows a maximum limit of 256 KB for published messages. Each 64KB chunk of published data is billed as 1 request.
Application integration: Amazon SNS can be used in workflow systems to relay events among distributed computer applications, move data between data stores, or update records in business systems. For example, in an order processing application, notification messages may be sent whenever a transaction occurs; a customer places an order, the transaction is forwarded to a payment processor for approval, and an order confirmation message is published to an Amazon SNS topic. In this case, the topic has various subscribers over Email – merchant, customer and supply chain partners – and notifications sent by Amazon SNS for that topic can instantly update all of them that payment processing was successful. Notifications can also be used to orchestrate a more robust order processing system where notifications sent over HTTP can trigger real-time processing in related components such as an inventory system or a shipping service. For example, the inventory management system may be notified when an order is picked, and a shipping service may be notified when the order is on the loading dock and ready for shipment. Amazon SNS can be used to send programmatic notifications concerning validation, approval, inventory changes and shipment status so that relevant system components and end-users have immediate visibility whenever changes occur.
Time-sensitive information updates: Another use case is to support the information delivery needs of businesses, social networks or other organizations. Notifications can be used to alert subscribers about events of interest – which they can choose to receive as notifications on different devices. For example, if a particular social community is dedicated to closely following a sport or team, updates on scores, schedules, players, events and ticket availability can easily be pushed to interested members. Amazon SNS offers an elastic, low cost way to communicate with a wide audience instantaneously – and scale to whatever capacity is needed.
Mobile applications: Amazon SNS can be used to relay time-critical application events to mobile applications and devices. Mobile applications increasingly deliver and integrate real-time information from a variety of sources, including weather, traffic, stocks, sports and even multi-player games. Since Amazon SNS is both highly reliable and scalable, it provides significant advantages to developers who build applications that rely on real-time events. Developers can easily integrate mobile applications with Amazon SNS today, to send messages and receive notifications over HTTP and email. Future enhancements to Amazon SNS – such as notification delivery over SMS – will provide more protocol options and additional flexibility to mobile application developers.
You can easily combine SNS with Simple Queue Service (SQS) to deliver high volumes of identical messages to multiple queues in parallel. See the SNS documentation to learn more about this design pattern.
The following limitations are currently in place during the Amazon SNS beta:
*One hundred (100) topics per AWS account
Should you need to exceed this limit, please contact us here.
Your use of this service is subject to the Amazon Web Services Customer Agreement