Amazon Managed Streaming for Apache Kafka FAQ

일반

Amazon MSK는 Apache Kafka 인프라와 운영을 관리하는 AWS 스트리밍 데이터 서비스로, 개발자 및 DevOps 관리자는 Apache Kafka 운영 관련 전문 지식이 없어도 AWS에서 Apache Kafka 애플리케이션 및 Kafka Connect 커넥터를 손쉽게 실행할 수 있습니다. Amazon MSK는 Apache Kafka 클러스터를 운영, 유지 관리, 규모 조정하고, 즉시 사용 가능한 엔터프라이즈급 보안 기능을 제공하며, 스트리밍 데이터 애플리케이션 개발 속도를 높여 주는 내장 AWS 통합 기능을 제공합니다.

시작하려면 기존 Apache Kafka 워크로드와 Kafka Connect 커넥터를 Amazon MSK로 마이그레이션하거나, 몇 단계만 거쳐 새 워크로드를 처음부터 구축하면 됩니다. 복제에 사용되는 클러스터 내 트래픽에는 데이터 전송 요금이 부과되지 않으며 약정이나 선결제가 필요하지 않습니다. 사용한 리소스에 대해서만 지불하면 됩니다.

Apache Kafka는 실시간 스트리밍 데이터 파이프라인 및 애플리케이션 구축을 위한 확장 가능하고 내결함성을 갖춘 고성능 오픈 소스 플랫폼입니다. Apache Kafka는 데이터 스토어에 스트리밍 데이터를 생성하는 애플리케이션(생산자)을 데이터 스토어에서 스트리밍 데이터를 소비하는 애플리케이션(소비자)에서 분리하는 스트리밍 데이터 스토어입니다. 조직에서는 스트리밍 데이터를 지속적으로 분석하고 이에 대응하는 애플리케이션의 데이터 소스로 Apache Kafka를 사용합니다.

스트리밍 데이터는 수천 개의 머신, 디바이스, 웹 사이트, 애플리케이션에서 생성되는 작은 레코드나 이벤트(레코드나 이벤트 하나의 크기는 보통 몇 킬로바이트임)의 연속 스트림입니다. 스트리밍 데이터에는 모바일이나 웹 애플리케이션을 사용하는 고객이 생성하는 로그 파일, 전자상거래 구매, 게임 내 플레이어 활동, 소셜 네트워크의 정보, 금융 거래, 지리 정보 서비스, 보안 로그, 지표, 커넥티드 디바이스의 원격 분석 또는 데이터 센터의 계측 등 다양한 데이터가 포함되어 있습니다. Amazon MSK 및 Amazon Kinesis Data Streams와 같은 스트리밍 데이터 서비스를 사용하면 손쉽게 스트리밍 데이터를 지속적으로 수집, 처리, 전송할 수 있습니다.

Apache Kafka의 오픈 소스 구성 요소인 Kafka Connect는 데이터베이스, 키 값 스토어, 검색 인덱스, 파일 시스템 등의 외부 시스템과 Apache Kafka를 연결하기 위한 프레임워크입니다.

Apache Kafka의 세 가지 주요 기능은 다음과 같습니다.

  • Apache Kafka는 내결함성이 지원되는 방식으로 스트리밍 데이터를 저장하며 생산자와 소비자 간의 버퍼를 제공합니다. Apache Kafka는 이벤트를 연속적인 레코드로 저장하며 레코드가 생성된 순서를 유지합니다.
  • 웹 사이트, IoT 디바이스, Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 등의 많은 데이터 생산자는 Apache Kafka를 통해 스트리밍 데이터를 지속적으로 게시하고 Apache Kafka 주제를 사용하여 이를 분류할 수 있습니다. 여러 데이터 소비자(기계 학습 애플리케이션, AWS Lambda 함수, 마이크로서비스 등)는 메시지 대기열 또는 엔터프라이즈 메시징 시스템과 마찬가지로 고유한 속도로 이러한 주제를 읽습니다.
  • 데이터 소비자는 데이터가 생성된 순서를 유지하면서 선입선출 방식으로 Apache Kafka 주제의 데이터를 처리합니다.

Apache Kafka는 주제에 레코드를 저장합니다. 데이터 생산자는 주제에 레코드를 쓰고 소비자는 주제에서 레코드를 읽습니다. Apache Kafka의 각 레코드는 키, 값, 타임스탬프와 경우에 따라 헤더 메타데이터로 구성됩니다. Apache Kafka는 브로커라는 여러 노드에서 주제를 파티셔닝하고 이러한 파티션을 복제합니다. Apache Kafka는 하나 이상의 브로커에서 클러스터로 실행되며, 여러 AWS 가용 영역에 브로커를 배치하여 고가용성 클러스터를 생성합니다. Apache Kafka는 Apache ZooKeeper 또는 Apache Kafka Raft(KRaft)를 사용하여 클러스터 메타데이터를 유지 관리합니다.

Apache Kafka는 스트리밍 데이터를 변환, 전달 및 응답하고, 여러 시스템이나 애플리케이션 사이에서 데이터를 안정적으로 전송하는 실시간 스트리밍 데이터 파이프라인을 구축하는 데 사용될 수 있습니다.

예. Apache Kafka 클라이언트는 AWS Glue의 서버리스 기능인 AWS Glue 스키마 레지스트리를 무료로 사용할 수 있습니다. 시작하고 자세히 알아보려면 AWS Glue 스키마 레지스트리 사용 설명서를 참조하세요.

Amazon MSK를 사용하면 AWS에서 개방형 고가용성 및 보안을 통해 Apache Kafka를 손쉽게 시작하고 실행할 수 있습니다. Amazon MSK는 Apache Kafka 클러스터 실행에서 발생하는 운영 오버헤드 없이 AWS 서비스와의 통합도 제공합니다. Amazon MSK에서는 Apache Kafka의 오픈 소스 개방형 버전을 사용하고, Apache Kafka 클러스터를 설정하고, 프로비저닝하며, AWS와 통합하고, 지속적인 유지 관리를 수행할 수 있습니다.

콘솔에서 몇 단계만 거치면 Amazon MSK 클러스터를 생성할 수 있습니다. 여기서 Amazon MSK는 비정상 브로커를 교체하고, 고가용성을 위해 데이터를 자동으로 복제하고, 메타데이터 노드를 관리하며, 필요에 따라 하드웨어 패치를 자동으로 배포하고, AWS 서비스와의 통합을 관리하고, 콘솔을 통해 중요 지표를 표시하고, Apache Kafka 버전 업그레이드를 지원하므로 오픈 소스 버전 Apache Kafka의 개선된 기능을 활용할 수 있습니다.

리소스

Amazon MSK 시작하기 안내서에 따라 클러스터를 설정하고 클러스터를 생성 및 사용할 수 있습니다. 요약하면 AWS Management Console에서 몇 단계만 거치거나 AWS SDK를 사용하여 첫 번째 클러스터를 생성할 수 있습니다. 먼저 Amazon MSK 콘솔에서 MSK 클러스터를 생성할 AWS 리전을 선택합니다. 클러스터의 이름, 클러스터를 실행하는 데 사용할 Virtual Private Cloud(VPC), 각 가용 영역의 서브넷을 선택합니다. 프로비저닝된 클러스터를 생성하는 경우 브로커 인스턴스 유형과 가용 영역당 브로커 수를 선택할 수도 있습니다.

프로비저닝된 클러스터에는 브로커 인스턴스와 추상화된 메타데이터 노드가 포함됩니다. 서버리스 클러스터는 그 자체로 리소스이며 모든 기본 리소스를 추상화합니다.

Apache Kafka에서 브로커는 Apache Kafka 클러스터를 구성하는 개별 서버입니다. 브로커는 Kafka 주제에 게시된 데이터를 저장 및 복제하고, 해당 주제 내의 파티션을 관리하며, 클라이언트 요청(메시지 생성 및 사용)을 처리하고, Kafka 배포의 전체 상태를 유지 관리하기 위해 서로 협력하는 일을 담당합니다. 브로커는 Kafka가 분산되고 확장 가능하며 내결함성이 있는 아키텍처를 구현할 수 있도록 하는 핵심 구성 요소입니다.

프로비저닝된 클러스터에는 EC2 T3.small 인스턴스 또는 EC2 M7g 및 M5 인스턴스 패밀리 내의 인스턴스를 선택할 수 있습니다. 서버리스 클러스터에서 브로커는 완전히 추상화됩니다. MSK는 Standard 및 Express 브로커 유형도 제공합니다.

아니요. 프로비저닝하는 각 브로커에는 Amazon MSK 서비스를 통해 관리되는 부팅 볼륨 스토리지가 포함됩니다.

탄력적 네트워크 인터페이스(ENI) 등의 일부 리소스는 Amazon EC2 계정에 표시됩니다. 그 외 Amazon MSK 리소스는 Amazon MSK 서비스를 통해 관리되므로 Amazon EC2 계정에 표시되지 않습니다.

프로비저닝된 클러스터에는 생성하는 모든 클러스터와 함께 브로커 인스턴스를 프로비저닝해야 합니다. Standard 브로커에서는 스토리지를 프로비저닝하고 선택적으로 스토리지 볼륨에 대해 프로비저닝된 스토리지 처리량을 활성화하여 추가 브로커를 프로비저닝할 필요 없이 I/O 규모를 조정할 수 있습니다. Express 브로커를 사용하면 스토리지를 프로비저닝하거나 관리할 필요가 없습니다. 모든 클러스터 유형의 경우 Apache ZooKeeper 또는 KRaft 노드와 같은 메타데이터 노드를 프로비저닝할 필요가 없습니다. 이러한 리소스는 생성한 각 클러스터에 추가 비용 없이 포함되기 때문입니다. 서버리스 클러스터에 대해, 클러스터를 리소스로 생성하기만 하면 됩니다.

Amazon MSK는 Apache Kafka의 리더-팔로워 복제를 사용하여 브로커 간에 데이터를 복제합니다. Amazon MSK를 사용하면 다중 AZ 복제를 통해 클러스터를 쉽게 배포할 수 있습니다. Standard 브로커를 사용하면 주제별로 사용자 지정 복제 전략을 사용할 수 있습니다. Express 브로커는 항상 세 개의 가용 영역에 데이터를 복제하여 더 높은 가용성을 보장합니다. 리더 및 팔로워 브로커는 지정된 브로커 유형 및 복제 전략을 사용하여 배포 및 격리됩니다. 예를 들어 가용 영역 브로커 복제 전략이 세 개이고 가용 영역 클러스터당 브로커가 한 개인 Standard 브로커를 선택하면, Amazon MSK는 브로커 3개로 구성된 클러스터(한 리전의 3개 가용 영역에 브로커 1개)를 생성하며, 주제 복제 요소를 재정의하지 않는 한 기본적으로 주제 복제 요소도 3개가 됩니다. 클라이언트 장애 조치 중에 어떤 일이 발생하는지 자세히 알아보려면 클라이언트 장애 조치 설명서를 참조하세요.

예. Amazon MSK를 사용하면 사용자 지정 구성을 생성하여 새 클러스터와 기존 클러스터에 적용할 수 있습니다. Express 브로커는 더 많은 구성이 가용성과 내구성에 영향을 미칠 수 있는 최적이 아닌 값으로 설정되지 않도록 방지합니다. 또한 Express 브로커는 Amazon MSK가 스토리지 계층을 완전히 관리하므로 스토리지와 관련된 구성을 추상화하여 더 간단한 환경을 제공합니다. 사용자 지정 구성에 대한 자세한 내용은 구성 설명서를 참조하세요.

Apache Kafka 클러스터가 생성되면, Apache Kafka API를 사용하여 주제를 생성할 수 있습니다. 모든 주제 및 파티션 레벨 작업과 구성은 Apache Kafka API를 사용하여 수행됩니다. 다음 명령은 Apache Kafka API와 클러스터에 제공된 구성 세부 정보를 사용하여 주제를 생성하는 예제입니다.


<path-to-your-kafka-installation>/bin/kafka-topics.sh --create — bootstrap-server <BootstrapBrokerString> --replication-factor 3 --partitions 1 -- topic TopicName

Amazon MSK는 Apache Kafka 클러스터를 위한 두 가지 배포 옵션, 즉 Amazon MSK Provisioned와 Amazon MSK Serverless를 제공합니다. MSK Provisioned를 사용하면 클러스터에 대한 다양한 수준의 제어 기능을 제공하는 동시에 Apache Kafka 클러스터를 관리할 때 발생하는 운영 오버헤드를 대부분 제거할 수 있습니다. MSK Provisioned를 사용하면 브로커 단위로 클러스터의 규모를 조정할 수 있습니다. Standard 및 Express 브로커를 비롯한 다양한 브로커 유형 중에서 선택할 수 있습니다. 반면 MSK Serverless는 클러스터 규모 조정 및 관리를 완전히 추상화하는 클러스터 유형입니다. MSK Serverless를 사용해 클러스터를 프로비저닝하고, 구성하고, 최적화할 필요 없이 애플리케이션을 실행할 수 있으며 데이터 볼륨을 스트리밍하고 유지한 만큼 비용을 지불합니다. 또한 Amazon MSK는 MSK 클러스터에 대한 연결을 간소화하는 여러 옵션을 제공합니다. 이러한 옵션에는 Amazon MSK Connect, Amazon MSK Replicator, 기타 기본 AWS 통합이 포함됩니다. 자세한 내용은 다음 섹션을 참조하세요. 

Amazon MSK Provisioned

MSK Provisioned는 Apache Kafka 클러스터를 수동으로 구성하고 규모 조정할 수 있는 MSK 클러스터 배포 옵션입니다. 이를 통해 Apache Kafka 환경을 지원하는 인프라를 다양한 수준으로 제어할 수 있습니다.

MSK Provisioned를 사용하면 인스턴스 유형, Standard 브로커 유형의 스토리지 볼륨, Kafka 클러스터를 구성하는 브로커 노드 수를 선택할 수 있습니다. 또한 데이터 처리 요구 사항이 변경됨에 따라 브로커를 추가하거나 제거하여 클러스터의 규모를 조정할 수 있습니다. 이러한 유연성을 통해 처리량, 보존 용량 또는 기타 성능 특성을 극대화하는 등 특정 워크로드 요구 사항에 맞게 클러스터를 최적화할 수 있습니다.

MSK Provisioned는 인프라 구성 옵션 외에도 엔터프라이즈급 보안, 모니터링, 운영상의 이점을 제공합니다. 여기에는 Apache Kafka 버전 업그레이드, 암호화 및 액세스 제어를 통한 내장된 보안, 모니터링을 위한 Amazon CloudWatch 등 다른 AWS 서비스와의 통합과 같은 기능이 포함됩니다. MSK Provisioned는 Standard와 Express라는 두 가지 주요 브로커 유형을 제공합니다.

Standard 브로커는 클러스터를 가장 유연하게 구성할 수 있는 반면, Express 브로커는 고성능 스트리밍 애플리케이션 실행을 위한 탄력성, 처리량, 복원력, 사용 편의성을 제공합니다. 각 서비스에 대한 자세한 내용은 아래 하위 섹션을 참조하세요. 아래 표에는 Standard 브로커와 Express 브로커 간의 주요 기능 비교도 나와 있습니다.

 

기능 표준 Express
스토리지 관리 고객 관리형(기능에는 EBS 스토리지, 계층형 스토리지, 프로비저닝된 스토리지 처리량, 자동 규모 조정, 스토리지 용량 알림 포함) MSK 완전관리형
지원되는 인스턴스 T3, M5, M7g M7g
크기 및 규모 조정 고려 사항 처리량, 연결, 파티션, 스토리지 처리량, 연결, 파티션
브로커 규모 조정 수직 및 수평적 스케일링 수직 및 수평적 스케일링
Kafka 버전 설명서 참조 버전 3.6에서 시작
Apache Kafka 구성 더 많이 구성 가능 복원력 향상을 위해 대부분 MSK에서 관리
보안 암호화, 프라이빗/퍼블릭 액세스, 인증 및 권한 부여 - IAM, SASL/SCRAM, mTLS, 일반 텍스트, Kafka ACL 암호화, 프라이빗/퍼블릭 액세스, 인증 및 권한 부여 - IAM, SASL/SCRAM, mTLS, 일반 텍스트, Kafka ACL
모니터링 CloudWatch, 오픈 모니터링 CloudWatch, 오픈 모니터링
     
     

예. Amazon MSK는 모든 Apache Kafka 워크로드를 실행할 수 있도록 AWS Graviton 3 기반 M7g 인스턴스를 .large에서 .16xlarge 크기까지 지원합니다. Graviton 인스턴스는 Amazon MSK와 동일한 가용성 및 내구성 이점을 제공하며 이와 유사한 M5 인스턴스에 비해 비용이 최대 24% 저렴합니다. Graviton 인스턴스는 Amazon MSK의 M5 인스턴스에 비해 인스턴스당 최대 29% 많은 처리량을 제공하므로 고객은 더 적은 수의 브로커 또는 더 작은 크기의 인스턴스로 MSK 클러스터를 실행할 수 있습니다.

Standard 브로커

MSK Provisioned용 Standard 브로커는 클러스터의 성능을 구성할 수 있는 최고의 유연성을 제공합니다. 광범위한 클러스터 구성 중에서 선택하여 애플리케이션에 필요한 가용성, 내구성, 처리량, 지연 특성을 실현할 수 있습니다. 또한 스토리지 용량을 프로비저닝하고 필요에 따라 늘릴 수 있습니다. Amazon MSK는 Standard 브로커 및 연결된 스토리지 리소스의 하드웨어 유지 관리를 처리하여 발생할 수 있는 하드웨어 문제를 자동으로 해결합니다.

Express 브로커

MSK Provisioned의 Express 브로커를 사용하면 Apache Kafka를 더 간단하게 관리하고 더 비용 효율적으로 대규모로 실행할 수 있으며 예상대로 지연 시간이 짧고 더 탄력적입니다. 브로커에는 자동으로 규모 조정되는 종량제 스토리지가 포함되며 크기 조정, 프로비저닝 또는 사전 예방적 모니터링이 필요하지 않습니다. 선택한 인스턴스 크기에 따라 각 브로커 노드는 표준 Apache Kafka 브로커에 비해 브로커당 최대 3배 더 많은 처리량을 제공하고, 최대 20배 더 빠르게 스케일 업하며, 90% 더 빠르게 복구할 수 있습니다. Express 브로커는 Amazon MSK의 모범 사례 기본값으로 사전 구성되어 있으며 클라이언트 처리량 할당량을 적용하여 클라이언트와 Kafka의 백그라운드 운영 간의 리소스 경합을 최소화합니다.

  • 스토리지 관리 불필요: Express 브로커를 사용하면 스토리지 리소스를 프로비저닝하거나 관리할 필요가 없습니다. 유연하고 거의 무제한이며 사용한 만큼만 지불하는 완전관리형 스토리지를 이용할 수 있습니다. 처리량이 많은 사용 사례의 경우 컴퓨팅 인스턴스와 스토리지 볼륨 간의 상호 작용과 관련 처리량 병목 현상에 대해 추론할 필요가 없습니다. 이러한 기능은 클러스터 관리를 간소화하고 스토리지 관리 운영 오버헤드를 제거합니다.
  • 빠른 규모 조정: Express 브로커를 사용하면 Standard 브로커를 사용할 때보다 빠르게 클러스터의 규모를 조정하고 파티션을 이동할 수 있습니다. 이 기능은 향후 로드 스파이크를 처리하기 위해 클러스터를 스케일 아웃하거나 비용을 절감하기 위해 클러스터를 스케일 인해야 할 때 매우 중요합니다. 클러스터 규모 조정에 대한 자세한 내용은 클러스터 확장, 브로커 제거, 파티션 재할당, 리밸런싱을 위한 LinkedIn의 Cruise Control 설정에 관한 섹션을 참조하세요.
  • 더 많은 처리량: Express 브로커는 Standard 브로커보다 브로커당 최대 3배 더 많은 처리량을 제공합니다. 예를 들어, m7g.16xlarge 크기의 Express 브로커당 최대 500Mbps의 데이터를 안전하게 쓸 수 있는데 비해, 동일한 Standard 브로커에서는 153.8Mbps의 속도로 데이터를 쓸 수 있습니다(두 수치 모두 복제 및 리밸런싱과 같은 백그라운드 작업에 충분한 대역폭이 할당되어 있다고 가정함).
  • 높은 복원력을 위한 구성: Express 브로커는 클러스터의 복원력을 향상시키도록 사전 구성된 다양한 모범 사례를 자동으로 제공합니다. 여기에는 중요한 Apache Kafka 구성에 대한 가드레일, 처리량 할당량, 백그라운드 운영 및 계획되지 않은 복구를 위한 용량 예약이 포함됩니다. 이러한 기능을 통해 대규모 Apache Kafka 애플리케이션을 더 안전하고 쉽게 실행할 수 있습니다. 자세한 내용은 Express 브로커 구성 및 Amazon MSK Express 브로커 할당량 섹션을 참조하세요.
  • 유지 관리 기간 없음: Express 브로커에는 유지 관리 기간이 없습니다. Amazon MSK는 클러스터 하드웨어를 지속적으로 자동 업데이트합니다. 자세한 내용은 Amazon MSK Express 브로커를 참조하세요.

