Bird
Raised Fist0
AWScloud~5 mins

SNS topics and subscriptions in AWS - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an SNS topic in AWS?
An SNS topic is like a message board where messages are posted. Subscribers can then receive these messages. It helps send notifications to many receivers at once.
Click to reveal answer
beginner
What does a subscription in SNS do?
A subscription connects a receiver (like an email or phone) to an SNS topic. When a message is sent to the topic, all subscribers get the message.
Click to reveal answer
beginner
Name two common protocols used for SNS subscriptions.
Two common protocols are Email and HTTP/HTTPS. Email sends messages to email addresses, HTTP/HTTPS sends messages to web servers.
Click to reveal answer
intermediate
How does SNS ensure only confirmed subscriptions receive messages?
When you subscribe, SNS sends a confirmation message. The subscriber must confirm by clicking a link or responding. This prevents unwanted messages.
Click to reveal answer
intermediate
What happens if a subscriber endpoint is unreachable in SNS?
SNS retries sending messages several times. If it still fails, the message can be sent to a dead-letter queue if configured, or it is dropped.
Click to reveal answer
What is the main purpose of an SNS topic?
ATo store data permanently
BTo send messages to multiple subscribers
CTo run code automatically
DTo manage user permissions
Which protocol is NOT supported by SNS subscriptions?
AFTP
BSMS
CHTTP
DEmail
What must a subscriber do to start receiving messages from an SNS topic?
ACreate a new topic
BDelete the topic
CConfirm the subscription
DSend a message to the topic
If a subscriber's endpoint is down, what does SNS do?
AStops sending messages forever
BDeletes the subscription immediately
CSends messages to all other subscribers only
DRetries sending messages
Which of these is a valid SNS subscription endpoint?
AAn email address
BA database table
CA virtual machine
DAn S3 bucket
Explain how SNS topics and subscriptions work together to deliver messages.
Think of a newsletter mailing list.
You got /4 concepts.
    Describe what happens when a subscriber endpoint is temporarily unreachable in SNS.
    Imagine sending a letter to a closed mailbox.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of an SNS topic in AWS?
      easy
      A. To store files and documents securely
      B. To act as a message hub where messages are sent and distributed
      C. To run virtual servers in the cloud
      D. To manage user permissions and access

      Solution

      1. Step 1: Understand SNS topic role

        An SNS topic is like a message board where messages are posted for others to receive.
      2. Step 2: Compare options to SNS function

        Only To act as a message hub where messages are sent and distributed describes a message hub, which matches SNS topic's purpose.
      3. Final Answer:

        To act as a message hub where messages are sent and distributed -> Option B
      4. Quick Check:

        SNS topic = message hub [OK]
      Hint: SNS topics distribute messages to subscribers [OK]
      Common Mistakes:
      • Confusing SNS topics with storage services
      • Thinking SNS manages servers
      • Mixing SNS with user access control
      2. Which of the following is the correct way to subscribe an email endpoint to an SNS topic using AWS CLI?
      easy
      A. aws sns subscribe --subscription-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --notification-endpoint user@example.com
      B. aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --notification-endpoint user@example.com
      C. aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --notification-endpoint user@example.com
      D. aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --endpoint user@example.com

      Solution

      1. Step 1: Review AWS CLI subscribe syntax

        The correct command uses 'aws sns subscribe' with '--topic-arn', '--protocol', and '--endpoint' parameters.
      2. Step 2: Check option correctness

        The correct command is 'aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --endpoint user@example.com'. Distractors use incorrect parameters like --notification-endpoint, miss --protocol, or use --subscription-arn.
      3. Final Answer:

        aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --endpoint user@example.com -> Option D
      4. Quick Check:

        Correct CLI syntax = aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol email --endpoint user@example.com [OK]
      Hint: Use --protocol and --endpoint with aws sns subscribe [OK]
      Common Mistakes:
      • Using wrong parameter names like --notification-endpoint instead of --endpoint
      • Missing the --protocol flag
      • Confusing topic ARN with subscription ARN
      3. Given this Python code using boto3, what will be the output if the subscription is successful?
      import boto3
      sns = boto3.client('sns')
      response = sns.subscribe(
          TopicArn='arn:aws:sns:us-east-1:123456789012:MyTopic',
          Protocol='email',
          Endpoint='user@example.com'
      )
      print(response['SubscriptionArn'])
      medium
      A. 'pending confirmation' string indicating subscription needs confirmation
      B. An error message about missing permissions
      C. The ARN of the SNS topic
      D. The ARN of the new subscription if confirmed

      Solution

      1. Step 1: Understand SNS email subscription behavior

        Email subscriptions require the user to confirm by clicking a link. Until then, the SubscriptionArn is 'pending confirmation'.
      2. Step 2: Analyze the printed output

        The code prints response['SubscriptionArn'], which will be 'pending confirmation' until user confirms.
      3. Final Answer:

        'pending confirmation' string indicating subscription needs confirmation -> Option A
      4. Quick Check:

        Email subscription = pending confirmation [OK]
      Hint: Email subscriptions show 'pending confirmation' until user confirms [OK]
      Common Mistakes:
      • Expecting immediate subscription ARN without confirmation
      • Confusing topic ARN with subscription ARN
      • Assuming no confirmation needed for email protocol
      4. You wrote this AWS CLI command to subscribe an HTTP endpoint but get an error:
      aws sns subscribe --topic-arn arn:aws:sns:us-east-1:123456789012:MyTopic --protocol http --notification-endpoint http://example.com/notify
      What is the most likely cause of the error?
      medium
      A. The HTTP endpoint URL must use HTTPS, not HTTP
      B. The topic ARN is invalid
      C. The protocol should be 'https' instead of 'http'
      D. The notification endpoint URL is missing a trailing slash

      Solution

      1. Step 1: Check protocol requirements for HTTP endpoints

        AWS SNS requires HTTP endpoints to use HTTPS for security; HTTP URLs cause errors.
      2. Step 2: Validate the given URL and protocol

        The URL uses 'http://' which is not allowed; it must be 'https://'.
      3. Final Answer:

        The HTTP endpoint URL must use HTTPS, not HTTP -> Option A
      4. Quick Check:

        HTTP endpoints require HTTPS URL [OK]
      Hint: Use HTTPS URLs for HTTP/HTTPS SNS subscriptions [OK]
      Common Mistakes:
      • Assuming HTTP URLs are accepted
      • Thinking trailing slash matters
      • Confusing protocol parameter values
      5. You want to send a notification to multiple endpoints: an email, an SMS number, and a Lambda function. How should you configure SNS to achieve this?
      hard
      A. Send messages directly to each endpoint without using SNS topics
      B. Create separate SNS topics for each endpoint type and publish messages to all
      C. Create one SNS topic and subscribe all three endpoints to it
      D. Use only email and SMS subscriptions; Lambda cannot subscribe to SNS

      Solution

      1. Step 1: Understand SNS subscription flexibility

        An SNS topic can have multiple subscriptions of different protocols (email, SMS, Lambda).
      2. Step 2: Choose the simplest and best practice approach

        Using one topic with multiple subscriptions is efficient and standard practice.
      3. Final Answer:

        Create one SNS topic and subscribe all three endpoints to it -> Option C
      4. Quick Check:

        One topic, multiple subscriptions = Create one SNS topic and subscribe all three endpoints to it [OK]
      Hint: One SNS topic can have many different subscriptions [OK]
      Common Mistakes:
      • Thinking Lambda cannot subscribe to SNS
      • Creating multiple topics unnecessarily
      • Sending messages directly without SNS
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard