AWS에서 Apache Kafka 사용: 기능 및 가격(AWS MSK)

오늘날 데이터 중심 시대에 실시간 스트리밍 데이터는 비즈니스 혁신과 경쟁 우위의 핵심 동력이 되었습니다. 금융 산업의 실시간 위험 관리, 전자상거래 플랫폼의 개인 맞춤형 추천, IoT 기기의 대규모 데이터 수집 등 어떤 목적이든 안정적이고 처리량이 높으며 확장 가능한 데이터 스트리밍 플랫폼은 필수적입니다.아파치 카프카 오픈소스 분산 스트림 처리 플랫폼으로서 사실상 업계 표준이 되었습니다. 하지만 기업이 자체 카프카 클러스터를 구축할 경우, 서버 운영 및 유지 관리, 확장성, 장애 복구, 모니터링, 보안 등 복잡한 문제를 해결하기 위해 많은 시간과 인력을 투자해야 하는 경우가 많습니다.

이를 위해 AWS는 Apache Kafka(AWS MSK)를 위한 Amazon Managed StreamingAWS MSK는 기업이 클라우드에서 Kafka를 빠르고 안전하게 실행하고 확장할 수 있도록 지원하는 완전 관리형 Kafka 서비스입니다. AWS MSK를 사용하면 개발자는 기본 운영에 시간을 낭비하지 않고 애플리케이션 로직과 비즈니스 혁신에 집중할 수 있습니다.

 

Amazon Managed Streaming for Apache Kafka(AWS MSK)란 무엇인가요?

Amazon MSK는 Apache Kafka의 배포, 확장 및 관리를 간소화하도록 설계된 완전 관리형 서비스입니다. 오픈 소스 Kafka의 핵심 기능을 그대로 사용하면서도 클러스터 운영 및 유지 관리 부담을 AWS에 이전합니다.

기존 Kafka를 사용할 때 기업은 종종 다음 사항을 고려해야 합니다.

  • 서버 하드웨어 선택 및 유지 관리
  • 클러스터 용량 계획 및 탄력적 확장
  • 보안 인증 및 액세스 제어
  • 데이터 지속성 및 백업
  • 소프트웨어 버전 업그레이드 및 취약점 패치
  • 오류 감지 및 복구 메커니즘

이러한 단계에는 전문적인 카프카 운영 및 유지관리 팀이 필요할 뿐만 아니라 많은 시간과 비용이 소모됩니다. AWS MSK 자동화 및 관리형 서비스를 통해 이러한 복잡성이 크게 간소화됩니다. 소규모 데이터 스트리밍 프로토타입을 구축하든 대규모 실시간 스트리밍 플랫폼을 운영하든, MSK는 안정적이고 가용성이 높으며 안전한 운영 환경을 제공합니다.

 

Amazon MSK의 핵심 기능

1. Amazon MSK 서버리스

MSK 서버리스 데이터 트래픽 변동폭이 크고 불확실성이 높은 애플리케이션 시나리오에 적합합니다. 기존 Kafka 클러스터는 브로커 수와 하드웨어 사양을 미리 구성해야 하므로, 리소스가 과도하게 프로비저닝되어 비용이 낭비되거나 리소스가 부족하게 프로비저닝되어 성능 병목 현상이 발생할 수 있습니다.

MSK Serverless를 사용하면 사용자는 클러스터 크기에 대해 걱정할 필요가 없으며, 서비스는 실시간 부하에 따라 자동으로 확장되거나 축소됩니다. 예를 들면 다음과 같습니다.

  • 전자상거래 홍보프로모션 이벤트 기간 동안 사용자 행동 로그가 급증하면 Kafka는 처리 용량을 신속하게 확장해야 합니다. 이벤트 후에는 트래픽이 감소하고, 클러스터는 자동으로 축소되어 낭비를 방지할 수 있습니다.
  • 사물인터넷 시나리오: 낮에는 대량의 디바이스 데이터가 일괄적으로 업로드되고, 밤에는 데이터 양이 크게 줄어듭니다. MSK Serverless는 이러한 변동에 유연하게 대응할 수 있습니다.

MSK Serverless는 내장된 장애 허용 기능과 자동 장애 조치 기능을 제공하여 높은 애플리케이션 가용성과 비즈니스 연속성을 보장합니다. 전담 운영팀이 없는 스타트업에게 실시간 스트리밍 플랫폼을 빠르게 구축하기에 이상적인 선택입니다.

