Nic Acton
  • My Gitbook
  • My Favorite Things
    • Podcasts
    • Newsletters
  • Monthly Summaries
    • May 2019
    • June 2019
  • Cloud Computing
    • Cloud Concepts
    • AWS
      • Certified Solutions Architect
      • Well Architected Framework
        • Operational Excellence
        • Reliability
        • Performance Efficiency
        • Cost Optimization
        • Security
      • Analytics
        • Elasticsearch Service
        • Kinesis
        • Elastic MapReduce (EMR)
      • Compute Services
        • Elastic Beanstalk
        • Elastic Container Service (ECS)
      • Deployment
        • CloudFormation
      • Application Services
        • Key Management Service (KMS)
        • Simple Queue Service (SQS)
        • API Gateway
        • Simple Work Flow (SWF)
        • Amazon MQ
        • Simple Notification Service (SNS)
      • Simple Storage Service (S3)
        • Macie
      • Databases
        • RDS
        • DynamoDB
        • ElastiCache
        • Neptune
        • Redshift
      • Cloudfront
      • IAM
      • Monitoring
        • Trusted Advisor
        • Amazon Inspector
        • AWS Config
        • AWS Shield
        • CloudWatch
          • VPC Flow Logs
        • CloudTrail
        • Guard Duty
      • Route53
      • Serverless Architectures
        • Lambda
      • VPC
        • Highly Available & Fault Tolerant VPCs
        • Hybrid Environments
          • VPC Peering
          • Direct Connect
        • Cloud HSM
    • GCP
    • Azure
    • HashiCorp
    • Red Hat
      • RHEL
        • Basics
        • Grep & Regex
        • SSH
      • Ansible
    • Tutorials/Guides
      • Linux
        • Admin
  • Software Engineering
    • Machine Learning
      • Deep Learning
        • Tensorflow
      • Training and Loss
    • Programming
      • APIs
    • Security
    • Web Development
      • OSI 7 Layer Model
    • Tutorials/Guides
      • Apache Server
    • Virtualization
      • Virtual Machines
      • Containers
      • Serverless
  • Fitness
    • Nutrition
      • Diets
      • Macronutrients
      • Supplements
      • Miscellaneous
    • Strength Training
    • BodyBuilding
  • Miscellaneous
    • Technology Ethics
      • Education
    • Interesting Concepts
      • Libertarian Paternalism
Powered by GitBook
On this page
  • Essentials
  • Components
  • Implementation

Was this helpful?

  1. Cloud Computing
  2. AWS
  3. Application Services

Simple Notification Service (SNS)

Notifications in major communications medium as a service; like e-mail, text, or some social media platforms.

Essentials

  • Coordinates and manages the sending and delivery of messages to subscribers

  • Receive notifications when AWS events occur

  • Integrated into many AWS services, so it is easy to setup notifications based on events that occur in those services

  • With Cloudwatch and SNS, a full-environment monitoring solution can be created that notifies admins of alerts, capacity issues, downtime, changes in the environment and more!

  • Can also be used for mobile push messages

Components

  • Topic:

    • Object to which you publish your message (<= 256KB)

      • Too small for documents (maybe with S3 pre-signed URL) or large emails with many images/attachments

      • Also consider SES (Simple E-mail Service)

    • Subscribers subscribe to the topic to receive the message

  • Subscriber:

    • Endpoint to a message is sent. Messages are simultaneously pushed to subscribers

    • Available endpoints:

      • HTTP

      • HTTPS

      • Email

      • Email-JSON

      • SQS

      • Application, Mobile APP notifications (IOS/Android/Amazon/Microsoft)

      • Lambda

      • SMS (cellular text)

    • Up to 10 million per topic (soft limit)

  • Publisher:

    • "Entity" that triggers the sending of a message

    • Examples:

      • Application

      • S3 event

      • Cloudwatch Alarm

Implementation

  • While it integrates simply with Amazon Services, some like S3 require you to modify the SNS policy to give access to that bucket, for example

{
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
    },
        "Action": "SNS:Publish",
        "Resource": "SNS_ARN_REPLACE_ME",
        "Condition": {
            "StringEquals": {
                "aws:SourceArn": "S3_BUCKET_ARN_REPLACEME"
            }
        }
    },

PreviousAmazon MQNextSimple Storage Service (S3)

Last updated 6 years ago

Was this helpful?