본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] MSK (Kafka)

by BTC우동 2023. 5. 26.

안녕하세요. 할배즈..입니다.
오늘은 AWS에서 Apache Kafka를 완전관리형으로 사용할 수 있는 서비스를 소개합니다~!

 

MSK란?

Amazon Managed Streaming for Apache Kafka(Amazon MSK)는 Apache Kafka를 사용하여 스트리밍 데이터를 처리하는 애플리케이션의 구축 및 실행을 위해 사용할 수 있는 완전관리형 서비스입니다. Amazon MSK는 클러스터 생성, 업데이트 및 삭제 등에 필요한 제어 영역 작업을 제공합니다. 따라서 데이터 생성 및 소비와 같은 Apache Kafka 데이터 영역 작업을 사용할 수 있습니다. Apache Kafka의 오픈 소스 버전을 실행합니다. 즉, 파트너와 Apache Kafka 커뮤니티의 기존 애플리케이션, 도구 및 플러그인이 지원되므로 애플리케이션 코드를 변경할 필요가 없습니다. Amazon MSK를 사용하면 아래 나열된 Apache Kafka 버전 중 하나를 사용하는 클러스터를 생성할 수 있습니다.

 

주요기능

1. Apache Kafka는 내결함성이 지원되는 방식으로 스트리밍 데이터를 저장하며 생산자와 소비자 간의 버퍼를 제공합니다. Apache Kafka는 이벤트를 연속적인 레코드로 저장하며 레코드가 생성된 순서를 유지합니다.

 

2. 웹사이트, 사물 인터넷(IoT) 디바이스, Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 등의 대다수 데이터 생산자는 Apache Kafka를 통해 스트리밍 데이터를 지속적으로 게시하고 Apache Kafka 주제를 사용하여 이를 분류할 수 있습니다. 기계 학습 애플리케이션, AWS Lambda 함수 또는 마이크로서비스 등의 여러 데이터 소비자는 메시지 대기열 또는 기업 메시징 시스템과 비슷한 방식을 통해 각기 고유한 속도로 이러한 주제에서 데이터를 읽습니다.

 

3. 데이터 소비자는 데이터가 생성된 순서를 유지하면서 선입선출 방식으로 Apache Kafka 주제에서 데이터를 처리합니다.

작동원리

 

구성요소

브로커 노드— Amazon MSK 클러스터를 생성할 때 Amazon MSK를 생성할 수 있습니다. 이 다이어그램에 표시된 예제 클러스터에는 가용 영역당 하나의 브로커가 있습니다. 각 가용 영역에는 고유한 virtual private cloud(VPC) 서브넷이 있습니다.

ZooKeeper 노드— 아마존 MSK는 또한 아파치를 생성합니다 ZooKeeper 노드를 위한 노드. 아파치 ZooKeeper 는 안정성이 뛰어난 분산 조정을 지원하는 오픈 소스 서버입니다.

프로듀서 및 컨슈머 — Amazon MSK를 사용하면 Apache Kafka 데이터 영역 작업을 사용하여 주제를 만들고, 데이터를 생성 및 소비할 수 있습니다.

 

Amazon MSK는 클러스터에 대한 가장 일반적인 결함 시나리오를 감지하고 자동으로 복구하므로 생산자와 소비자 애플리케이션이 최소한의 영향을 받으면서 쓰기 및 읽기 작업을 계속할 수 있습니다. Amazon MSK가 브로커 결함을 감지하면 해당 결함을 완화하거나 비정상적 또는 연결할 수 없는 브로커를 새 브로커로 바꿉니다. 또한 가능한 경우 이전 브로커의 스토리지를 재사용하여 Apache Kafka가 복제해야 하는 데이터를 줄입니다. 가용성에 미치는 영향은 Amazon MSK가 감지 및 복구를 완료하는 소요되는 시간입니다.복구 후 생산자와 소비자 앱은 결함 이전에 사용한 것과 동일한 브로커 IP 주소와 계속 통신할 수 있습니다.

가격

Amazon MSK의 비용은 사용한 만큼 발생됩니다. 크게 3개의 요금으로 구성됩니다. 아래 요금표는 서울(region) 기준입니다.

 

- 브로커 인스턴스 요금 : 아래 표 참조

- 브로커 스토리지 요금 : GB-월 요금 = 0.114 USD

- 데이터 전송 요금 : 표준 AWS 데이터 전송요금으로 환산됩니다. 아래 표 참조

 

댓글