2. 아마존 MSK 커넥트

기업들은 카프카를 메시지 큐로만 사용하는 것이 아니라, 카프카를 데이터베이스, 스토리지, 분석 시스템과 통합해야 할 필요성도 갖고 있습니다.MSK 커넥트 바로 이러한 목적을 위해 만들어졌습니다.

MSK Connect는 다음을 기반으로 합니다. 카프카 커넥트 이 프레임워크는 관리형 커넥터 런타임 환경을 제공합니다. 이를 통해 사용자는 Kafka를 외부 시스템(예: Amazon S3, RDS, Redshift, Elasticsearch, MongoDB)에 빠르게 연결하여 실시간 데이터 유입 및 유출을 달성할 수 있습니다.

일반적인 적용 시나리오:

  • Kafka에서 Amazon S3로 사용자 행동 데이터를 실시간으로 기록하여 데이터 레이크와 머신 러닝 교육에 사용합니다.
  • 관계형 데이터베이스에서 변경 사항(CDC)을 캡처하고 실시간으로 Kafka에 푸시한 다음 다운스트림 애플리케이션에서 사용합니다.
  • 실시간 검색 및 로그 분석을 위해 Kafka 메시지를 Elasticsearch로 푸시합니다.

기존 아키텍처에서는 Kafka Connect 플러그인을 배포하고 유지관리하려면 번거로운 구성과 모니터링이 필요하지만, MSK Connect는 자동 확장, 오류 복구, 내장 모니터링 기능을 제공하여 사용 임계값을 크게 낮춥니다.

3. Amazon MSK 레플리케이터

많은 기업이 고가용성 및 다중 지역 시스템을 구축할 때 클러스터 간 및 지역 간 데이터 복제는 반드시 준수해야 할 사항입니다.

MSK 레플리케이터 MirrorMaker 2.0을 기반으로 사용자가 한 클러스터에서 다른 클러스터로 Kafka 토픽을 복제할 수 있도록 지원합니다. 동기 및 비동기 모드를 모두 지원하므로 사용자는 일관성 및 지연 시간 요구 사항에 따라 다양한 복제 방법을 선택할 수 있습니다.

일반적인 응용 분야:

  • 재해 복구: 데이터는 실시간으로 기본 클러스터에서 백업 클러스터로 복사됩니다. 기본 클러스터에 장애가 발생하면 비즈니스를 백업 클러스터로 신속하게 전환할 수 있습니다.
  • 지역 간 애플리케이션: 미국과 아시아 태평양 지역에 애플리케이션을 별도로 배포하지만 사용자 메시지 스트림을 공유해야 하는 경우, MSK Replicator를 사용하여 데이터 일관성을 유지할 수 있습니다.
  • 데이터 마이그레이션: 자체 구축한 Kafka에서 AWS MSK로 마이그레이션하는 기업은 Replicator를 사용하여 원활한 전환을 이룰 수 있습니다.

MSK Replicator는 오프셋 롤오버, 자동 주제 생성, 성능 모니터링도 지원하여 수동 작업의 복잡성을 줄여줍니다.

 

Amazon MSK 가격 설명

AWS MSK는 다음과 같은 범주를 포함하는 유연한 종량제 가격 책정 구조를 제공합니다.

1. MSK 클러스터 가격(사전 프로비저닝)

프로비저닝 모드에서는 사용자가 인스턴스 유형과 수량을 선택해야 하며, 요금은 시간당 청구됩니다. 또한 스토리지 및 추가 처리량에 대한 비용도 지불해야 합니다.

예시 인스턴스 가격(미국 동부 지역):

  • kafka.t3.small: $0.0456/시간
  • kafka.m5.large: $0.21/시간
  • kafka.m7g.large: $0.204/시간
  • kafka.m5.xlarge: $0.42/시간
  • kafka.m7g.xlarge: $0.408/시간

저장 GB/월 추가 처리량은 다음과 같이 청구됩니다. MB/초/월 클러스터 내부 통신은 무료이지만, 클러스터 간 또는 VPC 간 통신에는 AWS 데이터 전송 요금이 부과됩니다.

2. MSK 서버리스 가격

MSK Serverless는 사용량에 따라 요금이 청구되며 탄력적인 수요에 적합합니다.

  • 클러스터 시간: $0.75/시간
  • 분할 시간: $0.0015 / 시간
  • 저장 용량: $0.10 / GiB·월
  • 데이터 쓰기: $0.10/GiB
  • 읽은 데이터: $0.05 / GiB

