[CLF-C02] 이론 강의: 대규모 분산 시스템을 위한 AWS 메시징 & 통합 서비스 완벽 이해

작성자: aws | 작성일: 2026년 06월 26일 | 조회: 0 | 좋아요: 0

AWS CLF-C02 | Foundational 과정
☁️ [CLF-C02] 이론 강의: 대규모 분산 시스템을 위한 AWS 메시징 & 통합 서비스 완벽 이해
분산 아키텍처의 핵심, SQS, SNS, EventBridge, Step Functions, MQ, Kinesis를 한 번에 정리합니다.
🎓 학습 안내: 클라우드 환경에서 애플리케이션을 구축할 때, 각 구성 요소들이 서로 독립적으로 작동하면서도 안정적으로 데이터를 주고받는 것은 매우 중요합니다. 이를 돕는 것이 바로 AWS의 메시징 및 통합(Messaging & Integration) 서비스들입니다. 이 서비스들은 애플리케이션 구성 요소 간의 결합도를 낮추고(Decoupling), 확장성과 내결함성을 높이는(Scalability & Fault Tolerance) 핵심적인 역할을 합니다. AWS Cloud Practitioner (CLF-C02) 시험에서는 이러한 서비스들의 기본적인 개념과 각각의 역할, 그리고 어떤 상황에 적합한지 묻는 문제가 자주 출제됩니다. 본 강의에서는 AWS의 주요 메시징 및 통합 서비스들을 깊이 있게 살펴보며, 실제 아키텍처에서 어떻게 활용되는지 이해하는 데 중점을 둘 것입니다.

현대의 클라우드 네이티브 애플리케이션은 대부분 마이크로서비스 아키텍처(Microservices Architecture)로 구축됩니다. 이 아키텍처에서는 수많은 서비스들이 서로 독립적으로 작동하며 데이터를 교환해야 하는데, 이때 메시징 및 통합 서비스들이 핵심적인 역할을 수행합니다. 이들은 서비스 간의 직접적인 의존성을 제거하고, 비동기적인(Asynchronous) 통신을 가능하게 하여 시스템 전체의 유연성과 안정성을 향상시킵니다.

1. Amazon SQS (Simple Queue Service): 메시지 큐의 표준

AWS SQS는 완전 관리형(Fully Managed) 메시지 큐 서비스입니다. 분산 시스템의 구성 요소 간에 메시지를 안정적으로 주고받을 수 있도록 대기열(Queue)을 제공하여 결합도를 낮춥니다. 프로듀서(Producer)는 메시지를 큐에 보내고, 컨슈머(Consumer)는 큐에서 메시지를 가져가 처리합니다. SQS는 메시지 손실 없이 높은 처리량과 확장성을 제공하며, 컨슈머가 메시지를 처리하지 못할 경우를 대비하여 재시도 메커니즘을 지원합니다.

  • Standard Queue: 처리량 무제한, 최소 한 번 전달(at-least-once delivery), 메시지 순서 보장 안됨. 대부분의 애플리케이션에 적합합니다.
  • FIFO (First-In-First-Out) Queue: 메시지 순서가 정확히 보장되며, 정확히 한 번 처리(exactly-once processing)됩니다. 은행 거래나 주문 처리와 같이 순서가 중요한 경우에 사용됩니다.

2. Amazon SNS (Simple Notification Service): Pub/Sub 알림의 중심

AWS SNS는 완전 관리형 푸시 알림 서비스입니다. 하나의 메시지를 여러 구독자(Subscriber)에게 동시에 전송하는 게시/구독(Publish/Subscribe, Pub/Sub) 패턴을 지원합니다. 이벤트 알림, 모니터링 경고, 메시지 브로드캐스팅 등 다양한 용도로 사용됩니다. 구독자는 SQS 큐, AWS Lambda 함수, HTTP/S 엔드포인트, 이메일, SMS 등 다양한 형태로 설정될 수 있습니다.

  • 주요 사용 사례: 분산 시스템 이벤트 알림, 마이크로서비스 간 메시지 팬아웃(fan-out), 사용자 알림 (SMS, 이메일).

SQS vs. SNS: 주요 차이점

이 두 서비스는 모두 메시지를 처리하지만, 작동 방식에 큰 차이가 있습니다.

  • SQS: Pull 기반 (Pull-based) - 컨슈머가 큐에서 메시지를 '가져갑니다'. 특정 서비스 간의 1:1 또는 1:N 비동기 처리에 적합합니다.
  • SNS: Push 기반 (Push-based) - 퍼블리셔가 토픽에 메시지를 '보내면' SNS가 구독자에게 자동으로 메시지를 '푸시'합니다. 1:N 브로드캐스팅, 즉 하나의 이벤트를 여러 독립적인 서비스나 사용자에게 전달하는 데 적합합니다.

3. Amazon EventBridge: 이벤트 기반 아키텍처의 허브