Express 브로커는 브로커당 더 많은 처리량을 제공하므로 동일한 워크로드에 대해 더 적은 수의 브로커로 클러스터를 생성할 수 있습니다. 또한 클러스터가 가동되고 실행되면 Standard 브로커를 사용할 때보다 더 빠르게 클러스터 리소스 사용과 적절한 크기의 용량을 모니터링할 수 있습니다. 따라서 필요한 용량에 맞게 리소스를 프로비저닝하고 수요 변화에 맞춰 더 빠르게 규모를 조정할 수 있습니다.

Express 브로커가 있는 클러스터는 표준 Apache Kafka 클라이언트를 사용하는 Apache Kafka API 및 도구와 함께 작동합니다.

Express 브로커는 가용성과 내구성을 최적화하는 Amazon MSK 모범 사례 기본값으로 사전 구성되어 있습니다. 이러한 구성 중 일부를 사용자 지정하여 클러스터 성능을 더욱 세밀하게 조정할 수 있습니다. Amazon MSK 개발자 안내서에서 Express 브로커 구성에 대해 자세히 알아보세요.

Standard 브로커와 마찬가지로 Amazon MSK는 AWS Key Management Service(AWS KMS)와 통합하여 Express 브로커의 스토리지에 투명한 서버 측 암호화를 제공합니다. Express 브로커를 사용하여 MSK 클러스터를 생성할 때 Amazon MSK에서 저장 데이터를 암호화하는 데 사용할 AWS KMS 키를 지정할 수 있습니다. KMS 키를 지정하지 않으면 Amazon MSK가 사용자를 대신하여 AWS 관리형 키를 생성하여 사용합니다. 또한 Amazon MSK는 Standard 브로커와 마찬가지로 Express 브로커의 전송 중 데이터를 TLS를 사용해 암호화합니다.

Standard 브로커에서 작동하는 대부분의 MSK Provisioned 기능 및 성능은 Express 브로커를 사용하는 클러스터에서도 작동합니다. 스토리지 관리, 인스턴스 유형 가용성, 지원되는 버전 등 몇 가지 차이점이 있습니다. MSK Provisioned의 Standard 브로커와 Express 브로커를 비교한 표를 참조하세요. 몇 가지 주요 유사점과 차이점이 요약되어 있습니다.

예. MirrorMaker 2 또는 Amazon MSK Replicator를 사용하여 Kafka 클러스터의 데이터를 Express 브로커로 구성된 클러스터로 마이그레이션할 수 있습니다. 그러면 클러스터의 데이터와 메타데이터가 모두 새 클러스터로 복사됩니다. MirrorMaker 2MSK Replicator 사용에 대한 자세한 내용은 Amazon MSK 개발자 안내서에서 확인할 수 있습니다.

Express 브로커는 가격 대비 성능을 높이고 복원력을 높이며 운영 오버헤드를 낮추므로 MSK Provisioned의 모든 Apache Kafka 워크로드에 적합한 선택입니다. 그러나 브로커의 구성 및 설정을 더 많이 제어하려는 경우 Standard 브로커 유형을 선택하면 됩니다. Standard 브로커를 사용하면 복제 요소, 로그 파일 크기, 리더 선택 정책을 비롯하여 더 광범위한 Kafka 구성을 사용자 지정할 수 있으므로 클러스터 설정을 보다 유연하게 조정할 수 있습니다.

Amazon MSK Serverless

MSK Serverless는 컴퓨팅과 스토리지 용량을 관리하지 않아도 손쉽게 Apache Kafka 클러스터를 실행할 수 있는 Amazon MSK의 클러스터 유형입니다. MSK Serverless를 사용해 클러스터를 프로비저닝하고, 구성하고, 최적화할 필요 없이 애플리케이션을 실행할 수 있으며 데이터 볼륨을 스트리밍하고 유지한 만큼 비용을 지불합니다. 

MSK Serverless는 클러스터 전체의 균일한 로드를 위해 파티션을 모니터링하고 이동시키는 등 파티션을 완전하게 관리합니다.

MSK 서버리스는 클러스터당 최대 200MBps의 쓰기 용량과 400MBps의 읽기 용량을 제공합니다. 또한 클러스터의 모든 파티션에 대해 충분한 가용 처리량을 보장하기 위해 MSK 서버리스는 파티션당 최대 5MBps의 즉시 사용 가능한 쓰기 용량과 10MBps의 즉시 사용 가능한 읽기 용량을 할당합니다. 

MSK Serverless는 AWS KMS를 통해 발급한 서비스 관리형 키를 사용하여 전송 중인 모든 트래픽과 모든 저장 데이터를 암호화합니다. 클라이언트는 퍼블릭 인터넷에 트래픽을 노출하지 않고 AWS PrivateLink를 사용한 프라이빗 연결을 통해 MSK 서버리스에 연결합니다. 또한 MSK Serverless는 주제와 같은 Apache Kafka 리소스에 대한 클라이언트 인증 및 클라이언트 권한 부여를 관리하는 데 사용할 수 있는 AWS Identity and Access Management(AWS IAM) 액세스 제어를 제공합니다.