이 모델은 스타트업, 실험 프로젝트 또는 트래픽 변동이 큰 애플리케이션에 특히 적합합니다.

3. MSK Connect 가격

MSK 커넥트 MSK 커넥트 유닛(MCU) 수량 청구는 시간당 MCU당 $0.11입니다.

예를 들어, 자동 스케일링 기능을 갖춘 2~4개의 MCU를 사용하는 커넥터는 한 달(1984시간)에 약 $218.24의 비용이 듭니다. Kafka Connect를 직접 운영하는 것보다 MSK Connect는 더 높은 안정성과 예측 가능한 비용을 제공합니다.

4. MSK Replicator 가격

MSK Replicator의 가격은 다음과 같습니다.

  • 복제기 시간: $0.30 / 시간
  • 데이터 복제: $0.08/GiB

기업이 매일 여러 지역에 걸쳐 100GB의 데이터를 복제해야 하는 경우(한 달에 약 3TB) 복제 비용은 약 $240 + $216 = $456입니다.

 

비용 예시

  • 소규모 팀:
  • MSK Serverless를 사용하면 매일 200GB의 데이터를 쓰고 100GB의 데이터를 읽어서 한 달에 500GB를 저장합니다.
  • 쓰기: 200GB × 30일 × $0.10 = $600
  • 읽기: 100GB × 30일 × $0.05 = $150
  • 저장 용량: 500GB × $0.10 = $50
  • 클러스터 시간당 요금: 720시간 × $0.75 = $540
  • → 총 비용 ≈ $1340/월
  • 중대기업:
  • kafka.m5.large 인스턴스 3개를 배포하고 1개월(720시간) 동안 실행합니다.
  • 예: $0.21 × 3 × 720 = $453.6
  • 2TB 저장공간: 2048GB × $0.023 ≈ $47
  • → 총 비용 ≈ $500/월

이는 AWS MSK가 비용에 민감한 소규모 프로젝트와 대규모 엔터프라이즈 애플리케이션 모두의 요구 사항을 충족할 수 있는 유연한 가격 모델을 제공한다는 것을 보여줍니다.

왜 AWS MSK를 선택해야 할까요?

  • 시간과 노력을 절약하세요: 운영 및 유지보수 작업량을 70% 이상 줄입니다.
  • 고가용성: 자동 장애 조치를 통한 다중 가용성 영역 배포.
  • 안전 및 규정 준수: 엔터프라이즈 수준의 요구 사항을 충족하기 위해 VPC, IAM 및 암호화 지원이 내장되어 있습니다.
  • 원활한 통합: S3, Lambda, Redshift, EMR 등 AWS 서비스와 원활하게 연결합니다.
  • 사용하면서 지불: 유휴 자원과 낭비를 피하고, 비용을 예측 가능하게 만듭니다.

 

결론

기업이 데이터 중심의 실시간 운영으로 전환함에 따라 Apache Kafka는 핵심 인프라로 자리 잡았습니다. 하지만 높은 진입 장벽과 자체 구축된 Kafka 운영 및 유지 관리 비용은 많은 팀에게 부담이 되었습니다.

AWS MSK 안정적이고 확장 가능하며 고도로 자동화된 Kafka 관리형 서비스를 제공합니다. MSK Serverless, MSK Connect, MSK Replicator 등의 기능을 결합하여 탄력적인 처리 및 데이터 통합부터 지역 간 복제까지 모든 요구 사항을 충족합니다. 유연한 가격 모델을 통해 스타트업부터 대기업까지 필요에 맞는 비용 구조를 선택할 수 있습니다.

AWS 리셀러로서 AWS MSK를 다음과 같은 목적으로 권장합니다.

  • 데이터 스트리밍 플랫폼을 빠르게 출시하고자 하는 스타트업
  • 엄청난 양의 실시간 데이터를 처리해야 하는 인터넷 회사
  • 높은 가용성과 규정 준수가 필요한 금융, 의료, 제조 산업의 고객입니다.

Kafka 플랫폼 구축을 고려 중이거나 셀프 호스팅 운영 및 유지 관리의 번거로움을 피하고 싶다면 AWS MSK가 가장 비용 효율적이고 유망한 옵션입니다. 귀사에 적합한 아키텍처 및 가격 옵션에 대해 자세히 알아보려면 저희에게 문의하세요!

더 탐험할 것

당신이 필요한 것을 말해