Skip to content

Amazon SNS

  • What if you want to send one message to many receivers?

  • The "event producer" only sends message to SNS topic
  • As many "event receivers" (subscriptions) as we want to listen to the SNS topic notifications
  • Each subscriber to the topic will get all the messages (note: new feature to filter messages)
  • Up to 12,500,000 subscriptions per topic
  • 100,000 topics limit

  • Many AWS services can send data directly to SNS for notifications

How to publish

  • Topic Publish (using the SDK)
    • Create a topic
    • Create a subscription (or many)
    • Publish to the topic
  • Direct publish (for mobile apps SDK)
    • Create a platform application
    • Create a platform endpoint
    • Publish to the platform endpoint
    • Works with Google GCM, Apple APNS, Amazon ADM

Security

  • Encryption:
    • In-flight encryption using HTTPS API
    • At-rest encryption using KMS
    • Client-side encryption if the client wants to perform encryption/decryption itself
  • Access Controls: IAM policies to regulate access to the SNS API
  • SNS Access Policies (similar to S3 bucket policies)
    • useful for cross-account access to SNS topics
    • Useful for allowing other services (s3...) to write to an SNS topic