[AWS SAA] SNS와 SQS

시훈·2025년 4월 10일

AWS SAA

목록 보기
20/43

AWS SAA 시험에서 자주 나오는 조합, 바로 SNS + SQS에 대해 정리해보고자 한다.확실하게 메시징 서비스의 모든 흐름을 이해할 필요가 있다.


🗣️ SNS

Simple Notification Service

게시/구독(Pub/Sub) 방식의 알림 시스템

  • 이벤트를 감지한 시스템이 SNS 주제(Topic)에 메시지를 게시(Publish)
  • 해당 주제를 구독(Subscribe)한 서비스(SQS, Lambda, 이메일, SMS 등)에 메시지를 전송
  • 한 번 게시하면 여러 곳에 전달 = 팬아웃(Fanout) 구조
  • 매우 빠르고 실시간성이 높음

📦 메시지를 받을 수 있는 Publisher 유형

  • SQS Queue
  • Lambda 함수
  • Email, SMS
  • HTTP/HTTPS Endpoint
  • Kinesis Firehose (→ S3로 전송도 가능)

📬 SQS란?

Simple Queue Service

메시지를 저장하고 처리하는 비동기 큐 시스템

  • 하나 또는 여러 Producer → SQS Queue → 하나 또는 여러 Consumer
  • 메시지를 큐에 저장해두고 Consumer가 원하는 시점에 Poll해서 가져감
  • 처리량 높고 지연시간 낮음, 메시지 보존 최대 14일
  • 분산 시스템, 마이크로서비스 아키텍처에서 매우 유용!

🔁 SNS + SQS 팬아웃(Fanout) 구조란?

SNS에서 하나의 메시지를 발행하면, 여러 SQS Queue가 이를 동시에 수신할 수 있는 구조

온라인 주문 시스템 예시

  1. 주문 발생

  2. → SNS에 메시지 게시

  3. → 여러 SQS 대기열에 전달

  4. → 각 대기열에서 다른 용도로 처리 (주문 처리, 분석 등)


🧷 FIFO SNS + FIFO SQS 연동

SNS FIFO 주제는 다음 조건을 만족하면

SQS FIFO 큐와 연결해서 순서대로 메시지 처리 가능하다:

  • SNS FIFO 주제 생성
  • SQS FIFO 대기열을 구독자로 설정
  • 메시지에 Message Group ID 포함
  • 중복 제거 위해 Deduplication ID 사용 가능

📌 SAA 시험에 나오는 예시:

“SNS FIFO 주제를 생성하고, 이를 SQS FIFO 대기열에 연결” → 순서 보장되는 분산 처리 시스템 구축!


📑 SNS 주요 기능 요약

기능설명
주제(Topic)게시 대상 (이벤트가 발생했을 때 메시지를 보내는 곳)
구독(Subscription)주제를 구독하여 메시지를 받는 대상 (SQS, Email 등)
팬아웃 구조하나의 메시지를 여러 구독자에게 브로드캐스트
FIFO 지원순서를 보장하는 SNS + SQS 조합 가능
메시지 필터링구독자가 받을 메시지를 속성 기반으로 필터링 가능
보안IAM 정책, 암호화(AES), 접근 제어 정책 등 지원

📑 SQS 주요 기능 요약

항목설명
큐 타입Standard / FIFO
보존 기간1분 ~ 14일
가시성 타임아웃메시지 처리 중 다른 Consumer에게 안 보이게 설정
Long Polling큐에 메시지가 없을 경우 최대 20초 대기
중복 허용 여부Standard 큐는 허용, FIFO는 중복 제거 가능
보안IAM 정책, HTTPS 암호화, 큐 정책

🔥 자주 나오는 시험 포인트

유형출제 포인트
SNS + SQS 팬아웃SNS 주제에 게시 → 여러 SQS 큐에 동시에 전달 가능
FIFO 조합FIFO SNS + FIFO SQS 조합은 MessageGroupId 필수
보안SNS는 보안 그룹 ❌, IAM + 정책 기반 접근 제어
메시지 필터링SNS 구독 필터링 정책(JSON)으로 수신 메시지 제어 가능
문제 예시"SNS에서 메시지를 보내고, FIFO 대기열에 순서대로 저장하려고 한다. 어떤 구성을 해야 하는가?" → FIFO SNS 주제 + FIFO SQS 대기열 설정

🧠 정리 요약

  • SNS = 이벤트 알림 시스템 (Pub/Sub)
  • SQS = 비동기 큐 시스템 (Pull 기반)
  • 둘을 결합하면 확장성과 유연성을 동시에 얻을 수 있다
  • Fanout 구조, FIFO 조합, 메시지 필터링
profile
Backend Developer / Cloud Engineer

0개의 댓글