Cloud Infra Architecture (AWS)/AWS SAA-C03

AWS Amazon Simple Notification Service(SNS)란?

seongduck 2023. 1. 12. 09:13

AWS Amazon Simple Notification Service(SNS)란?

  • 메시지 전송 서비스
    • 여러가지 이벤트를 Topic으로 보낸다.
    • 그러면 Push Fan Out를 통해 각각의 서비스로 보낸다.
    • 이 서비스들이 다른 어플리케이션 혹은 AWS로 보낸다.
    • 모바일, 이메일, SMS모두 가능하다.
  • 게시자(Publishers)에서 구독자, Subscriber(생산자 및 소비자라고도 함)로 메시지를 전송
  • 애플리케이션간 (A2A) 및 애플리케이션과 사용자 간 (A2P) 통신
  • SNS는 Push 방식으로 메시지를 전송 (Subscriber에게 메시지를 보내는 방식)
  • 전송 순서는 다음과 같다.
    • 1) SNS에서 주제(Topic)생성
    • 2) 구독 생성 (메시지를 받는 사람 - 람다 등등)
    • 3) 메시지 생성
    • 4) 구독자에게 메시지 전달
출처 : AWS Certified Solutions Architecture


SNS + SQS Fan Out

  • Amazon SQS와 Amazon SNS는 둘다 AWS 내 메시징 서비스
  • Amazon SNS를 사용하면 애플리케이션에서 정기적으로 업데이트를 확인하거나 폴링(Polling)할 필요 없이 푸시(Push) 메커니즘을 통해 다수의 구독자에게 메시지를 보낼 수 있음
  • Amazon SQS는 분산 애플리케이션에서 폴링 모델을 통해 메시지를 교환하는데 사용되는 메시지 대기열 서비스, 이 서비스를 통해 송신 구성 요소와 수신 구성 요소를 분리



SNS FIFO Topic

  • SNS FIFO 주제는 메시지가 주제에 게시된 정확한 순서로 구독된 Amazon SQS FIFO 대기열에 메시지를 전달
  • SQS FIFO 대기열을 사용하면 대기열의 소비자는 메시지가 대기열로 전송된 정확한 순서로 메시지를 수진
    • 예시로는 은행 거래 로그, 주식 시세 표시기, 항공편 추적기, 가격 업데이트, 뉴스 등등...

모든지 순서대로 처리하는 것이 SNS FIFO Topic 방식이다.

실습


1) 주제 생성

  1. SNS 서비스를 들어가 주제를 먼저 생성한다.
  2. 왼쪽 주제를 클릭 후 주제 생성을 진행한다.
  3. FIFO 혹은 표준이 존재하나 표준을 선택한다.
  4. 주제를 생성한다!

생성완료!

2) 구독 생성

  1. 구독 생성 버튼을 누른다.
  2. 여러가지로 메시지를 보낼 수 있다.
  3. 간단하게 이메일을 클릭한다. (프로토콜)
  4. 이메일 주소를 엔드포인트에 적는다. 본인 메일을 적는다.
  5. 구독생성을 진행한다.

이렇게 생성이 구독을 진행했다!

3) 구독확인

구독이 확인되었고 엔드포인트로 작성한 이메일로 들어가 AWS 메일이 왔는지 확인해보자

이렇게 메일이왔고 구독 확인을 누르면

성공적으로 구독이 완료되었다.

그리고 다시 구독 SNS를 살펴보면

확인된 것을 볼 수 있다.

4) 메시지 게시해보자

구독을 눌러 메시지 게시를 클릭한다.

다음과 같이 작성하고 보내보자
그리고 이메일을 확인해보자

잘 온것을 확인할 수 있다!