📚 AWS 디커플링 서비스


1️. 디커플링(Decoupling) 핵심 개념

💡 디커플링 = 시스템 구성 요소 간 의존성을 낮추는 설계 방식

디커플링의 목적

  • 시스템 유연성 증가
  • 확장성(Scalability) 향상
  • 장애 발생 시 영향 범위 최소화

결합도 개념

🔒 Tight Coupling

  • 구성 요소 간 강한 의존성
  • 하나의 변경 → 전체 시스템 영향
  • 확장·변경 어려움

🔓 Loose Coupling

  • 구성 요소 간 낮은 의존성
  • 개별 요소 독립적 변경 가능
  • 안정적이고 확장 용이

2️. Amazon SQS (Queue 기반 디커플링)

📦 하나의 메시지를 한 번만 처리하는 큐 서비스

핵심 특징

  • 메시지 임시 저장 (최대 14일)
  • Consumer가 Polling 방식(PULL) 으로 처리
  • 처리 완료 시 메시지 삭제
  • 실패 시 메시지 재전달

SQS Queue 종류

Standard Queue

  • 순서 보장 ❌
  • 중복 전달 가능
  • At-Least-Once Delivery

FIFO Queue

  • 순서 보장 ✅
  • 중복 제거 ✅
  • Exactly-Once Delivery
  • .fifo 접미사 필수

SQS 주요 개념

  • Producer / Consumer
  • Visibility Timeout
  • Dead Letter Queue (DLQ)
  • Message Group ID
  • Deduplication ID

3️. Amazon SQS 활용 구조

🔄 비동기 작업 처리 & 트래픽 완충

활용 패턴

  • 트래픽 급증 시 버퍼 역할
  • Auto Scaling과 결합
  • 이미지 처리, 배치 작업, 비동기 처리

4️. Amazon SNS (Pub/Sub 기반 디커플링)

📢 하나의 메시지를 여러 구독자에게 동시에 전달

핵심 특징

  • PUSH 방식
  • Fan-Out 구조
  • 메시지 저장 ❌ (Standard)
  • Topic 기반 Pub/Sub

SNS 구성 요소

  • Topic
  • Publisher
  • Subscriber
  • Subscription
  • Message
  • Access Policy

SNS 활용 예

  • 알림 시스템
  • 이벤트 브로드캐스트
  • 다중 처리 로직 분리

5️. Amazon SNS + SQS 조합

🔗 Fan-Out + 안정적인 메시지 처리

  • SNS → 여러 SQS로 메시지 전달
  • 각 SQS는 독립 Consumer 처리
  • 필터링을 통한 조건별 분기 가능

6️. SNS FIFO / SQS FIFO

🔁 순서 + 중복 제거가 중요한 경우

FIFO 특징

  • 메시지 순서 보장
  • Deduplication 지원
  • Message Group 단위 병렬 처리

순서 보장 조건

  • SNS FIFO + SQS FIFO 조합 필수

7️. SNS Storage / Replay 패턴

♻️ 이벤트 재생(Replay)을 위한 구조

개념

  • 메시지를 S3/DynamoDB에 저장
  • 데이터 삭제 후
  • 동일 이벤트 흐름 재생성 가능

활용

  • 이벤트 소싱
  • 감사 로그
  • 데이터 복구

8️. Amazon Kinesis (스트리밍 기반 디커플링)

📡 실시간 스트리밍 데이터 처리 플랫폼

Kinesis 서비스 구성

  • Kinesis Data Streams
  • Amazon Data Firehose
  • Kinesis Data Analytics
  • Kinesis Video Streams

9️. Kinesis Data Streams

🌊 Shard 기반 실시간 데이터 수집

핵심 특징

  • 지속적으로 유입되는 데이터 처리
  • 데이터 재처리 가능
  • Shard 단위 확장
  • Retention: 24시간 ~ 1년

주요 개념

  • Shard
  • Partition Key
  • Sequence Number
  • Reshard (Split / Merge)
  • On-Demand / Provisioned Mode

10. Amazon Data Firehose

🚚 스트리밍 데이터를 목적지로 자동 전달

핵심 특징

  • 완전관리형
  • 별도 Consumer 관리 불필요
  • 내부 Buffer 기반 전송
  • Lambda 기반 Transform 지원

주요 목적지

  • Amazon S3
  • Amazon Redshift
  • Amazon OpenSearch
  • Datadog / Splunk
  • HTTP Endpoint

1️1. SQS vs SNS vs Kinesis 비교

구분SQSSNSKinesis
메시지 전달1:11:NStream
전달 방식PullPushPull
메시지 저장OX (Standard)O
순서 보장FIFO만FIFO만Shard 기준
재처리제한적FIFO 기반O
주요 목적작업 분리이벤트 브로드캐스트실시간 데이터 처리

📝 전체 요약

AWS 디커플링 서비스는 SQS(작업 분리), SNS(이벤트 전달), Kinesis(스트리밍 처리)를 통해 시스템을 느슨하게 연결하고 확장성과 안정성을 확보하는 아키텍처를 구현한다.