MSK Serverless 클러스터를 생성할 때 클러스터의 클라이언트를 호스팅하는 하나 이상의 Amazon Virtual Private Cloud(Amazon VPC) 서브넷을 제공합니다. 이러한 Amazon VPC에 호스팅된 클라이언트는 부트스트랩 브로커 문자열을 사용하여 해당 MSK Serverless 클러스터에 연결할 수 있습니다.

리전별 가용성에 대한 최신 정보는 Amazon MSK 요금 페이지를 참조하세요.

MSK Serverless는 현재 클라이언트 인증 및 권한 부여를 위한 IAM(ID 액세스 관리)을 지원합니다. 클라이언트는 인증을 위해 IAM 역할을 수임할 수 있고, 연결된 IAM 정책을 사용하여 액세스 제어를 적용할 수 있습니다.

모든 Apache Kafka 호환 도구를 사용하여 MSK Serverless 클러스터 주제의 데이터를 처리할 수 있습니다. MSK Serverless는 상태 유지 스트림 처리를 위한 Amazon Managed Service for Apache Flink 및 이벤트 처리를 위한 AWS Lambda와 통합됩니다. 또한 Apache Kafka Connect 싱크 커넥터를 사용하여 원하는 모든 대상으로 데이터를 전송할 수 있습니다. 

파티션을 생성할 때 MSK Serverless는 2개의 복제본을 생성하고 서로 다른 가용 영역에 배치합니다. 또한 MSK Serverless는 실패한 백엔드 리소스를 자동으로 탐지하고 복구하여 고가용성을 유지합니다.

Amazon MSK로 마이그레이션

예. Apachek Kafka로 지원되는 MirrorMaker2 등의 오픈 소스 도구 또는 타사 도구를 사용하여 클러스터의 데이터를 MSK 클러스터로 복제할 수 있습니다. 마이그레이션 계획을 세우는 데 도움이 되는 이 Amazon MSK 마이그레이션 실습을 확인해 보세요.

지원되는 버전

예. Amazon MSK는 프로비저닝된 클러스터를 위한 완전관리형 인플레이스 Apache Kafka 버전 업그레이드를 지원합니다. Apache Kafka 버전 업그레이드 및 고가용성 모범 사례에 대해 자세히 알아보려면 버전 업그레이드 설명서를 참조하세요.

모든 Apache Kafka 버전은 지원 종료일까지 지원됩니다. 지원 종료 정책 및 날짜에 대한 자세한 내용은 버전 지원 설명서를 참조하세요.

네트워킹

예. Amazon MSK는 항상 Amazon MSK 서비스를 통해 관리되는 Amazon VPC 내에서 실행됩니다. Amazon MSK 리소스는 클러스터 설정 시 선택하는 고유 Amazon VPC, 서브넷, 보안 그룹에서 사용할 수 있습니다. VPC의 IP 주소가 ENI를 통해 Amazon MSK 리소스에 연결되고 모든 네트워크 트래픽이 AWS 네트워크 내에 유지되며 기본적으로 인터넷에 액세스할 수 없습니다.

클러스터의 브로커는 계정에 표시되는 ENI를 통해 VPC 내의 클라이언트에 액세스할 수 있습니다. ENI의 보안 그룹에 따라 브로커에서 허용되는 수신 및 송신 트래픽의 유형과 소스가 결정됩니다.

예. Amazon MSK는 인터넷을 통해 Apache Kafka 2.6.0 이상 버전을 실행하는 Amazon MSK 클러스터의 브로커에 안전하게 연결하는 옵션을 제공합니다. 퍼블릭 액세스를 활성화하면 프라이빗 Amazon VPC 외부의 인증된 클라이언트가 암호화된 데이터를 특정 Amazon MSK 클러스터 안팎으로 스트리밍할 수 있습니다. 추가 비용 없이 클러스터를 생성한 후에 MSK 클러스터에 대한 퍼블릭 액세스를 사용할 수 있지만, 클러스터 수신 및 송신에 대한 표준 AWS 데이터 전송 요금이 적용됩니다. 퍼블릭 액세스를 활성화하는 방법에 대한 자세한 내용은 퍼블릭 액세스 설명서를 참조하세요.

기본적으로 VPC의 클라이언트와 Amazon MSK 클러스터 간의 프라이빗 연결을 통해서만 Amazon MSK 클러스터에서 데이터를 생성하고 소비할 수 있습니다. 그러나 MSK 클러스터에 대한 퍼블릭 액세스를 활성화하고 퍼블릭 부트스트랩 브로커 문자열을 사용하여 MSK 클러스터에 연결하는 경우, 연결이 인증되고 승인되고 암호화되었어도 더 이상 프라이빗 연결로 간주되지 않습니다. 신뢰할 수 있는 IP 주소의 퍼블릭 액세스만 허용하는 인바운드 TCP 규칙을 사용하도록 클러스터의 보안 그룹을 구성하고 퍼블릭 액세스를 켜는 경우 최대한 이 규칙을 엄격하게 설정하는 것이 좋습니다.

Apache Kafka 2.7.1 이상 버전을 실행하는 MSK 클러스터에 대해 다중 VPC 프라이빗 연결을 활성화하면 MSK 클러스터의 Amazon VPC가 아닌 다른 VPC 또는 AWS 계정에서 MSK 클러스터에 연결할 수 있습니다. 지원되는 인증 체계(IAM 인증, SASL/SCRAM, mTLS 인증)에 대해 클러스터를 생성한 후에만 프라이빗 연결을 활성화할 수 있습니다. PrivateLink 기술을 사용하여 프라이빗 연결을 활성화하는 Amazon MSK 관리형 VPC 연결을 사용하여 클러스터에 비공개로 연결하도록 클라이언트를 구성해야 합니다. 프라이빗 연결 설정에 대해 자세히 알아보려면 AWS 내에서 액세스 설명서를 참조하세요.

암호화

예. Amazon MSK는 Amazon Elastic Block Store(Amazon EBS) 서버 측 암호화AWS KMS 키를 사용하여 스토리지 볼륨을 암호화합니다.

예. 기본적으로 새 클러스터에는 브로커 간 통신에 대해 TLS를 통한 전송 중 암호화가 활성화되어 있습니다. 프로비저닝된 클러스터에는 클러스터를 생성할 때 전송 중 암호화 사용을 선택 해제할 수 있습니다.

예. 기본적으로 전송 중 암호화는 AWS CLI 또는 AWS Management Console에서 생성된 클러스터에 대해서만 TLS로 설정되어 있습니다. 클라이언트가 TLS 암호화를 사용하여 클러스터와 통신하려면 추가 구성이 필요합니다. 프로비저닝된 클러스터에는 TLS/평문 또는 평문 설정을 선택하면 기본 암호화 설정을 변경할 수 있습니다. Amazon MSK 암호화에 대해 자세히 알아보세요.

