일반
Amazon Managed Streaming for Apache Kafka(Amazon MSK)는 Apache Kafka 인프라와 운영을 관리하는 AWS 스트리밍 데이터 서비스로, Apache Kafka 운영 관련 전문 지식이 없는 개발자 및 DevOps 관리자도 손쉽게 AWS에서 Apache Kafka 애플리케이션과 Apache Kafka Connect 커넥터를 실행할 수 있도록 지원합니다. Amazon MSK는 Apache Kafka 클러스터를 운영, 유지 관리, 규모 조정하고, 즉시 사용 가능한 엔터프라이즈급 보안 기능을 제공하며, 스트리밍 데이터 애플리케이션 개발 속도를 높여 주는 내장 AWS 통합 기능을 제공합니다. 시작하려면 기존 Apache Kafka 워크로드와 Apache Kafka Connect 커넥터를 Amazon MSK로 마이그레이션하거나, 클릭 몇 번으로 새 워크로드를 맨 처음부터 구축할 수도 있습니다. 클러스터 내 트래픽에는 데이터 전송 요금이 부과되지 않으며 약정 또는 선결제가 필요하지 않습니다. 사용한 리소스에 대해서만 지불하면 됩니다.
Apache Kafka는 실시간 스트리밍 데이터 파이프라인 및 애플리케이션 구축을 위한 확장 가능하고 내결함성을 갖춘 고성능 오픈 소스 플랫폼입니다. Apache Kafka는 데이터 스토어에 스트리밍 데이터를 생성하는 애플리케이션(생산자)을 데이터 스토어에서 스트리밍 데이터를 소비하는 애플리케이션(소비자)에서 분리하는 스트리밍 데이터 스토어입니다. 조직에서는 스트리밍 데이터를 지속적으로 분석하여 관련 대응 조치를 취하는 애플리케이션용 데이터 소스로 Apache Kafka를 사용합니다. Apache Kafka에 대해 자세히 알아보세요.
Apache Kafka의 오픈 소스 구성 요소인 Apache Kafka Connect는 데이터베이스, 키 값 스토어, 검색 인덱스, 파일 시스템 등의 외부 시스템과 Apache Kafka를 연결하기 위한 프레임워크입니다.
스트리밍 데이터는 수천 개의 머신, 디바이스, 웹사이트 및 애플리케이션에서 생성되는 작은 레코드나 이벤트(레코드나 이벤트 하나의 크기는 보통 몇 킬로바이트임)의 연속 스트림입니다. 스트리밍 데이터에는 모바일이나 웹 애플리케이션을 사용하는 고객이 생성하는 로그 파일, 전자 상거래 구매 항목, 게임 내 플레이어 활동, 소셜 네트워크의 정보, 주식 거래소, 지리 정보 서비스, 보안 로그, 지표 및 커넥티드 디바이스의 텔레메트리 또는 데이터 센터의 계측 등 다양한 데이터가 포함되어 있습니다. Amazon MSK 및 Amazon Kinesis Data Streams와 같은 스트리밍 데이터 서비스를 사용하면 손쉽게 스트리밍 데이터를 지속적으로 수집, 처리 및 전달할 수 있습니다. 스트리밍 데이터에 대해 자세히 알아보세요.
- Apache Kafka는 내결함성이 지원되는 방식으로 스트리밍 데이터를 저장하며 생산자와 소비자 간의 버퍼를 제공합니다. Apache Kafka는 이벤트를 연속적인 레코드로 저장하며 레코드가 생성된 순서를 유지합니다.
- 웹사이트, 사물 인터넷(IoT) 디바이스, Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 등의 대다수 데이터 생산자는 Apache Kafka를 통해 스트리밍 데이터를 지속적으로 게시하고 Apache Kafka 주제를 사용하여 이를 분류할 수 있습니다. 기계 학습 애플리케이션, AWS Lambda 함수 또는 마이크로서비스 등의 여러 데이터 소비자는 메시지 대기열 또는 기업 메시징 시스템과 비슷한 방식을 통해 각기 고유한 속도로 이러한 주제에서 데이터를 읽습니다.
- 데이터 소비자는 데이터가 생성된 순서를 유지하면서 선입선출 방식으로 Apache Kafka 주제에서 데이터를 처리합니다.
Apache Kafka는 스트리밍 데이터를 변환, 전달 및 응답하고, 여러 시스템이나 애플리케이션 사이에서 데이터를 안정적으로 전송하는 실시간 스트리밍 데이터 파이프라인을 구축하는 데 사용될 수 있습니다.
콘솔에서의 몇 번의 클릭만으로 Amazon MSK 클러스터를 생성할 수 있습니다. 여기서 Amazon MSK는 비정상 브로커를 교체하고, 고가용성 유지를 위해 데이터를 자동으로 복제하고, Apache ZooKeeper 노드를 관리합니다. 또한 필요에 따라 하드웨어 패치를 자동으로 배포하고, AWS 서비스와의 통합을 관리하고, 콘솔을 통해 중요 지표를 표시합니다. 그리고 Apache Kafka 버전 업그레이드를 지원하므로 오픈 소스 버전 Apache Kafka의 개선된 기능을 활용할 수 있습니다.
예, 모든 데이터 영역 및 관리 API는 Amazon MSK에서 기본적으로 지원합니다.
예.
예. Apache Kafka 클라이언트에서 AWS Glue의 서버리스 기능인 AWS Glue 스키마 레지스트리를 무료로 사용할 수 있습니다. 스키마 레지스트리 사용 설명서를 확인하여 시작하고 자세히 알아보세요.
Amazon MSK는 이제 모든 Apache Kafka 워크로드를 실행할 수 있도록 Graviton 3 기반 M7g 인스턴스 크기를 'large'에서 '16xlarge'까지 지원합니다. Graviton 인스턴스는 MSK와 동일한 가용성 및 내구성 이점을 제공하며 이와 유사한 M5 인스턴스에 비해 비용이 최대 24% 저렴합니다. Graviton 인스턴스는 MSK의 M5 인스턴스에 비해 인스턴스당 최대 29% 높은 처리량을 제공하므로 고객은 더 적은 수의 브로커 또는 더 작은 크기의 인스턴스로 MSK 클러스터를 실행할 수 있습니다.
MSK Serverless
Q: MSK Serverless란 무엇인가요?
MSK Serverless는 컴퓨팅과 스토리지 용량을 관리하지 않아도 손쉽게 Apache Kafka 클러스터를 실행할 수 있는 Amazon MSK의 클러스터 유형입니다. MSK Serverless를 사용해 클러스터를 프로비저닝하고, 구성하고, 최적화할 필요 없이 애플리케이션을 실행할 수 있으며 데이터 볼륨을 스트리밍하고 유지한 만큼 비용을 지불합니다.
Q: MSK Serverless는 클러스터 내에서 자동으로 파티션 균형을 조정하나요?
예. MSK 서버리스는 클러스터 전체의 균일한 로드를 위해 파티션을 모니터링하고 이동시키는 등의 방법으로 완벽하게 관리합니다.
Q: MSK 서버리스는 데이터 처리 용량을 얼마나 지원하나요?
MSK 서버리스는 클러스터당 최대 200MBps의 쓰기 용량과 400MBps의 읽기 용량을 제공합니다. 또한 클러스터의 모든 파티션에 대해 충분한 가용 처리량을 보장하기 위해 MSK 서버리스는 파티션당 최대 5MBps의 즉시 사용 가능한 쓰기 용량과 10MBps의 즉시 사용 가능한 읽기 용량을 할당합니다.
Q: MSK 서버리스 는 어떤 보안 기능을 제공하나요?
MSK 서버리스는 전송 중인 모든 트래픽과 저장된 데이터를 AWS Key Management Service(KMS)를 통해 발급한 서비스 관리형 키를 사용하여 암호화합니다. 클라이언트는 퍼블릭 인터넷에 트래픽을 노출하지 않고 AWS PrivateLink를 사용한 프라이빗 연결을 통해 MSK 서버리스에 연결합니다. 또한 MSK 서버리스는 IAM 액세스 제어를 제공하여 주제와 같은 Apache Kafka 리소스에 대한 클라이언트 인증 및 클라이언트 권한 부여를 관리할 수 있습니다.
Q: 생산자와 소비자는 어떻게 나의 MSK 서버리스 클러스터에 액세스할 수 있나요?
MSK 서버리스 클러스터를 생성할 때 클러스터의 클라이언트를 호스팅하는 하나 이상의 Amazon Virtual Private Cloud(VPC) 서브넷을 제공합니다. 이 VPC에 호스팅한 클라이언트는 브로커 부트스트랩 스트링을 사용하여 해당 MSK 서버리스 클러스터에 연결할 수 있습니다.
Q: MSK 서버리스를 사용할 수 있는 리전을 어디인가요?
리전별 가용성에 대한 최신 정보는 MSK 요금 페이지를 참조하세요.
Q: MSK Serverless가 지원하는 인증 유형은 무엇입니까?
MSK Serverless는 현재 클라이언트 인증 및 권한 부여를 위해 AWS IAM을 지원합니다. 클라이언트는 인증을 위해 AWS IAM 역할을 수임할 수 있고, 연결된 IAM 정책을 사용하여 액세스 제어를 적용할 수 있습니다.
Q: MSK Serverless 클러스터에서 데이터를 처리하려면 어떻게 해야 합니까?
모든 Apache Kafka 호환 도구를 사용하여 MSK Serverless 클러스터 주제의 데이터를 처리할 수 있습니다. MSK Serverless는 상태 유지 스트림 처리를 위한 Amazon Managed Service for Apache Flink 및 이벤트 처리를 위한 AWS Lambda와 통합됩니다. 또한 Apache Kafka Connect 싱크 커넥터를 사용하여 원하는 모든 대상으로 데이터를 전송할 수 있습니다.
Q: MSK Serverless는 어떻게 고가용성을 보장하나요?
파티션을 생성할 때 MSK Serverless는 2개의 복제본을 생성하고 서로 다른 가용 영역에 배치합니다. 또한 MSK serverless는 실패한 백엔드 리소스를 자동으로 탐지하고 복구하여 고가용성을 유지합니다.
데이터 생성 및 소비
Q: Apache Kafka API를 사용하여 Apache Kafka에서 데이터를 가져오거나 내보낼 수 있나요?
예. Amazon MSK는 네이티브 Apache Kafka 생산자 및 소비자 API를 지원합니다. 클라이언트가 Amazon MSK 내에서 클러스터 사용을 시작할 때 애플리케이션 코드를 변경할 필요가 없습니다.
Q: Apache Kafka Connect, Apache Kafka Streams 또는 Apache Kafka의 기타 에코시스템 구성 요소를 Amazon MSK와 함께 사용할 수 있습니까?
예, Apache Kafka 생산자 및 소비자 API와 Apache Kafka AdminClient를 활용하는 모든 구성 요소를 사용할 수 있습니다. Confluent Control Center, Confluent Auto Data Balancer 및 Uber uReplicator를 비롯하여 Apache Kafka 클러스터에 .jar 파일을 업로드하는 도구는 현재 Amazon MSK와 호환되지 않습니다.
Amazon MSK로 마이그레이션
예. Apachek Kafka로 지원되는 MirrorMaker 등의 오픈 소스 도구 또는 서드 파티 도구를 사용하여 클러스터의 데이터를 Amazon MSK 클러스터로 복제할 수 있습니다. 마이그레이션을 완료하는 데 도움이 되는 Amazon MSK 마이그레이션 실습을 참조하세요.
버전 업그레이드
Q: Apache Kafka 버전 업그레이드가 지원되나요?
예. Amazon MSK는 프로비저닝된 클러스터를 위한 완전관리형 인 플레이스(in-place) Apache Kafka 버전 업그레이드를 지원합니다. Apache Kafka 버전 업그레이드 및 고가용성 모범 사례에 대해 자세히 알아보려면 버전 업그레이드 설명서를 참조하세요.
클러스터
AWS 관리 콘솔에서 몇 번 클릭하거나 AWS SDK를 사용하여 첫 번째 클러스터를 생성할 수 있습니다. 먼저 Amazon MSK 콘솔에서 Amazon MSK 클러스터를 생성할 AWS 리전을 선택합니다. 클러스터의 이름, 클러스터를 실행하는 데 사용할 Virtual Private Cloud(VPC), 각 AZ의 서브넷을 선택합니다. 프로비저닝된 클러스터를 생성하려면 브로커 인스턴스 유형, AZ당 브로커 수, 브로커당 스토리지도 선택합니다.
프로비저닝된 클러스터에는 브로커 인스턴스, 프로비저닝한 스토리지 및 추상화된 Apache ZooKeeper 노드가 포함됩니다. 서버리스 클러스터는 본질적으로 리소스이며 모든 기본 리소스를 추상화합니다.
프로비저닝된 클러스터에는 EC2 M7g 및 M5 인스턴스 패밀리 내에서 EC2 T3.small 또는 인스턴스를 선택할 수 있습니다. 서버리스 클러스터에서 브로커는 완전히 추상화됩니다.
아니요. 현재는 아닙니다.
아니요. 프로비저닝하는 각 브로커에는 Amazon MSK 서비스를 통해 관리되는 부팅 볼륨 스토리지가 포함됩니다.
탄력적 네트워크 인터페이스(ENI) 등의 일부 리소스가 Amazon EC2 계정에 표시됩니다. 그 외 Amazon MSK 리소스는 Amazon MSK 서비스를 통해 관리되므로 EC2 계정에 표시되지 않습니다.
프로비저닝된 클러스터에는 생성하는 모든 클러스터와 함께 브로커 인스턴스와 브로커 스토리지를 프로비저닝해야 합니다. 스토리지 볼륨에 대한 스토리지 처리량을 선택적으로 프로비저닝할 수 있으며, 이는 추가 브로커를 프로비저닝하지 않고도 I/O 크기를 원활하게 조정하는 데 사용할 수 있습니다. Apache ZooKeeper 노드는 프로비저닝할 필요가 없습니다. 이러한 리소스는 생성한 각 클러스터에 추가 비용 없이 포함되기 때문입니다. 서버리스 클러스터에 대해, 클러스터를 리소스로 생성하기만 하면 됩니다.
별도로 지정된 경우가 아니면 Amazon MSK는 오픈 소스 버전의 Apache Kafka에서 지정한 것과 동일한 기본값을 사용합니다. 두 클러스터 유형의 기본값 설정은 여기에 설명되어 있습니다.
Q: 기본 브로커 구성을 변경하거나 Amazon MSK로 클러스터 구성을 업로드할 수 있습니까?
예. Amazon MSK를 사용하면 사용자 지정 구성을 생성하여 새 클러스터와 기존 클러스터에 적용할 수 있습니다. 사용자 지정 구성에 대한 자세한 내용은 구성 설명서를 참조하세요.
Q: 어떤 구성 속성을 사용자 지정할 수 있습니까?
사용자 정의할 수 있는 구성 속성은 여기에 설명되어 있습니다.
Q: 새 주제의 기본 구성은 무엇입니까?
여기에 별도로 지정된 경우가 아니면 Amazon MSK는 Apache Kafka의 기본 구성을 사용합니다.
주제
Apache Kafka 클러스터가 생성되면, Apache Kafka API를 사용하여 주제를 생성할 수 있습니다. 모든 주제 및 파티션 레벨 작업과 구성은 Apache Kafka API를 사용하여 수행됩니다. 다음 명령은 Apache Kafka API와 클러스터에 제공된 구성 세부 정보를 사용하여 주제를 생성하는 예제입니다.
bin/kafka-topics.sh --create —bootstrap-server <BootstrapBrokerString> --replication factor 3 --partitions 1 --topic TopicName
네트워킹
Q: Amazon MSK는 Amazon VPC에서 실행되나요?
예. Amazon MSK는 항상 Amazon MSK 서비스를 통해 관리되는 Amazon VPC 내에서 실행됩니다. Amazon MSK 리소스는 클러스터 설정 시 선택하는 자체 Amazon VPC, 서브넷 및 보안 그룹에서 사용할 수 있습니다. VPC의 IP 주소가 탄력적 네트워크 인터페이스(ENI)를 통해 Amazon MSK 리소스에 연결되고 모든 네트워크 트래픽이 AWS 네트워크 내에 유지되며 기본적으로 인터넷에 액세스할 수 없습니다.
Q: Amazon MSK 클러스터의 브로커는 VPC 내의 클라이언트에 어떤 방식으로 액세스할 수 있나요?
클러스터의 브로커는 계정에 표시되는 ENI를 통해 VPC 내의 클라이언트에 액세스할 수 있습니다. ENI의 보안 그룹에 따라 브로커에서 허용되는 수신 및 송신 트래픽의 유형과 소스가 결정됩니다.
Q: 퍼블릭 인터넷을 통해 클러스터에 연결하는 것이 가능한가요?
예. Amazon MSK는 인터넷을 통해 Apache Kafka 2.6.0 이상 버전을 실행하는 Amazon MSK 클러스터의 브로커에 안전하게 연결하는 옵션을 제공합니다. 프라이빗 Amazon Virtual Private Cloud(VPC) 외부의 인증된 클라이언트는 퍼블릭 액세스를 사용함으로써 암호화된 데이터를 특정 Amazon MSK 클러스터 안팎으로 스트리밍할 수 있습니다. 추가 비용 없이 클러스터를 생성한 후에 MSK 클러스터에 대한 퍼블릭 액세스를 사용할 수 있지만, 클러스터 수신 및 송신에 대한 표준 AWS 데이터 전송 요금이 적용됩니다. 퍼블릭 액세스를 켜는 방법에 대한 자세한 내용은 퍼블릭 액세스 설명서를 참조하세요.
Q: 클라이언트와 Amazon MSK 클러스터 간에는 프라이빗 연결이 사용되나요?
기본적으로 VPC의 클라이언트와 Amazon MSK 클러스터 간의 프라이빗 연결을 통해서만 Amazon MSK 클러스터에서 데이터를 생성하고 소비할 수 있습니다. 그러나 Amazon MSK 클러스터에 대한 퍼블릭 액세스를 켜고 퍼블릭 부트스트랩-브로커 문자열을 사용하여 MSK 클러스터에 연결하는 경우 연결이 인증 및 승인되고 암호화되었어도 더 이상 프라이빗 연결로 간주되지 않습니다. 신뢰할 수 있는 IP 주소의 퍼블릭 액세스만 허용하는 인바운드 TCP 규칙을 사용하도록 클러스터의 보안 그룹을 구성하고 퍼블릭 액세스를 켜는 경우 최대한 이 규칙을 엄격하게 설정하는 것이 좋습니다.
VPC에 연결
질문: 인터넷을 통해 Amazon MSK 클러스터에 연결하려면 어떻게 해야 하나요?
가장 쉬운 방법은 Apache Kafka 2.6.0 이상 버전을 실행하는 MSK 클러스터의 브로커에 인터넷을 통해 퍼블릭 연결을 활성화하는 것입니다. 보안상의 이유로, MSK 클러스터를 생성하는 중에는 퍼블릭 액세스를 활성화할 수 없습니다. 그러나 퍼블릭 액세스가 가능하도록 기존 클러스터를 업데이트할 수 있습니다. 새 클러스터를 생성한 후에 퍼블릭 액세스가 가능하도록 업데이트할 수도 있습니다. 퍼블릭 액세스를 활성화하는 방법에 대한 자세한 내용은 퍼블릭 액세스 설명서를 참조하세요.
질문: AWS 네트워크 내부와 클러스터의 Amazon VPC 외부에서 Amazon MSK 클러스터에 연결하려면 어떻게 해야 하나요?
Apache Kafka 버전 2.7.1 이상을 실행하는 MSK 클러스터에 대해 다중 VPC 프라이빗 연결을 활성화하면 MSK 클러스터의 VPC 또는 AWS 계정과 다른 VPC 또는 AWS 계정에서 MSK 클러스터에 연결할 수 있습니다. 프라이빗 연결을 활성화하려면 먼저 지원되는 인증 체계(IAM 인증, SASL SCRAM 및 mTLS 인증)에 대해 클러스터를 생성해야 합니다. AWS PrivateLink 기술을 사용하여 프라이빗 연결을 활성화하는 Amazon MSK 관리형 VPC 연결을 사용하여 클러스터에 비공개로 연결하도록 클라이언트를 구성해야 합니다. 프라이빗 연결 설정에 대해 자세히 알아보려면 AWS 설명서 내에서 액세스를 참조하세요.
암호화
Q: Amazon MSK 클러스터의 데이터를 암호화할 수 있나요?
예. Amazon MSK는 Amazon Elastic Block Store(Amazon EBS) 서버 측 암호화 및 AWS Key Management Service(AWS KMS) 키를 사용하여 스토리지 볼륨을 암호화합니다.
Q: Amazon MSK 클러스터 내 브로커 간 전송 데이터가 암호화되나요?
예. 기본적으로 새 클러스터에서는 브로커 간 통신에 대해 TLS를 통한 전송 데이터 암호화 기능이 활성화되어 있습니다. 프로비저닝된 클러스터에는 클러스터를 생성할 때 전송 데이터 암호화를 사용하는 옵션을 선택 해제할 수 있습니다.
Q: Apache Kafka 클라이언트와 Amazon MSK 서비스 간 전송되는 데이터가 암호화되나요?
예. 기본 전송 중 암호화는 CLI 또는 AWS 관리 콘솔에서 생성된 클러스터에 대해서만 TLS로 설정되어 있습니다. 클라이언트가 TLS 암호화를 사용하여 클러스터와 통신하려면 추가 구성이 필요합니다. 프로비저닝된 클러스터에는 TLS/평문 또는 평문 설정을 선택하면 기본 암호화 설정을 변경할 수 있습니다. MSK 암호화에 대해 더 알아보기.
Q: Amazon MSK 클러스터의 Apache ZooKeeper 노드와 브로커 사이에서 데이터가 이동할 때 전송 데이터가 암호화되나요?
예. Apache Kafka 버전 2.5.1 이상을 실행하는 Amazon MSK 클러스터는 Apache Kafka 브로커와 ZooKeeper 노드 간 TLS 전송 암호화를 지원합니다.
액세스 관리
Q: 클러스터 인증 및 Apache Kafka API 권한 부여를 제어하려면 어떻게 해야 하나요?
서버리스 클러스터에는 인증과 권한 부여를 위해 IAM 액세스 제어를 사용할 수 있습니다. 프로비저닝된 클러스터에는 3가지 옵션을 사용할 수 있습니다. 1) AWS Identity and Access Management(IAM) 액세스 제어를 AuthN/Z에 모두 사용(권장), 2) AuthN에 TLS 인증서 인증(CA)을 사용하고 AuthZ에 액세스 제어 목록 사용, 3) AuthN에 SASL/SCRAM을 사용하고 AuthZ에 액세스 제어 목록 사용. Amazon MSK는 IAM 액세스 제어의 사용을 권장합니다. 사용이 가장 쉬운 옵션인 동시에 최소 권한 액세스로 기본 설정되므로 가장 안전한 옵션입니다.
Q: Amazon MSK에서 권한 부여는 어떻게 이루어지나요?
IAM 액세스 제어를 사용하는 경우 Amazon MSK는 사용자가 작성한 정책과 자체 권한 부여자를 사용하여 작업 권한을 부여합니다. TLS 인증서 인증 또는 SASL/SCRAM을 사용하는 경우 Apache Kafka는 권한 부여에 액세스 제어 목록(ACL)을 사용합니다. ACL을 사용하려면 TLS 인증서 또는 SASL/SCRAM을 사용하여 클라이언트 인증을 활성화해야 합니다.
Q: 클라이언트에 대한 인증 및 승인을 동시에 수행하려면 어떻게 해야 합니까?
IAM 액세스 제어를 사용하는 경우 Amazon MSK가 자동으로 인증 및 권한 부여를 수행하므로 추가 설정이 필요하지 않습니다. TLS 인증을 사용하는 경우 클라이언트 TLS 인증서의 Dname을 ACL의 보안 주체로 사용하여 클라이언트 요청을 승인할 수 있습니다. SASL/SCRAM을 사용하는 경우 사용자 이름을 ACL의 보안 주체로 사용하여 클라이언트 요청을 승인할 수 있습니다.
Q: 서비스 API 작업을 제어하려면 어떻게 해야 합니까?
AWS Identity and Access Management(IAM)를 사용하여 서비스 API 작업을 제어할 수 있습니다.
Q: 기존 클러스터에서 IAM 액세스 제어를 사용할 수 있나요?
예. AWS 콘솔이나 UpdateSecurity API를 사용해 기존 클러스터에서 IAM 액세스 제어를 사용할 수 있습니다.
Q: Amazon MSK 밖에서 IAM 액세스 제어를 사용할 수 있나요?
아니요. IAM 액세스 제어는 Amazon MSK 클러스터에만 사용할 수 있습니다.
Q: Amazon MSK의 AWS 계정과 다른 AWS 계정의 Apache Kafka 클라이언트에 Amazon MSK 클러스터에 비공개로 연결할 수 있는 교차 계정 액세스 권한을 부여하려면 어떻게 해야 하나요?
Amazon MSK 클러스터에 클러스터 정책을 연결하여 Amazon MSK 클러스터에 대한 프라이빗 연결을 설정할 수 있는 교차 계정 Apache Kafka 클라이언트 권한을 제공할 수 있습니다. IAM 클라이언트 인증을 사용하는 경우 클러스터 정책을 사용하여 연결 클라이언트의 Apache Kafka 데이터 플레인 권한을 세부적으로 정의할 수도 있습니다. 클러스터 정책에 대해 자세히 알아보려면 클러스터 정책 설명서를 참조하세요.
모니터링, 지표, 로깅, 태깅
Amazon MSK 콘솔, Amazon CloudWatch 콘솔을 사용하여 클러스터의 성능을 모니터링하거나, JMX 및 호스트 지표에서 오픈 소스 모니터링 솔루션인 Prometheus의 개방형 모니터링을 사용하여 모니터링할 수 있습니다.
Q: 다양한 CloudWatch 모니터링 레벨의 비용은 어떻게 됩니까?
Amazon CloudWatch를 사용하여 클러스터를 모니터링하는 비용은 Apache Kafka 클러스터의 크기 및 모니터링 레벨에 따라 달라집니다. Amazon CloudWatch에서는 매월 지표당 비용을 부과하며, 프리 티어를 제공합니다. 자세한 내용은 Amazon CloudWatch 요금을 참조하세요. 모니터링 레벨별로 제공하는 지표 수에 대한 세부 정보는 Amazon MSK 모니터링 설명서를 참조하세요.
Q: Prometheus를 사용한 개방형 모니터링과 호환되는 모니터링 도구는 무엇인가요?
Prometheus 내보내기 도구에서 읽도록 설계된 도구는 Datadog, Lenses, New Relic, Sumo Logic 또는 Prometheus 서버와 같은 개방형 모니터링과 호환됩니다. 개방형 모니터링에 대한 자세한 내용은 Amazon MSK 개방형 모니터링 설명서를 참조하세요.
Q: 클라이언트의 상태와 성능을 모니터링하려면 어떻게 해야 합니까?
사용 중인 Apache Kafka 버전에서 지원되는 모든 클라이언트 측 모니터링을 사용할 수 있습니다.
Q: Amazon MSK 리소스에 태그를 지정할 수 있나요?
예. AWS Command Line Interface(AWS CLI) 또는 콘솔에서 Amazon MSK 클러스터에 태그를 지정할 수 있습니다.
Q: 소비자 랙을 모니터링하려면 어떻게 해야 하나요?
주제 수준 소비자 랙 지표는 모든 클러스터에 대해 Amazon MSK가 Amazon CloudWatch에 게시하는 기본 지표 세트의 일부로 제공됩니다. 이러한 지표는 추가 설정 없이 확인 가능합니다. 프로비저닝된 클러스터에는 파티션 수준 소비자 랙 지표(파티션 차원)도 제공됩니다. 그렇게 하면 클러스터에서 향상된 모니터링(PER_PARTITION_PER_TOPIC)을 사용할 수 있습니다. 또는 클러스터에서 오픈 모니터링을 활성화하고 Prometheus 서버를 사용하여 클러스터의 브로커에서 파티션 수준 지표를 캡처할 수 있습니다. 소비자 랙 지표는 다른 Apache Kafka 지표와 마찬가지로 포트 11001에서 사용할 수 있습니다.
Q: 소비자 랙 지표를 Amazon CloudWatch에 게시할 때 드는 비용은 얼마인가요?
주제 수준 지표는 무료로 제공되는 Amazon MSK 지표의 기본 세트에 포함됩니다. 파티션 수준 지표는 Amazon CloudWatch 요금에 따라 비용이 부과됩니다.
Q: Apache Kafka 브로커 로그에는 어떻게 액세스하나요?
프로비저닝된 클러스터에 대한 브로커 로그를 전송할 수 있습니다. Amazon CloudWatch Logs, Amazon Simple Storage Service(S3) 및 Amazon Kinesis Data Firehose로 브로커 로그를 전송할 수 있습니다. Kinesis Data Firehose는 Amazon OpenSearch Service를 비롯한 여러 대상 위치를 지원합니다. 이 기능을 사용하는 방법은 Amazon MSK 로깅 설명서를 참조하세요. 요금에 대한 정보는 CloudWatch Logs 및 Kinesis Data Firehose 요금 페이지를 참조하세요.
Q: 브로커 로그의 로깅 수준은 어떻게 되나요?
Amazon MSK는 프로비저닝된 클러스터의 모든 브로커에 대해 INFO 수준의 로그를 제공합니다.
Q: Apache ZooKeeper 로그에는 어떻게 액세스하나요?
지원 티켓을 통해 Apache ZooKeeper 로그를 요청할 수 있습니다.
Q: 주제 생성과 마찬가지로 Apache Kafka 리소스 API 사용을 로깅할 수 있나요?
예. IAM 액세스 제어를 사용하는 경우 Apache Kafka 리소스 API 사용이 AWS CloudTrail에 로깅됩니다.
메타데이터 관리
Q: Apache ZooKeeper란 무엇인가요?
https://zookeeper.apache.org에서 살펴보면 “Apache ZooKeeper는 구성 정보를 유지 관리하고, 이름을 지정하고, 분산 동기화 및 그룹 서비스를 제공하는 중앙 집중식 서비스입니다. 이러한 종류의 서비스는 모두 분산 애플리케이션에서 각기 다른 형식으로 사용됩니다."라고 나와 있으며 여기에는 Apache Kafka 등이 포함됩니다.
Q: Amazon MSK는 Apache ZooKeeper를 사용하나요?
예. Amazon MSK는 메타데이터 관리에 Apache ZooKeeper를 사용합니다. 또한 Apache Kafka 버전 3.7부터는 ZooKeeper 모드 또는 KRaft 모드에서 클러스터를 생성할 수 있습니다. KRaft 모드로 생성된 클러스터는 ZooKeeper 노드 대신 KRaft 컨트롤러를 사용하여 메타데이터를 관리합니다.
Q: KRaft란 무엇인가요?
KRaft(Apache Kafka Raft)는 Apache Kafka 클러스터의 메타데이터 관리를 외부 Apache ZooKeeper 노드에서 Apache Kafka 내 컨트롤러 그룹으로 전환하는 합의 프로토콜입니다. 이렇게 변경하면 메타데이터를 Apache Kafka 브로커 내에서 주제로 저장 및 복제할 수 있으므로 메타데이터가 더 빠르게 전파됩니다. 개발자 안내서를 참조하세요.
Q: Amazon MSK와 ZooKeeper 모드에서 KRaft 모드를 사용하려면 API를 변경해야 하나요?
Amazon MSK에서 KRaft 모드를 사용하기 위해 API를 변경할 필요는 없습니다. 하지만 클라이언트에서 여전히 --zookeeper 연결 문자열을 사용하는 경우 --bootstrap-server 연결 문자열을 사용하여 클러스터에 연결하고 관리자 작업을 수행하도록 클라이언트를 업데이트해야 합니다. --zookeeper 플래그는 Apache Kafka 버전 2.5에서 사용 중단되었으며 Apache Kafka 3.0부터 제거되었습니다. 따라서 최신 Apache Kafka 클라이언트 버전과 --bootstrap-server 연결 문자열을 사용하는 것이 좋습니다.
Q: ZooKeeper에 연결하는 도구가 있는데, ZooKeeper가 없는 KRaft 클러스터에서는 어떻게 작동하나요?
사용하는 도구에서 ZooKeeper 연결 없이 Apache Kafka Admin API를 사용할 수 있는지 확인해야 합니다. 예를 들어 KRaft 모드 클러스터에 Cruise Control을 사용하는 방법에 대한 업데이트된 설명서를 참조하세요. 또한 Cruise Control은 ZooKeeper 연결 없이 Apache Kafka를 실행하기 위해 따라야 할 단계도 게시했습니다.
Q: KRaft 기반 클러스터에서 ZooKeeper 기반 클러스터보다 브로커당 더 많은 파티션을 호스팅할 수 있나요?
브로커당 파티션 수는 KRaft 기반 클러스터와 ZooKeeper 기반 클러스터에서 동일합니다. 그러나 KRaft를 사용하면 클러스터에 더 많은 브로커를 프로비저닝하여 클러스터당 더 많은 파티션을 호스트할 수 있습니다.
통합
- Amazon S3(Kinesis Data Firehose를 사용하여 코딩이 필요 없는 간편한 방식으로 MSK에서 Amazon S3로 데이터를 전송)
- Amazon Virtual Private Cloud(VPC)(네트워크 격리 및 보안)
- Amazon CloudWatch(지표)
- AWS Key Management Service(AWS KMS)(스토리지 볼륨 암호화)
- Amazon IAM(Apache Kafka 및 서비스 API의 인증 및 권한 부여)
- AWS Lambda(MSK 이벤트 소싱)
- AWS IoT(IoT 이벤트 소싱)
- AWS Glue 스키마 레지스트리(Apache Kafka 애플리케이션에 사용된 스키마 변경 제어)
- AWS CloudTrail(AWS API 로그)
- AWS Certificate Manager(클라이언트 TLS 인증에 사용되는 프라이빗 CA)
- AWS CloudFormation(코드를 사용하여 Amazon MSK 클러스터 설명 및 프로비저닝)
- Amazon Managed Service for Apache Flink(스트리밍 데이터를 처리하는 완전관리형 Apache Flink 애플리케이션)
- Amazon Managed Service for Apache Flink Studio(Apache Kafka에서 SQL을 대화형으로 스트리밍)
- AWS Secrets Manager(SASL/SCRAM 인증에 사용되는 클라이언트 보안 인증 정보)
- Amazon S3(Kinesis Data Firehose를 사용하여 코딩이 필요 없는 간편한 방식으로 MSK에서 Amazon S3로 데이터를 전송)
- Amazon VPC(네트워크 격리 및 보안)
- Amazon CloudWatch(지표)
- Amazon IAM(Apache Kafka와 서비스 API의 인증 및 권한 부여)
- AWS Glue 스키마 레지스트리(Apache Kafka 애플리케이션에 사용된 스키마 변경 제어)
- AWS CloudTrail(AWS API 로그)
- AWS PrivateLink(프라이빗 연결)
확장
AWS Management Console 또는 AWS CLI를 사용하여 프로비저닝된 클러스터에서 스토리지를 스케일 업할 수 있습니다. 또한 계층형 스토리지를 사용하여 스토리지용 브로커를 추가하지 않고 거의 무제한의 데이터를 클러스터에 저장할 수 있습니다. 서버리스 클러스터에서는 사용량에 따라 원활하게 스토리지 크기가 조정합니다.
Apache Kafka는 로그 세그먼트라고 하는 파일에 데이터를 저장합니다. 각 세그먼트가 완료되면 클러스터 또는 주제 수준에서 구성된 크기를 기준으로 저비용 스토리지 계층에 복사됩니다. 데이터는 지정된 보존 시간 또는 크기에 따라 성능 최적화 스토리지에 유지된 후 삭제됩니다. 저비용 스토리지에는 별도의 시간 및 크기 제한이 설정되어 있으며 기본 스토리지 계층보다 깁니다. 클라이언트가 저비용 계층에 저장된 세그먼트의 데이터를 요청하면 브로커가 데이터를 읽고 기본 스토리지에 저장된 것과 같은 방식으로 데이터를 제공합니다.
Q: 클러스터에서 스토리지를 자동으로 확장하려면 어떻게 해야 하나요?
AWS 관리 콘솔을 사용하거나 AWS CLI 또는 API를 사용하여 AWS Application Auto Scaling 정책을 생성하는 방법으로 자동 크기 조정 스토리지 정책을 생성할 수 있습니다.
Q: 기존 클러스터의 브로커 수를 조정할 수 있나요?
예. 프로비저닝된 Amazon MSK 클러스터의 브로커 수를 늘리거나 줄일 수 있습니다.
Q: 기존 클러스터의 브로커 크기를 조정할 수 있나요?
예. 프로비저닝된 Amazon MSK 클러스터의 브로커 유형을 더 크거나 작은 유형으로 조정하도록 선택할 수 있습니다.
Q: 여러 브로커의 파티션 균형을 조정하려면 어떻게 해야 하나요?
파티션 자동 리밸런싱을 통해 I/O 발열을 관리하는 Cruise Control을 사용할 수 있습니다. 자세한 내용은 Cruise Control 설명서를 참조하세요. 또는 Apache Kafka 관리 API kafka-reassign-partitions.sh를 사용하여 브로커의 파티션을 재할당할 수도 있습니다. 서버리스 클러스터에서 Amazon MSK는 자동으로 파티션 균형을 조정합니다.
요금 및 가용성
Q: Amazon MSK 요금은 어떤 방식으로 부과되나요?
요금은 생성하는 리소스에 따라 다릅니다. 요금 페이지 방문하여 자세히 알아볼 수 있습니다.
Q: 데이터 복제로 인한 데이터 전송에 대해서도 비용을 지불해야 하나요?
아니요. 클러스터 내의 모든 데이터 전송은 추가 비용 없이 서비스에 포함됩니다.
Q: Amazon MSK를 제공하는 AWS 리전은 어딘인가요?
Amazon MSK를 제공하는 리전은 여기에서 확인할 수 있습니다.
Q: 데이터 전송 요금은 어떤 방식으로 부과되나요?
프로비저닝된 클러스터를 사용하면 Amazon MSK 클러스터에서 데이터를 송수신할 경우 표준 AWS 데이터 전송 요금이 적용됩니다. 리전의 클러스터 내 데이터 전송(브로커 간의 데이터 전송 및 브로커와 Apache ZooKeeper 노드 간의 데이터 전송 포함)에는 요금이 부과되지 않습니다.
서버리스 클러스터를 사용하면 다른 리전으로 데이터를 송수신하고 퍼블릭 인터넷으로 데이터를 전송하는 경우 AWS 데이터 전송 요금이 적용됩니다.
규정 준수
- HIPAA 적격
- PCI
- ISO
- SOC 1,2,3
AWS 서비스 및 규정 준수 프로그램의 전체 목록을 확인하려면 규정 준수 프로그램 제공 범위 내 AWS 서비스를 참조하세요.
서비스 수준 계약
복제
Q: Amazon MSK Replicator란 무엇인가요?
Amazon MSK Replicator는 코드를 작성하거나 인프라를 관리하지 않고도 다른 AWS 리전(교차 리전 복제) 또는 동일한 AWS 리전 내(동일 리전 복제)의 Amazon MSK 클러스터에 데이터를 안정적으로 복제할 수 있도록 하는 Amazon MSK 기능입니다. 교차 리전 복제(CRR)를 사용하면 가용성이 높고 내결함성이 있는 다중 리전 스트리밍 애플리케이션을 구축하여 복원력을 높일 수 있습니다. 또한 CRR을 사용하여 여러 지역의 리전에서 소비자에게 지연 시간이 짧은 액세스를 제공할 수 있습니다. SRR을 사용하면 한 클러스터의 데이터를 여러 클러스터로 분산하여 파트너 및 팀과 데이터를 공유할 수 있습니다. 또한 SRR 또는 CRR을 사용하여 여러 클러스터의 데이터를 하나로 집계하여 분석할 수 있습니다.
Q: MSK Replicator를 사용하려면 어떻게 해야 하나요?
소스 및 대상 MSK 클러스터 페어 간에 복제를 설정하려면 대상 AWS 리전에 복제기를 생성해야 합니다. 복제기를 생성하려면 소스 및 대상 MSK 클러스터의 Amazon 리소스 이름(ARN)과 MSK 복제기에서 클러스터에 액세스하는 데 사용할 수 있는 AWS Identity and Access Management(IAM) 역할이 포함된 세부 정보를 지정합니다. 대상 MSK 클러스터가 아직 없는 경우 대상 MSK 클러스터를 생성해야 합니다. 또한 주제 이름, 구성, Replicator의 시작 위치를 비롯한 추가 설정을 구성할 수도 있습니다.
Q: MSK Replicator는 어떤 유형의 Kafka 클러스터를 지원하나요?
MSK 복제기는 MSK 클러스터 간의 복제만 지원합니다. 프로비저닝된 MSK 클러스터와 서버리스 유형의 MSK 클러스터 모두 지원됩니다. 또한 MSK 복제기를 사용하여 프로비저닝된 클러스터에서 서버리스로 또는 그 반대로 전환할 수 있습니다. 다른 Kafka 클러스터는 지원되지 않습니다.
Q: 복제하려는 주제를 지정할 수 있나요?
예. 복제기를 생성할 때 허용 및 거부 목록을 사용하여 복제할 주제를 지정할 수 있습니다.
Q: MSK 복제기는 주제 설정과 소비자 그룹 오프셋을 복제하나요?
예. MSK 복제기는 주제 구성, 액세스 제어 목록(ACL) 및 소비자 그룹 오프셋과 같은 필수 Kafka 메타데이터를 자동으로 복제하므로 장애 조치 후 사용 중인 애플리케이션에서 원활하게 처리를 재개할 수 있습니다. 데이터만 복제하려는 경우 이러한 설정 중 하나 이상을 끄도록 선택할 수 있습니다. 또한 복제기를 생성할 때 허용 또는 거부 목록을 사용하여 복제하려는 소비자 그룹을 지정할 수 있습니다.
Q: 수신 처리량이 변경될 경우 복제 규모를 조정해야 하나요?
아니요. MSK 복제기는 기본 복제 인프라를 자동으로 배포, 프로비저닝 및 조정하여 수신 처리량 변경을 지원합니다.
Q: 여러 AWS 계정의 MSK 클러스터 간에 데이터를 복제할 수 있나요?
아니요. MSK 복제기는 동일한 AWS 계정의 MSK 클러스터 간 복제만 지원합니다.
Q: 복제를 모니터링하려면 어떻게 해야 하나요?
대상 리전에서 Amazon CloudWatch를 사용하여 추가 비용 없이 각 Replicator의 주제 및 집계 수준에서 ‘ReplicationLatency, MessageLag, ReplicatorThroughput’에 대한 지표를 볼 수 있습니다. 지표는 ‘AWS/Kafka’ 네임스페이스의 ReplicatorName 아래에 표시됩니다. 또한 ‘ReplicatorFailure, AuthError, ThrottleTime’ 지표를 통해 Replicator에 문제가 있는지 확인할 수 있습니다.
Q: MSK Replicator를 사용하여 한 클러스터의 데이터를 여러 클러스터로 복제하거나 여러 클러스터의 데이터를 한 클러스터로 복제할 수 있나요?
예. 각 소스 및 대상 클러스터 페어에 대해 서로 다른 복제기를 생성하기만 하면 됩니다.
Q: MSK 복제기는 소스 및 대상 MSK 클러스터에 어떻게 연결되나요?
MSK 복제기는 IAM 액세스 제어를 사용하여 소스 및 대상 클러스터에 연결합니다. 복제기를 생성하려면 소스 및 대상 MSK 클러스터에서 IAM 액세스 제어를 켜야 합니다. Amazon MSK는 여러 인증 방법을 동시에 지원하므로 클라이언트에 대해 SASL/SCRAM 및 mTLS를 비롯한 다른 인증 방법을 동시에 사용할 수 있습니다.
Q: MSK 복제기를 사용할 경우 예상되는 복제 지연 시간은 어느 정도인가요?
MSK Replicator는 데이터를 비동기식으로 복제합니다. 복제 지연 시간은 MSK 클러스터의 AWS 리전 간 네트워크 거리, 소스 및 대상 클러스터의 처리량 용량, 소스 및 대상 클러스터의 파티션 수 등 여러 요인에 따라 달라집니다. 지연 시간이 길면 문제 해결 가이드를 따르세요.
Q: MSK Replicator에서 주제 이름을 동일하게 유지할 수 있나요?
예. MSK Replicator를 사용하면 새 Replicator를 생성할 때 ‘접두사’와 ‘동일’ 중에서 주제 이름 구성을 선택할 수 있습니다. 기본적으로 MSK Replicator는 주제 이름에 자동 생성된 접두사를 추가하여 대상 클러스터에 새 주제를 생성합니다. 예를 들어 MSK Replicator는 소스 클러스터의 ‘topic’ 데이터를 대상 클러스터의 ‘<sourceKafkaClusterAlias>.topic’이라는 새 주제에 복제합니다. DescribeReplicator API 또는 MSK 콘솔의 Replicator 세부 정보 페이지를 사용하여 ‘sourceKafkaClusterAlias’ 필드에서 대상 클러스터의 주제 이름에 추가할 접두사를 찾을 수 있습니다. 원래 이름을 유지하면서 대상 클러스터에 주제를 복제하려면 주제 이름 구성을 ‘동일’로 설정하기만 하면 됩니다.
Q: 주제 이름 구성을 ‘동일’로 설정해야 하는 이유는 무엇인가요?
AWS 리전 전체에서 가용성과 복원력이 뛰어난 스트리밍 데이터 아키텍처를 간편하게 구축하려면 주제 이름 구성을 ‘동일’로 설정해야 합니다. 이 구성을 사용하면 원래 주제 이름을 유지하면서 Kafka 주제를 다른 Amazon MSK 클러스터에 복제하므로 복제 설정 또는 장애 조치 이벤트 중에 클라이언트 애플리케이션을 재구성해야 할 필요성이 줄어듭니다. 이렇게 하면 복원력과 가용성을 높이기 위해 여러 리전에 걸쳐 액티브-패시브 클러스터 구성을 쉽게 설정할 수 있습니다. 또한 클러스터 전체의 데이터 집계, MSK 클러스터 간 마이그레이션, 여러 지역으로의 데이터 배포와 같은 사용 사례를 간소화합니다. Kafka 레코드 헤더에 메타데이터가 추가되었는데 클라이언트가 데이터를 처리할 수 없는 경우에는 이 구성을 사용하지 마세요.
Q: 주제 이름 구성을 ‘동일’로 설정하면 무한 복제 루프가 발생할 위험이 있나요?
아니요. MSK Replicator는 레코드가 원래 Kafka 주제로 다시 복제되는 것을 자동으로 방지하므로 무한 복제 루프를 피할 수 있습니다. 이렇게 하기 위해 MSK Replicator는 복제의 일환으로 레코드 헤더에 메타데이터를 추가합니다.
Q: 기존 Replicator를 업데이트하여 주제 이름 구성을 ‘동일’로 설정할 수 있나요?
아니요. Replicator를 생성한 후에는 주제 이름 구성을 변경할 수 없습니다.
Q: 복제를 사용하여 리전 전체에서 스트리밍 애플리케이션의 복원력을 높이려면 어떻게 해야 하나요?
MSK 복제기를 사용하여 액티브-액티브 또는 액티브-패시브 클러스터 토폴로지를 설정하면 리전 간 Kafka 애플리케이션의 복원력을 높일 수 있습니다. 액티브-액티브 설정에서는 두 MSK 클러스터가 모두 읽기 및 쓰기를 능동적으로 제공합니다. 이에 비해 액티브-패시브 설정에서는 한 번에 하나의 MSK 클러스터만 스트리밍 데이터를 능동적으로 제공하고 다른 클러스터는 대기 상태에 있습니다. 액티브-패시브 설정에는 주제 이름 구성을 ‘동일’로 설정하고 액티브-액티브 설정에는 구성을 ‘접두사’로 설정하는 것이 좋습니다. 하지만 ‘접두사’ 구성을 사용하려면 소비자가 복제된 주제를 읽을 수 있도록 재구성해야 합니다. 클라이언트를 재구성하지 않으려는 경우 액티브-액티브 설정에도 ‘동일’ 구성을 사용할 수 있습니다. 그러나 각 Replicator는 한 번은 복제에 사용하고 또 한 번은 무한 루프 방지를 위해 처리해야 하기 때문에 일반적인 데이터 양의 두 배를 처리해야 하므로 각 Replicator에 대해 추가 데이터 처리 및 데이터 전송 요금을 지불해야 합니다.
Q: 어떤 Kafka 버전에서 주제 이름 구성에 ‘동일’이 지원되나요?
Kafka 버전 2.8.1 이상에서 실행되는 모든 MSK 클러스터에서 지원됩니다.
Q: 소스 클러스터의 기존 데이터를 복제할 수 있나요?
예. 기본적으로 새 복제기를 생성하면 소스 클러스터의 스트림 끝(최신 오프셋)에서 데이터 복제가 시작됩니다. 또는 기존 데이터를 복제하려는 경우 소스 클러스터 주제 파티션의 가장 빠른 오프셋부터 데이터 복제를 시작하도록 새 복제기를 구성할 수 있습니다.
Q: 복제로 인해 소스 클러스터의 소비자가 제한될 수 있나요?
MSK 복제기는 소스 클러스터의 소비자 역할을 하므로 복제로 인해 소스 클러스터에서 다른 소비자가 제한될 수 있습니다. 이는 소스 클러스터의 읽기 용량과 복제 중인 데이터의 처리량에 따라 달라집니다. 소스 클러스터와 대상 클러스터에 동일한 용량을 프로비저닝하고 복제 처리량을 고려하여 필요한 용량을 계산하는 것이 좋습니다. 또한 소스 및 대상 클러스터에서 복제기에 대한 Kafka 할당량을 설정하여 복제기에 사용될 수 있는 용량을 제어할 수 있습니다.
Q: 대상 클러스터에 쓰기 전에 데이터를 압축할 수 있나요?
예. 복제기를 생성할 때 없음, GZIP, Snappy, LZ4 및 ZSTD 중에서 원하는 압축 코덱을 지정할 수 있습니다.
Amazon MSK 시작하기
Amazon MSK 요금 페이지를 방문하세요.
이 단계별 안내서를 통해 Amazon MSK에서 Apache Kafka 클러스터를 설정하는 방법을 알아보세요.
Amazon MSK에서 Apache Kafka 클러스터 실행을 시작합니다. Amazon MSK 콘솔에 로그인합니다.