SQS vs SNS cost: how to compare messaging unit economics

SQS vs SNS cost comparisons go wrong when you compare list prices without normalizing the workload. The winner is usually decided by how many deliveries happen, how many requests per message you create, and whether retries are controlled.

Normalize the workload first (same flow, same assumptions)

Before you compare costs, write down one concrete message flow (producer -> routing -> consumers) and count how many operations happen per published message. Do this for a baseline and a peak scenario (deploys, incidents, backfills).

What to model

  • Messages per month
  • Fan-out (subscribers per message) for SNS
  • Requests per message (receive, delete, visibility timeouts) for SQS
  • Retries and failure rate
  • Payload size and any transfer fees

Fast baseline (use calculators, then refine)

Keep the estimate honest by saving two scenarios: baseline traffic and peak traffic. Messaging cost spikes are usually driven by retries and fan-out, not by slow organic growth.

Worked comparison template (copy/paste)

  • Published messages/month = producer volume (baseline + peak)
  • SNS deliveries/month = published messages/month * subscribers per message * (1 + delivery retry factor)
  • SQS requests/month = messages delivered to queues/month * requests per message (Send + Receive + Delete + extras)

When SNS costs spike

  • High fan-out: deliveries multiply fast.
  • Retries/redelivery loops: failures multiply deliveries.
  • Verbose delivery targets: multiple protocols/targets per message increase total delivery count.

When SQS costs spike

  • Multiple receives per message due to timeouts and visibility settings.
  • High retry counts and poison-message loops.
  • Backfills and replays that keep re-queueing the same payloads.

Common decision pitfalls (cost and architecture)

  • Comparing one-to-many fan-out (SNS) against one-to-one processing (SQS) without normalizing deliveries.
  • Ignoring consumer behavior: visibility timeouts and retries often matter more than list price.
  • Forgetting downstream costs: Lambda, logging, and data transfer can dominate the messaging line item.
  • Using one "average" and missing peaks. Spikes drive real bills and real outages.

How to validate the comparison

  • Pull one week of real publish/delivery metrics and scale to monthly as a sanity check.
  • Confirm retry behavior: delivery retries (SNS) and receive retries (SQS) are modeled as explicit multipliers.
  • Verify payload size assumptions with logs (bytes per message and batch size in consumers).

Next: Estimate SQS requests, Estimate SNS deliveries.

Related reading

Sources


Related guides

Lambda vs Fargate cost: a practical comparison (unit economics)
Compare Lambda vs Fargate cost with unit economics: cost per 1M requests (Lambda) versus average running tasks (Fargate), plus the non-compute line items that often dominate (logs, load balancers, transfer).
API Gateway vs ALB vs CloudFront cost: what to compare (requests, transfer, add-ons)
A practical cost comparison of API Gateway, Application Load Balancer (ALB), and CloudFront. Compare request pricing, data transfer, caching impact, WAF, logs, and the hidden line items that change the answer.
AWS SQS cost optimization (high-leverage fixes)
A practical playbook to reduce SQS costs: reduce requests per successful message with batching and long polling, prevent retry storms and poison loops, and validate savings with sent/received/deleted metrics.
AWS SQS pricing (what to include)
A practical checklist for estimating SQS costs: requests, retries, Receive/Delete patterns, and the common pitfalls that inflate spend.
Estimate SQS requests (from messages and retries)
A practical workflow to estimate billable SQS request volume: start from messages/month, model requests per successful message (Send/Receive/Delete), and add the multipliers (retries, empty receives, poison loops) that cause spikes.
SNS pricing: what to model (publishes, deliveries, fan-out)
A practical SNS pricing checklist: publish requests, delivery requests by protocol mix, fan-out after filter policies, and the retry/alert-storm patterns that create surprise delivery volume.

Related calculators


FAQ

Is SQS cheaper than SNS?
It depends. SQS cost is driven by request volume (and sometimes payload size), while SNS cost depends on publish and delivery volume (fan-out can multiply deliveries). Compare at the same message flow.
What’s the fastest way to compare?
Start from messages published per month and expected delivery fan-out. Convert into request units (SQS) and delivery units (SNS), then model retries and payload size separately.
What’s the biggest cost pitfall?
Retries. Redeliveries and failed processing can multiply request and delivery counts quickly.

Last updated: 2026-01-27