Amazon EventBridge는 서버리스 이벤트 버스 서비스로, 다양한 소스(AWS 서비스, 자체 애플리케이션, SaaS 앱)에서 발생하는 이벤트를 수신하여 필터링하고 원하는 대상으로 라우팅합니다. 이벤트 기반 아키텍처(Event-Driven Architecture)를 구축하는 데 핵심적인 역할을 합니다. 복잡한 이벤트 패턴 매칭과 필터링을 통해 특정 이벤트만 원하는 대상으로 보낼 수 있습니다.

  • 주요 사용 사례: AWS 리소스 변경 감지 및 대응, SaaS 애플리케이션 통합, 마이크로서비스 간 이벤트 라우팅.

4. AWS Step Functions: 분산 애플리케이션 오케스트레이션

AWS Step Functions는 분산 애플리케이션 및 마이크로서비스를 시각적 워크플로(Visual Workflow)로 손쉽게 조율할 수 있는 서버리스 서비스입니다. 여러 AWS 서비스(Lambda, EC2, ECS 등)들을 연결하여 복잡하고 장기 실행되는 프로세스를 구축하고 관리할 수 있습니다. 각 단계의 상태를 추적하고, 오류 발생 시 재시도 로직을 내장하여 견고한 워크플로를 만들 수 있습니다.

  • 주요 사용 사례: 데이터 처리 파이프라인, 비디오 인코딩 워크플로, 사용자 온보딩 프로세스, 챗봇 백엔드.

5. Amazon MQ: 레거시 애플리케이션을 위한 메시지 브로커

Amazon MQ는 Apache ActiveMQ 및 RabbitMQ와 같은 오픈 소스 메시지 브로커를 AWS에서 완전 관리형으로 제공하는 서비스입니다. 기존에 온프레미스에서 메시지 브로커를 사용하던 애플리케이션을 AWS로 리프트 앤 시프트(Lift-and-Shift)할 때 코드 변경 없이 쉽게 마이그레이션할 수 있도록 설계되었습니다. 클라우드 네이티브 애플리케이션에는 보통 SQS나 SNS가 더 적합하지만, 특정 표준 API가 필요한 경우에 유용합니다.

  • 주요 사용 사례: 기존 메시지 브로커 기반 애플리케이션의 클라우드 마이그레이션.

6. Amazon Kinesis: 실시간 스트리밍 데이터 처리

Amazon Kinesis는 대량의 스트리밍 데이터를 실시간으로 수집, 처리 및 분석할 수 있는 서비스 모음입니다. 로그 데이터, 이벤트 스트림, IoT 데이터 등 실시간으로 발생하는 데이터를 처리하는 데 특화되어 있습니다.

  • Kinesis Data Streams: 대용량 스트리밍 데이터를 실시간으로 수집하고 여러 컨슈머가 처리할 수 있도록 저장합니다.
  • Kinesis Data Firehose: 스트리밍 데이터를 S3, Redshift, Elasticsearch Service 등 다양한 목적지로 쉽게 로드합니다.
  • Kinesis Data Analytics: SQL 또는 Apache Flink를 사용하여 스트리밍 데이터를 실시간으로 분석합니다.
📌 핵심 요약
AWS 메시징 서비스는 애플리케이션 구성 요소 간의 결합도를 낮추고(Decoupling), 확장성(Scalability)과 내결함성(Fault Tolerance)을 높입니다.
Amazon SQS는 pull 기반의 메시지 큐 서비스로, 1:1 또는 1:N 비동기 처리에 적합하며 Standard와 FIFO 큐가 있습니다.
Amazon SNS는 push 기반의 게시/구독(Pub/Sub) 서비스로, 하나의 메시지를 여러 구독자에게 동시에 전달하는 브로드캐스팅에 사용됩니다.
Amazon EventBridge는 이벤트 기반 아키텍처의 허브로, 다양한 소스에서 이벤트를 수집하여 필터링하고 규칙에 따라 라우팅합니다.
AWS Step Functions는 복잡하고 장기 실행되는 분산 워크플로를 시각적으로 정의하고 오케스트레이션하는 서버리스 서비스입니다.
Amazon MQ는 기존 Apache ActiveMQ 또는 RabbitMQ 기반 애플리케이션의 클라우드 마이그레이션을 위한 완전 관리형 메시지 브로커입니다.
Amazon Kinesis는 대량의 스트리밍 데이터를 실시간으로 수집, 처리, 분석하는 서비스 모음으로, 실시간 데이터 처리에 특화되어 있습니다.
💡 시험 합격 Tip
CLF-C02 시험에서는 각 메시징 서비스의 '핵심 기능''주요 사용 사례'를 명확히 구분하는 것이 중요합니다. 특히 SQS와 SNS의 Pull vs. Push 모델, 그리고 EventBridge와의 역할 차이점을 잘 이해해야 합니다. 문제에 제시된 시나리오(예: '여러 서비스에 동시에 알림을 보내야 한다' -> SNS, '순서가 중요한 메시지를 안정적으로 처리해야 한다' -> SQS FIFO)에 어떤 서비스가 가장 적합한지 판단하는 연습을 하세요. Step Functions는 복잡한 '워크플로 오케스트레이션', Kinesis는 '실시간 스트리밍 데이터' 키워드와 연결하면 쉽게 맞출 수 있습니다.
Amazon SQS (Simple Queue Service)Amazon SNS (Simple Notification Service)Amazon EventBridgeAWS Step FunctionsAmazon MQAmazon Kinesis
🛡️ Deuktem AWS Lecture Bot | 커뮤니티 이동