콘텐츠로 이동

🔔 AWS SNS (Simple Notification Service) 정리


1️⃣ AWS SNS란?

Amazon SNS는 Pub/Sub 메시징 서비스로, 애플리케이션이나 시스템에서 발생한 이벤트를 다수의 구독자(Subscriber)에게 동시에 알림을 전송할 수 있는 서비스입니다.

👉 쉽게 말해, “하나의 알림을 여러 사람/시스템에 자동으로 퍼뜨려주는 방송국” 역할을 합니다.


2️⃣ 주요 개념

주제(Topic)

메시지를 발행(Publish)할 수 있는 채널

발행자(Publisher)

이벤트/메시지를 Topic에 발행하는 주체 (예: 애플리케이션, Lambda 등)

구독자(Subscriber)

Topic에 연결된 엔드포인트 (예: Email, SMS, SQS, Lambda 등)

프로토콜(Protocol)

메시지 전달 방식 (HTTP/S, Email, SMS, Lambda, SQS 등)


3️⃣ 아키텍처 시각화

flowchart TD A["Publisher (EC2, Lambda, App)"] --> B["SNS Topic"] B --> C["Email Subscriber"] B --> D["SMS Subscriber"] B --> E["SQS Queue"] B --> F["Lambda Function"]


4️⃣ 특징

📡 푸시 기반 전달 → 실시간 알림

📩 다양한 프로토콜 지원 (Email, SMS, HTTP/S, SQS, Lambda 등)

📈 확장성 → 수많은 구독자에게 동시에 메시지 전송

💸 비용 효율적 → 전송량에 따라 과금 (소량은 무료 제공)

🛡️ 보안 → IAM 정책, KMS 암호화, VPC 엔드포인트 지원


5️⃣ 현업 활용 사례

🛎️ 알림 시스템

EC2 서버 CPU 80% 초과 시 CloudWatch Alarm → SNS 통해 Slack/Email 알림

📦 이커머스 주문 처리

주문 발생 시 SNS Topic → SQS(배송 시스템), Lambda(결제 처리), Email(고객 알림) 동시 전송

🚨 보안 이벤트 경보

IAM Root 계정 로그인 발생 시 → SNS 통해 보안팀에 SMS 즉시 알림

🤖 서버리스 이벤트 트리거

Lambda와 연결해 특정 이벤트 발생 시 자동 처리


✅ 정리

AWS SNS = Pub/Sub 알림 서비스

구성요소: Publisher → Topic → Subscriber

다양한 프로토콜로 실시간 알림 가능 (Email, SMS, HTTP, Lambda, SQS 등)

현업에서는 모니터링 알림, 주문 처리, 보안 경보, 서버리스 이벤트 트리거 등에 활용

👉 한마디로, “AWS의 방송국 알림 서비스” 라고 이해하면 쉽습니다.