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) 구독자에게 메시지 전달
![](https://blog.kakaocdn.net/dn/9lqzC/btrV0rG4eM2/kgiIFE7IZXiQ7bo0t7sgV0/img.png)
SNS + SQS Fan Out
- Amazon SQS와 Amazon SNS는 둘다 AWS 내 메시징 서비스
- Amazon SNS를 사용하면 애플리케이션에서 정기적으로 업데이트를 확인하거나 폴링(Polling)할 필요 없이 푸시(Push) 메커니즘을 통해 다수의 구독자에게 메시지를 보낼 수 있음
- Amazon SQS는 분산 애플리케이션에서 폴링 모델을 통해 메시지를 교환하는데 사용되는 메시지 대기열 서비스, 이 서비스를 통해 송신 구성 요소와 수신 구성 요소를 분리
![](https://blog.kakaocdn.net/dn/cpf0mT/btrVZGrvev9/PxKou1HjfIzTJX66cfukiK/img.png)
SNS FIFO Topic
- SNS FIFO 주제는 메시지가 주제에 게시된 정확한 순서로 구독된 Amazon SQS FIFO 대기열에 메시지를 전달
- SQS FIFO 대기열을 사용하면 대기열의 소비자는 메시지가 대기열로 전송된 정확한 순서로 메시지를 수진
- 예시로는 은행 거래 로그, 주식 시세 표시기, 항공편 추적기, 가격 업데이트, 뉴스 등등...
![](https://blog.kakaocdn.net/dn/baebqN/btrVYji6vCy/03hoCKPqIiKaQ3ApmDf1UK/img.png)
모든지 순서대로 처리하는 것이 SNS FIFO Topic 방식이다.
실습
1) 주제 생성
![](https://blog.kakaocdn.net/dn/ZX5l9/btrVUAzmggh/G5EYoy2W4nOrwNBi8uG45K/img.png)
- SNS 서비스를 들어가 주제를 먼저 생성한다.
- 왼쪽 주제를 클릭 후 주제 생성을 진행한다.
- FIFO 혹은 표준이 존재하나 표준을 선택한다.
- 주제를 생성한다!
![](https://blog.kakaocdn.net/dn/cdpaL5/btrVZty1O7Y/lgoKwKBCilSiRXkyfpYKU1/img.png)
생성완료!
2) 구독 생성
![](https://blog.kakaocdn.net/dn/FTQUw/btrVZGkMr8U/EBktCDy87e8Ccp7lsiEqmk/img.png)
- 구독 생성 버튼을 누른다.
- 여러가지로 메시지를 보낼 수 있다.
- 간단하게 이메일을 클릭한다. (프로토콜)
- 이메일 주소를 엔드포인트에 적는다. 본인 메일을 적는다.
- 구독생성을 진행한다.
![](https://blog.kakaocdn.net/dn/bgUFh1/btrVVfPhGlj/Qezw8vUIKjbFWPkikdwPt1/img.png)
이렇게 생성이 구독을 진행했다!
3) 구독확인
![](https://blog.kakaocdn.net/dn/JFf9D/btrVVQBJ67c/eVoEf4LmKUtljYgr4xiUBK/img.png)
구독이 확인되었고 엔드포인트로 작성한 이메일로 들어가 AWS 메일이 왔는지 확인해보자
![](https://blog.kakaocdn.net/dn/XlIOY/btrVZMZqol8/zYwHka1kziVKOUFHXQCBO0/img.png)
이렇게 메일이왔고 구독 확인을 누르면
![](https://blog.kakaocdn.net/dn/cnvIG5/btrVYjKb7RF/u7jp9srvTCeMR7AAqbIV60/img.png)
성공적으로 구독이 완료되었다.
그리고 다시 구독 SNS를 살펴보면
![](https://blog.kakaocdn.net/dn/v0mgp/btrVZWVcK0Z/m6eZcGHJkKvk1aao26w1c1/img.png)
확인된 것을 볼 수 있다.
4) 메시지 게시해보자
![](https://blog.kakaocdn.net/dn/banQ1d/btrVYjDo5pf/UZUH9lKICwWGcvAF4NNx1k/img.png)
구독을 눌러 메시지 게시를 클릭한다.
![](https://blog.kakaocdn.net/dn/bhunKw/btrVWxIIhMi/mRPRqm1gkKE1U0DoMk0HR0/img.png)
다음과 같이 작성하고 보내보자
그리고 이메일을 확인해보자
![](https://blog.kakaocdn.net/dn/boGNFT/btrVWyHDhia/FpMflrDx37YkC0WcXRGBy0/img.png)
잘 온것을 확인할 수 있다!
'Cloud Infra Architecture (AWS) > AWS SAA-C03' 카테고리의 다른 글
AWS Amazon MQ 및 AWS API Gateway란? (0) | 2023.01.12 |
---|---|
AWS Kinesis란? (0) | 2023.01.12 |
AWS Amazon Simple Queue Service(SQS)란? (0) | 2023.01.12 |
AWS 데이터 분석 서비스 (0) | 2023.01.12 |
AWS DataBase Migraion Service(DMS)란? (0) | 2023.01.12 |