예. MSK 클러스터는 Kafka 브로커와 메타데이터 노드 간의 TLS 전송 중 암호화를 지원합니다.

액세스 관리

서버리스 클러스터에는 인증과 권한 부여를 위해 IAM 액세스 제어를 사용할 수 있습니다. 프로비저닝된 클러스터의 경우 다음과 같은 옵션을 사용할 수 있습니다.

  • AuthN/AuthZ 모두에 대한 IAM 액세스 제어(권장)
  • AuthN에 대한 TLS 인증서 인증 및 AuthZ에 대한 액세스 제어 목록
  • AuthN에 대한 SASL/SCRAM과 AuthZ에 대한 액세스 제어 목록

Amazon MSK는 IAM 액세스 제어 사용을 권장합니다. 사용이 가장 쉬운 옵션인 동시에 최소 권한 액세스로 기본 설정되므로 가장 안전한 옵션입니다.

IAM 액세스 제어를 사용하는 경우 Amazon MSK는 사용자가 작성한 정책과 자체 권한 부여자를 사용하여 작업 권한을 부여합니다. TLS 인증서 인증 또는 SASL/SCRAM을 사용하는 경우 Apache Kafka는 권한 부여에 액세스 제어 목록(ACL)을 사용합니다. ACL을 활성화하려면 TLS 인증서 또는 SASL/SCRAM을 사용하여 클라이언트 인증을 활성화해야 합니다.

IAM 액세스 제어를 사용하는 경우 Amazon MSK가 자동으로 인증 및 권한 부여를 수행하므로 추가 설정이 필요하지 않습니다. TLS 인증을 사용하는 경우 클라이언트 TLS 인증서의 Dname을 ACL의 보안 주체로 사용하여 클라이언트 요청을 승인할 수 있습니다. SASL/SCRAM을 사용하는 경우 사용자 이름을 ACL의 보안 주체로 사용하여 클라이언트 요청을 승인할 수 있습니다.

IAM을 사용하여 서비스 API 작업을 제어할 수 있습니다.

예. AWS Management Console이나 UpdateSecurity API를 사용해 기존 클러스터에 IAM 액세스 제어를 사용할 수 있습니다.

아니요. IAM 액세스 제어는 MSK 클러스터에만 사용할 수 있습니다.

Amazon MSK 클러스터에 클러스터 정책을 연결하여 Amazon MSK 클러스터에 대한 프라이빗 연결을 설정할 수 있는 크로스 계정 Kafka 클라이언트 권한을 제공할 수 있습니다. IAM 클라이언트 인증을 사용하는 경우 클러스터 정책을 사용하여 연결 클라이언트의 Kafka 데이터 영역 권한을 세부적으로 정의할 수도 있습니다. 클러스터 정책에 대해 자세히 알아보려면 클러스터 정책 설명서를 참조하세요.

모니터링, 지표, 로깅, 태깅

Amazon MSK 콘솔, Amazon CloudWatch 콘솔을 사용하여 클러스터의 성능을 모니터링하거나, JMX 및 호스트 지표에서 오픈 소스 모니터링 솔루션인 Prometheus의 개방형 모니터링을 사용하여 모니터링할 수 있습니다.

CloudWatch를 사용하여 클러스터를 모니터링하는 비용은 Apache Kafka 클러스터의 크기 및 모니터링 수준에 따라 달라집니다. CloudWatch는 월간 지표당 요금을 부과하며 AWS 프리 티어를 포함합니다. 자세한 내용은 Amazon CloudWatch 요금을 참조하세요. 모니터링 수준별로 제공하는 지표 수에 대한 세부 정보는 Amazon MSK 모니터링 설명서를 참조하세요.

Prometheus 내보내기 도구에서 읽도록 설계된 도구는 Datadog, Lenses, New Relic, Sumo Logic 또는 Prometheus 서버와 같은 개방형 모니터링과 호환됩니다. 개방형 모니터링에 대한 자세한 내용은 Amazon MSK 개방형 모니터링 설명서를 참조하세요.

사용 중인 Apache Kafka 버전에서 지원되는 모든 클라이언트 측 모니터링을 사용할 수 있습니다. 

예. AWS CLI 또는 AWS Management Console에서 Amazon MSK 클러스터에 태그를 지정할 수 있습니다.

주제 수준 소비자 지연 지표는 모든 클러스터에 대해 Amazon MSK가 CloudWatch에 게시하는 기본 지표 세트의 일환으로 제공됩니다. 이러한 지표는 추가 설정 없이 확인 가능합니다.

주제 수준 지표는 무료로 제공되는 Amazon MSK 지표의 기본 세트에 포함됩니다. 파티션 수준 지표는 Amazon CloudWatch 요금에 따라 요금이 부과됩니다.

프로비저닝된 클러스터에 대한 브로커 로그를 전송할 수 있습니다. Amazon CloudWatch Logs, Amazon Simple Storage Service(Amazon S3), Amazon Data Firehose로 브로커 로그를 전송할 수 있습니다. Firehose는 Amazon OpenSearch Service를 비롯한 여러 대상 위치를 지원합니다. 이 기능을 활성화하는 방법을 알아보려면 Amazon MSK 로깅 설명서를 참조하세요. 요금에 대해 알아보려면 Amazon CloudWatch Logs 및 Amazon Data Firehose 요금 페이지를 참조하세요.

Amazon MSK는 프로비저닝된 클러스터의 모든 브로커에 대해 INFO 수준의 로그를 제공합니다.

예. IAM 액세스 제어를 사용하는 경우 Apache Kafka 리소스 API 사용이 AWS CloudTrail에 로깅됩니다.

메타데이터 관리

https://zookeeper.apache.org에 따르면 “Apache ZooKeeper는 구성 정보를 유지 관리하고, 이름을 지정하고, 분산 동기화 및 그룹 서비스를 제공하는 중앙 집중식 서비스입니다. 이러한 종류의 서비스는 모두 분산 애플리케이션에서 각기 다른 형식으로 사용됩니다."라고 나와 있으며 여기에는 Apache Kafka 등이 포함됩니다.

예. Amazon MSK는 메타데이터 관리에 Apache ZooKeeper를 사용합니다. 또한 Apache Kafka 버전 3.7부터는 ZooKeeper 모드 또는 KRaft 모드에서 클러스터를 생성할 수 있습니다. KRaft 모드로 생성된 클러스터는 ZooKeeper 노드 대신 KRaft 컨트롤러를 사용하여 메타데이터를 관리합니다.

