본문으로 건너뛰기

MSK

1 Amazon Managed Streaming for Apache Kafka (Amazon MSK)

  • Amazon MSK는 Apache Kafka의 관리형 서비스로, 사용자가 Kafka 클러스터를 손쉽게 설정하고 관리할 수 있게 합니다.
  • Amazon Kinesis의 대안으로 제공되며, AWS에서 완전 관리형 Apache Kafka 환경을 제공합니다.

2 주요 기능

2.1 간편한 설정 및 관리

  • Amazon MSK는 사용자가 클러스터를 생성, 업데이트, 삭제할 수 있도록 지원합니다.
  • Kafka 브로커 노드와 Zookeeper 노드를 MSK가 자동으로 생성하고 관리합니다.

2.2 고가용성과 내구성

  • MSK 클러스터를 VPC 내에서 다중 가용 영역(AZ)에 배포할 수 있습니다.
  • 최대 3개의 AZ를 지원하여 높은 가용성을 제공합니다.
  • 데이터는 EBS 볼륨에 저장되며 원하는 기간 동안 보관할 수 있습니다.
  • Apache Kafka의 일반적인 장애로부터 자동 복구 기능을 제공합니다.

2.3 보안 및 규정 준수

  • VPC 내에서 클러스터를 실행하여 네트워크 격리를 제공합니다.
  • IAM을 사용한 세밀한 접근 제어를 지원합니다.
  • 데이터 암호화를 통해 전송 중이거나 저장 중인 데이터를 보호합니다.

2.4 모니터링 및 알림

  • Amazon CloudWatch와 통합되어 클러스터의 성능 및 상태를 모니터링할 수 있습니다.
  • CloudWatch 경보를 설정하여 이상 징후를 빠르게 감지하고 대응할 수 있습니다.

2.5 MSK 서버리스

  • MSK 서버리스를 사용하여 Apache Kafka를 용량 관리 없이 실행할 수 있습니다.
  • MSK가 자동으로 리소스를 프로비저닝하고 컴퓨팅 및 스토리지를 확장합니다.

3 사용 사례

3.1 실시간 데이터 처리

  • Amazon MSK는 실시간 데이터 스트리밍을 처리하는 데 적합합니다.
  • 대용량의 데이터를 빠르게 수집, 처리 및 분석할 수 있습니다.
  • 예: 실시간 로그 분석, 실시간 클릭스트림 분석 등

3.2 이벤트 기반 아키텍처

  • 이벤트 기반 아키텍처에서 중요한 역할을 합니다.
  • 다양한 이벤트 소스를 통합하여 일관된 데이터 파이프라인을 구축할 수 있습니다.
  • 예: IoT 데이터 수집, 금융 거래 처리 등

3.3 데이터 통합

  • 여러 소스에서 데이터를 수집하여 중앙 집중식 데이터 레이크나 데이터 웨어하우스로 통합할 수 있습니다.
  • 데이터 파이프라인을 통해 데이터를 변환하고 적재할 수 있습니다.
  • 예: 데이터 웨어하우스로 데이터 이동, 다양한 데이터 소스 통합 등

4 MSK와 Kinesis의 차이점

4.1 메시지 크기

  • Kinesis Data Streams: 메시지 크기 제한이 1 MB입니다.
  • Amazon MSK: 기본 메시지 크기는 1 MB이지만, 최대 10 MB로 설정할 수 있습니다.

4.2 데이터 스트림 및 토픽

  • Kinesis Data Streams: 샤드를 사용하여 데이터 스트림을 구성하며, 샤드 분할 및 병합이 가능합니다.
  • Amazon MSK: 파티션으로 구성된 Kafka 토픽을 사용하며, 토픽에 파티션을 추가할 수 있습니다.

4.3 암호화

  • Kinesis Data Streams: TLS를 통한 전송 중 암호화 및 KMS를 통한 저장 중 암호화를 지원합니다.
  • Amazon MSK: PLAINTEXT 또는 TLS를 통한 전송 중 암호화 및 KMS를 통한 저장 중 암호화를 지원합니다.