# AWS SNS

> Amazon Simple Notification Service (SNS) is a managed publish/subscribe service that sends messages to email, SMS, HTTP endpoints, SQS and Lambda.

- Source: https://www.itwonderlab.com/aws-sns/
- Published: 2026-10-05
- Updated: 2026-10-05
- Author: Javier Ruiz Jiménez (https://www.javierruizjimenez.com/)
- Site: IT Wonder Lab (https://www.itwonderlab.com/)

---

**Amazon Simple Notification Service (SNS)** is a fully managed messaging service for **publish/subscribe**: a publisher sends a message to a **topic** and SNS delivers a copy to every **subscriber**.

### Key concepts

- **Topic**: the channel. *Standard* topics offer very high throughput and at-least-once delivery; *FIFO* topics keep the order and deduplicate.
- **Subscription protocols**: [SQS](https://www.itwonderlab.com/aws-sqs/) queues, [Lambda](https://www.itwonderlab.com/aws-lambda/) functions, HTTP/S endpoints, email, SMS, mobile push and Amazon Data Firehose.
- **Fan-out**: one message reaches several systems, for example a topic that delivers to three SQS queues, each processed by a different service.
- **Message filtering**: a subscription filter policy receives only the messages whose attributes match.
- **Delivery retries** and **dead-letter queues** handle failed deliveries.
- **Encryption** at rest with [KMS](https://www.itwonderlab.com/aws-kms/) and access control with [IAM](https://www.itwonderlab.com/aws-iam/) and topic policies.
- Many AWS services publish to SNS, notably [CloudWatch](https://www.itwonderlab.com/aws-cloudwatch/) alarms and [Auto Scaling](https://www.itwonderlab.com/aws-auto-scaling/) notifications.

### SNS or SQS?

SNS **pushes** a message to many subscribers; [SQS](https://www.itwonderlab.com/aws-sqs/) **stores** messages in a queue until a consumer pulls them. They are often combined.

### Pricing

Per million publishes and per delivery, which depends on the protocol (SMS has additional per-message costs by country). See the [SNS pricing](https://aws.amazon.com/sns/pricing/).

### With Terraform

The resources are `aws_sns_topic`, `aws_sns_topic_subscription` and `aws_sns_topic_policy`.
