Pinot을 Amazon MSK와 연결하기
Pinot을 Amazon MSK와 연결하기 (Connect Pinot with Amazon Managed Streaming for Apache Kafka, Amazon MSK)
Kubernetes의 Apache Pinot을 Amazon MSK(Managed Streaming for Apache Kafka)와 연결하는 방법을 안내해요.
출처: 문서
본문
개요 (Overview)
Amazon MSK는 관리형 Apache Kafka 서비스예요. Pinot의 실시간 테이블에서 MSK를 스트림 소스로 사용하려면 MSK 브로커에 접근하도록 Pinot 실시간 테이블의 streamConfigs를 구성해야 해요.
MSK 부트스트랩 서버 (MSK bootstrap brokers)
MSK 클러스터는 부트스트랩 브로커 엔드포인트를 제공해요. 이 엔드포인트를 Kafka 브로커 목록으로 Pinot 실시간 테이블 구성에 지정해야 해요.
실시간 테이블 구성 (Realtime table config)
실시간 테이블의 streamConfigs에서 MSK를 스트림 타입 kafka로 구성해요. 예:
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.topic.name": "my-topic",
"stream.kafka.broker.list": "<msk-bootstrap-brokers>:9098",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka30.KafkaConsumerFactory",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder"
}
네트워킹 보안 (Networking and security)
- MSK는 VPC 내부에 있으므로, Pinot 서버가 MSK에 접근하려면 같은 VPC·서브넷에 있거나 피어링·프라이빗 링크로 접근해야 해요.
- MSK가 IAM 인증이나 TLS를 요구하면 해당 보안 설정에 맞춰 구성해요.
모범 사례 (Best practices)
- MSK 브로커 목록을 부트스트랩 엔드포인트로 구성하세요.
- Pinot 서버의 브로커 접근 권한과 네트워크 경로를 검증하세요.