Amazon Simple Notification Service (Amazon SNS) is a web service that makes it easy to set up, operate, and send notifications from the cloud. It provides developers with a highly scalable, flexible, and cost-effective capability to publish messages from an application and immediately deliver them to subscribers or other applications. It is designed to make web-scale computing easier for developers.
Amazon SNS provides a simple web services interface and browser-based Management Console that can be used to create topics you want to notify applications (or people) about, subscribe clients to these topics, publish messages, and have these messages delivered over clients’ protocol of choice (i.e. HTTP, email, SMS, etc.). Amazon SNS delivers notifications to clients using a “push” mechanism that eliminates the need to periodically check or “poll” for new information and updates. Amazon SNS can be leveraged to build highly reliable, event-driven workflows and messaging applications without the need for complex middleware and application management. The potential uses for Amazon SNS include monitoring applications, workflow systems, time-sensitive information updates, mobile applications, and many others. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.
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 an Amazon SQS queue – providing guaranteed delivery and persistence of messages. In the future, Amazon SNS will integrate with other AWS services such as Amazon S3 and SimpleDB. Amazon SNS is supported in all AWS regions, however SMS notification support is available only in the US East region, and we plan to make SMS notificaton support available in other AWS regions and countries in the coming months.
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.
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 64 KB for published messages.
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.
Amazon Simple Queue Service (SQS) and Amazon SNS are both messaging services within AWS, which provide different benefits for developers. Amazon SNS allows applications to send time-critical messages to multiple subscribers through a “push” mechanism, eliminating the need to periodically check or “poll” for updates. Amazon SQS is a message queue service used by distributed applications to exchange messages through a polling model, and can be used to decouple sending and receiving components. Amazon SQS provides flexibility for distributed components of applications to send and receive messages without requiring each component to be concurrently available. By using Amazon SNS and Amazon SQS together, messages can be delivered to applications which require immediate notification of an event, and also persisted in an Amazon SQS queue for other applications to process at a later time.
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.