[AWS] Amazon SNS 알아보기

서비스 장애 메시지를 실시간으로 확인하거나 서비스 업데이트 알림 등을 보내기 위해서는 이메일, 모바일 푸시 알림 및 모바일 문자 메시지(SMS) 등을 사용하고 있는데요. AWS 에서는 메시지 전송 관리형 서비스인 Amazon Simple Notification Service(Amazon SNS)를 통해 서비스를 지원하고 있습니다.

 

Amazon SNS는 다양한 클라이언트들에게 실시간으로 메시지를 보내고 수신할 수 있으며는 주제, 구독자, 발행자의 개념을 기반으로 관리되고 있습니다. 다양한 프로토콜을 지원하여 이메일, SMS, HTTP/HTTPS 모바일 푸시 알림 등을 통해 메시지를 전송할 수 있으며 Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda 등의 AWS 서비스에도 연동하여 사용할 수 있습니다.

 

 


주요 기능

Amazon SNS는 애플리케이션, 시스템, 서비스 간에 신속하고 안정적인 메시지 전송을 제공하며

아래와 같은 주요 기능을 제공합니다.

 

  1. 메시지 푸시
    • Amazon SNS를 사용하여 다양한 클라이언트에게 메시지를 푸시할 수 있습니다.
    • 이메일, SMS, HTTP/HTTPS, 모바일 푸시 알림 등 다양한 프로토콜을 통해 메시지를 전송할 수 있습니다.
  2. 주제 기반 구독
    • Amazon SNS는 주제(Topic)를 생성하여 관련 구독자를 그룹화할 수 있습니다.
    • 구독자는 특정 주제에 대한 알림을 받기 위해 해당 주제에 가입하고, 이를 통해 세밀한 구독 관리와 대상 그룹의 동적 구성이 가능합니다.
  3. 다양한 엔드포인트 지원
    • Amazon SNS는 이메일 주소, SMS 번호, AWS Lambda 함수, Amazon Simple Queue Service (SQS) 대기열 등 다양한 대상에게 메시지를 전달하고 연동할 수 있습니다.
  4. 확장성과 안정성
    • Amazon SNS는 확장 가능한 서비스로, 메시지 처리량이 매우 높은 환경에서도 안정적으로 동작합니다.
    • 수신 확인 및 재시도 기능을 제공하여 메시지 전송의 신뢰성을 보장합니다.
  5. 필터링 및 메시지 페이로드
    • Amazon SNS는 메시지 필터링을 통해 특정 조건에 따라 메시지를 선택적으로 전송할 수 있습니다.
    • 메시지 페이로드를 통해 추가 데이터를 전송하고 수신측에서 이를 활용할 수 있습니다.
  6. AWS 서비스와의 통합
    • Amazon SNS는 다른 AWS 서비스와의 강력한 통합을 제공합니다.
    • Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda와의 연동을 통해 실시간 데이터 스트리밍, 큐잉 및 서버리스 아키텍처 시나리오에서 유연하게 메시지를 전송하고 처리할 수 있습니다.

 

 


작동 방식

Amazon SNS는 A2A와 A2P의 두 가지 방식으로 알림을 전송합니다.

 

A2A는 분산된 시스템, 마이크로서비스 및 이벤트 중심의 서버리스 애플리케이션 간에 처리량이 많은 푸시 기반의 다대다 메시징을 제공합니다. 이러한 애플리케이션에는 Amazon Simple Queue Service(SQS), Amazon Kinesis Data Firehose, AWS Lambda, 기타 HTTPS 엔드포인트가 포함됩니다.


A2P 기능을 사용하면 SMS 텍스트, 푸시 알림, 이메일을 통해 고객에게 메시지를 전송할 수 있습니다.

 

게시/구독

 

SMS

 

모바일 푸시

 


요금

Amazon SNS의 요금은 표준 주제 API 요청, FIFO 주제 API 요청, 페이로드 크기, Amazon S3에서 페이로드 크기 확장, AWS KMS와 상호 작용으로 측정됩니다.


간단히 요약한다면 API 요청과 데이터 전송으로 나눠져 있다고 생각하면 좋을 것 같습니다.

 

알림 전달

 

데이터 전송

 

상세한 내용은 아래 링크를 통해 확인하시기 바랍니다.
https://aws.amazon.com/ko/sns/pricing/

 

 

추가적으로 모바일 문자 메시지(SMS) 및 모바일 푸시 알림 등은 지원되는 리전이 정해져있으니 참고하시기 바랍니다.

 

 


화면

Amazon SNS은 주제(Topic)을 기준으로 서비스를 관리할 수 있습니다.

 

 

Topics 메뉴에서 Topic을 생성하거나 기존에 생성된 Topic을 관리할 수 있습니다.
Subscriptions 메뉴에서는 각 Topic에 대한 구독자를 관리할 수 있습니다.

 

 


활용

서비스에서 발생하는 이벤트에 대한 알림을 실시간으로 Email 및 SMS 등을 전송할 수 있습니다.
예를 들어 주문 상태 변경, 결제 완료 등의 이벤트가 있습니다.

 

 

서비스에 중요한 이벤트나 장애가 발생하면 실시간으로 이벤트를 Email 및 SMS 등을 통해 경고 알림을 전송할 수 있습니다.

예를 들어, 시스템 다운, CPU or Memory 부하 발생, 서비스 이용자 급증 등의 이벤트가 있습니다.

 

 

AWS에서 제공하는 암호화 서비스(KMS) 등과의 연동을 통해 암호화된 메시지를 전송할 수 있습니다.

SageMaker에서 S3 버킷에 저장된 기계 학습 데이터를 사용하는 작업을 완료하였습니다.

 

 

Amazon SNS에 대한 기존적인 정보들을 알아보았으니 실제 서비스에 적용하여 활용해보시기 바랍니다.

지금까지 Amazon에서 제공하는 메시지 전송 관리형 서비스인 Amazon Simple Notification Service(Amazon SNS)을 알아보는 시간이었습니다....! 끝...!

 

 

 

 

[Reference]

 

 

 

 

+ Recent posts