Apache KRaft는 Kafka 클러스터의 메타데이터 관리를 외부 Apache ZooKeeper 노드에서 Kafka 내 컨트롤러 그룹으로 전환하는 합의 프로토콜입니다. 이 변경을 수행하면 메타데이터를 Kafka 브로커 내에서 주제로 저장 및 복제할 수 있으므로 메타데이터가 더 빠르게 전파됩니다. 자세한 내용은 Apache KRaft 설명서를 참조하세요.

Amazon MSK에서 KRaft 모드를 사용하기 위해 API를 변경할 필요는 없습니다. 하지만 클라이언트가 지금도 여전히 --zookeeper 연결 문자열을 사용하는 경우 --bootstrap-server 연결 문자열을 사용하여 클러스터에 연결하고 관리자 작업을 수행하도록 클라이언트를 업데이트해야 합니다. --zookeeper 플래그는 Apache Kafka 버전 2.5에서 더 이상 사용되지 않으며 Kafka 3.0부터 제거되었습니다. 따라서 최신 Apache Kafka 클라이언트 버전과 --bootstrap-server 연결 문자열을 사용하는 것이 좋습니다.

사용하는 도구에서 ZooKeeper 연결 없이 Kafka Admin API를 사용할 수 있는지 확인해야 합니다. KRaft 모드 클러스터에 Cruise Control을 사용하는 것에 대한 업데이트된 설명서를 참조하세요. 또한 ZooKeeper 연결 없이 Kafka를 실행하려는 경우 Cruise Control에서 게시한 문서의 단계를 따르세요.

브로커당 파티션 수는 KRaft 기반 클러스터와 ZooKeeper 기반 클러스터에서 동일합니다. 그러나 KRaft를 사용하면 클러스터에 더 많은 브로커를 프로비저닝하여 클러스터당 더 많은 파티션을 호스트할 수 있습니다.

통합

Amazon MSK는 다음 AWS 서비스와 통합됩니다.

Amazon MSK Serverless는 다음 AWS 서비스와 통합됩니다.

복제

Amazon MSK Replicator는 고객이 코드를 작성하거나 인프라를 관리하지 않고도 다른 AWS 리전(교차 리전 복제) 또는 동일한 AWS 리전 내(동일 리전 복제)의 MSK 클러스터에 데이터를 안정적으로 복제할 수 있도록 지원하는 Amazon MSK 기능입니다. 교차 리전 복제를 사용하면 가용성이 높고 내결함성이 있는 다중 리전 스트리밍 애플리케이션을 구축하여 복원력을 높일 수 있습니다. 또한 교차 리전 복제를 사용하여 여러 지역의 리전에서 소비자에게 지연 시간이 짧은 액세스를 제공할 수 있습니다. 동일 리전 복제를 사용하면 한 클러스터의 데이터를 여러 클러스터로 분산하여 파트너 및 팀과 데이터를 공유할 수 있습니다. 또한 동일 리전 복제 또는 교차 리전 복제를 사용하여 여러 클러스터의 데이터를 하나로 집계하여 분석할 수 있습니다.

소스 및 대상 MSK 클러스터 쌍 간에 복제를 설정하려면 대상 리전에 Replicator를 생성해야 합니다. Replicator를 생성하려면 소스 및 대상 MSK 클러스터의 Amazon 리소스 이름(ARN)과 MSK Replicator에서 클러스터에 액세스하는 데 사용할 수 있는 IAM 역할이 포함된 세부 정보를 지정합니다. 대상 MSK 클러스터가 아직 없는 경우 대상 MSK 클러스터를 생성해야 합니다.

MSK 복제기는 MSK 클러스터 간의 복제만 지원합니다. 프로비저닝된 MSK 클러스터와 서버리스 유형의 MSK 클러스터 모두 지원됩니다. 또한 MSK Replicator를 사용하여 프로비저닝된 클러스터에서 서버리스 클러스터로 이동하거나 그 반대로 이동할 수 있으며 지원되지 않는 다른 Kafka 클러스터로도 이동할 수 있습니다.

예. 복제기를 생성할 때 허용 및 거부 목록을 사용하여 복제할 주제를 지정할 수 있습니다. 

예. MSK Replicator는 주제 구성, ACL, 소비자 그룹 오프셋과 같은 필수 Kafka 메타데이터를 자동으로 복제하므로 장애 조치 후 사용 중인 애플리케이션에서 원활하게 처리를 재개할 수 있습니다. 데이터만 복제하려는 경우 이러한 설정 중 하나 이상을 끄도록 선택할 수 있습니다. 또한 복제기를 생성할 때 허용 또는 거부 목록을 사용하여 복제하려는 소비자 그룹을 지정할 수 있습니다.

아니요. MSK Replicator는 기본 복제 인프라를 자동으로 배포, 프로비저닝, 규모 조정하여 수신 처리량 변경을 지원합니다.

아니요. MSK 복제기는 동일한 AWS 계정의 MSK 클러스터 간 복제만 지원합니다.

대상 리전에서 CloudWatch를 사용하여 ReplicationLatency,
MessageLag, ReplicatorThroughput에 대한 지표를 각 Replicator의 주제 및 집계 수준에서 추가 비용 없이 확인할 수 있습니다. 지표는 AWS/Kafka 네임스페이스의 ReplicatorName 아래에 표시됩니다. 또한 ReplicatorFailure, AuthError, ThrottleTime 지표를 통해 Replicator에 문제가 있는지 확인할 수 있습니다.

MSK Replicator를 사용하여 액티브-액티브 또는 액티브-패시브 클러스터 토폴로지를 설정하면 리전 전반에서 Kafka 애플리케이션의 복원력을 높일 수 있습니다. 액티브-액티브 설정에서는 두 MSK 클러스터가 모두 읽기 및 쓰기를 능동적으로 제공합니다. 이에 비해 액티브-패시브 설정에서는 한 번에 하나의 MSK 클러스터만 스트리밍 데이터를 능동적으로 제공하고 다른 클러스터는 대기 상태가 됩니다.

예. 각 소스 및 타겟 클러스터 쌍에 대해 서로 다른 Replicator를 생성하여 한 클러스터의 데이터를 여러 클러스터에 복제하거나 여러 클러스터의 데이터를 한 클러스터에 복제할 수 있습니다.

MSK Replicator는 IAM 액세스 제어를 사용하여 소스 및 대상 클러스터에 연결합니다. Replicator를 생성하려면 소스 및 대상 MSK 클러스터에서 IAM 액세스 제어를 켜야 합니다. Amazon MSK는 여러 인증 방법을 동시에 지원하므로 클라이언트에 대해 SASL/SCRAM 및 mTLS를 비롯한 다른 인증 방법을 동시에 사용할 수 있습니다.

MSK Replicator는 데이터를 비동기식으로 복제합니다. 복제 지연 시간은 MSK 클러스터의 리전 간 네트워크 거리, 소스 및 대상 클러스터의 처리량 용량, 소스 및 대상 클러스터의 파티션 수 등 여러 요인에 따라 달라집니다.

아니요. MSK 복제기는 대상 클러스터에서 주제 이름에 자동 생성된 접두사를 추가하여 새 주제를 생성합니다. 예를 들어 MSK Replicator는 소스 클러스터의 주제 데이터를 대상 클러스터의 <sourceKafkaClusterAlias>.topic이라는 새 주제에 복제합니다. MSK Replicator는 소스 클러스터에서 복제된 데이터가 포함된 주제를 대상 클러스터의 다른 주제와 구분하고 클러스터 간에 데이터가 순환적으로 복제되는 것을 방지하기 위해 이 작업을 수행합니다. DescribeReplicator API 또는 Amazon MSK 콘솔의 Replicator 세부 정보 페이지를 통해 sourceKafkaClusterAlias 필드에서 대상 클러스터의 주제 이름에 추가할 접두사를 찾을 수 있습니다.

예. 기본적으로 새 복제기를 생성하면 소스 클러스터의 스트림 끝(최신 오프셋)에서 데이터 복제가 시작됩니다. 또는 기존 데이터를 복제하려는 경우 소스 클러스터 주제 파티션의 가장 빠른 오프셋부터 데이터 복제를 시작하도록 새 복제기를 구성할 수 있습니다.

MSK 복제기는 소스 클러스터의 소비자 역할을 하므로 복제로 인해 소스 클러스터에서 다른 소비자가 제한될 수 있습니다. 이는 소스 클러스터의 읽기 용량과 복제 중인 데이터의 처리량에 따라 달라집니다. 소스 클러스터와 대상 클러스터에 동일한 용량을 프로비저닝하고 복제 처리량을 고려하여 필요한 용량을 계산하는 것이 좋습니다. 또한 소스 및 대상 클러스터에서 복제기에 대한 Kafka 할당량을 설정하여 복제기에 사용될 수 있는 용량을 제어할 수 있습니다.

예. Replicator를 생성할 때 없음, GZIP, Snappy, LZ4, ZSTD 중에서 원하는 압축 코덱을 지정할 수 있습니다.

예. Replicator를 생성할 때 없음, GZIP, Snappy, LZ4, ZSTD 중에서 원하는 압축 코덱을 지정할 수 있습니다.

크기 조정

AWS Management Console 또는 AWS CLI를 사용하여 Standard 브로커에서 실행되는 프로비저닝된 클러스터의 스토리지를 스케일 업할 수 있습니다. AWS Management Console을 사용하거나 AWS CLI 또는 API를 사용해 AWS Application Auto Scaling 정책을 생성하여 오토 스케일링 스토리지 정책을 생성할 수도 있습니다. Standard 브로커의 계층형 스토리지를 사용하면 스토리지용 브로커를 추가하지 않고도 데이터를 거의 무제한으로 클러스터에 저장할 수 있습니다. Express 브로커를 사용하면 스토리지를 프로비저닝하거나 관리할 필요가 없으며 사실상 무제한의 스토리지에 액세스할 수 있습니다. 서버리스 클러스터에서는 사용량에 따라 원활하게 스토리지 크기가 조정합니다.

Apache Kafka는 로그 세그먼트라고 하는 파일에 데이터를 저장합니다. 각 세그먼트가 완료되면 클러스터 또는 주제 수준에서 구성된 크기를 기준으로 저비용 스토리지 계층에 복사됩니다. 데이터는 지정된 보존 시간 또는 크기에 따라 성능 최적화 스토리지에 유지된 후 삭제됩니다. 저비용 스토리지에는 별도의 시간 및 크기 제한이 설정되어 있으며 기본 스토리지 계층보다 깁니다. 클라이언트가 저비용 계층에 저장된 세그먼트의 데이터를 요청하면 브로커가 데이터를 읽고 기본 스토리지에서 제공하는 것과 같은 방식으로 데이터를 제공합니다.

예. 프로비저닝된 MSK 클러스터의 브로커 수를 늘리거나 줄일 수 있습니다.

예. 프로비저닝된 MSK 클러스터의 브로커 유형을 더 크거나 작은 유형으로 조정하도록 선택할 수 있습니다.

파티션 자동 리밸런싱을 통해 I/O 발열을 관리하는 Cruise Control을 사용할 수 있습니다. 자세한 내용은 Cruise Control 설명서를 참조하세요. 또는 Kafka 관리 API kafka-reassign-partitions.sh를 사용하여 브로커의 파티션 할당을 변경할 수도 있습니다. 서버리스 클러스터에서 Amazon MSK는 자동으로 파티션 균형을 조정합니다.

요금 및 사용 가능 여부

요금은 생성하는 리소스에 따라 다릅니다. Amazon MSK 요금을 확인하여 자세히 알아볼 수 있습니다.

아니요. 클러스터 내 데이터 전송은 서비스에 포함되며 추가 비용이 없습니다.

Amazon MSK를 사용할 수 있는 리전에 대한 자세한 내용은 AWS 리전 표를 참조하세요. 

프로비저닝된 클러스터를 사용하면 MSK 클러스터에서 데이터를 송수신할 경우 표준 AWS 데이터 전송 요금을 지불해야 합니다. 브로커 간의 데이터 전송, 브로커와 메타데이터 관리 노드 간의 데이터 전송을 비롯하여 리전의 클러스터 내 데이터 전송에는 요금이 부과되지 않습니다.

서버리스 클러스터를 사용하면 다른 리전으로 데이터를 송수신하고 퍼블릭 인터넷으로 데이터를 전송하는 경우 표준 AWS 데이터 전송 요금을 지불해야 합니다.

아니요. 현재는 아닙니다.

규정 준수

Amazon MSK는 다음 프로그램을 준수하거나 다음 프로그램의 적격입니다.

  • HIPAA 적격
  • PCI
  • ISO
  • SOC 1, 2, 3

AWS 서비스 및 규정 준수 프로그램의 전체 목록을 확인하려면 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하세요.

서비스 수준 계약

Amazon MSK SLA에서는 Amazon MSK(MSK Serverless 및 MSK Connect 포함)에 대해 최소 99.9%의 월간 가동률을 보장합니다. 

Amazon MSK의 다중 AZ 배포에서 월간 청구 주기 중 월간 가동률이 99.9% 미만이면 Amazon MSK SLA에 따라 Amazon MSK에 대한 SLA 크레딧을 받을 수 있습니다.

SLA의 이용 약관 전체와 클레임 제출 방법에 대한 자세한 내용은 Amazon MSK SLA 페이지를 참조하세요.