OCI Streaming with Apache Kafka는 Oracle Cloud Infrastructure(OCI)에서 Apache Kafka를 사용해 실시간 데이터 스트리밍 애플리케이션을 구축할 수 있는 관리형 서비스입니다. 고객이 기본 인프라를 직접 관리할 필요가 없는 완전 관리형 Kafka 환경을 제공합니다.
일반적인 사용 사례로는 사용자 변경 데이터 캡처(CDC), 메트릭 및 로그 수집, 행동 분석, 실시간 수요 예측, 사기 감지, 이상 거래 감지, 의료 분석 등이 있습니다. 또한 높은 처리량과 짧은 지연 시간의 데이터 수집 및 처리가 필요한 시나리오에도 적합합니다.
스타터 및 고가용성(HA)의 두 가지 클러스터 유형이 있습니다. 스타터 클러스터는 가용성 도메인 전용 또는 지역 서브넷에 1~24개 사이의 브로커로 구성 가능합니다. HA 클러스터는 지역 서브넷에서만 생성되며, 고가용성이 필요한 모든 운영 워크로드에 권장됩니다. HA 클러스터는 가용성 도메인(AD) 또는 고장 도메인(FD) 간의 최소 3개의 브로커 노드를 요구하며 최대 24개의 브로커를 사용할 수 있습니다.
관리형 Kafka 서비스는 Apache Kafka 3.7, 3.6 및 3.5의 최신 안정적 릴리스와 다양한 이전 버전을 지원합니다. 지원되는 버전의 전체 목록은 문서에서 확인할 수 있습니다.
OCI Streaming with Apache Kafka은 현재 ZooKeeper를 사용한 Kafka 메타데이터 및 클러스터 조정 관리만을 지원합니다. ZooKeeper 없이 Kafka가 기본적으로 메타데이터를 관리할 수 있도록 만들어주는 KRaft 모드는 아직 지원되지 않습니다. 그러나 향후 릴리스에서는 KRaft 지원이 계획되어 있으므로 더 단순하고 회복탄력성이 뛰어난 Kafka 아키텍처를 구현할 수 있게 될 것입니다.
예. 모든 데이터 플레인 및 관리 API는 OCI Streaming with Apache Kafka에서 기본적으로 지원됩니다.
본 서비스는 현재 ARM A1 구성을 기본 지원합니다. AMD 또는 Intel과 같은 다른 프로세서 제품군이 필요한 경우 OCI Support에 문의해 추가 옵션 및 구성에 대해 논의할 수 있습니다.
달리 명시되지 않는 한 OCI Streaming with Apache Kafka는 Apache Kafka의 오픈 소스 버전에서 지정된 기본값을 사용합니다. 문서화되어 있는 두 가지 클러스터 유형별 기본 설정을 확인해 주세요.
예. OCI Streaming with Apache Kafka 사용자는 새 클러스터와 기존 클러스터 모두에 커스텀 구성을 생성하고 적용할 수 있습니다. 현재 CLI를 사용해 커스텀 구성을 만들고 버전을 지정한 뒤 클러스터를 만들 때 적용할 수 있습니다. OCI Console에서 클러스터 설정 중 기본값 또는 커스텀 구성을 선택할 수 있습니다. 커스텀 구성에 대한 자세한 내용은 구성 설명서를 참고하세요.
커스터마이징할 수 있는 구성 속성은 설명서를 참고하세요.
보안은 OCI Streaming with Apache Kafka의 근간입니다. OCI Streaming with Apache Kafka 서비스는 전송 중 및 유휴 상태의 암호화를 기본적으로 제공하며, Oracle이 관리하는 암호화 키로 보호됩니다. 네트워크 액세스 제어, 사용자 인증, 권한 부여 설정은 데이터 및 서비스 액세스를 보호하기 위한 추가적인 보호 계층을 제공합니다.
예. Kafka Access Control Lists(ACLs)을 사용해 특정 주제, 소비자 그룹, 관리 작업에 대한 액세스를 제한할 수 있습니다. 이를 통해 권한이 부여된 클라이언트만 Kafka 리소스에 액세스할 수 있습니다.
OCI Streaming with Apache Kafka는 Kafka 클러스터에 대한 안전한 액세스를 보장하는 여러 인증 방법을 지원합니다. 사용자는 보안 통신 및 액세스 제어를 위해 SASL/SCRAM(Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism) 또는 mTLS(Mutual TLS)를 통해 인증할 수 있습니다. 이러한 옵션은 인증된 사용자만 Kafka 클러스터와 상호 작용할 수 있도록 하는 강력한 보안 조치를 제공합니다.
본 서비스는 현재 SASL/SCRAM 및 mTLS 인증을 지원합니다. 향후 OCI Streaming with Apache Kafka는 OCI Identity and Access Management(IAM)를 지원할 예정입니다. 해당 서비스는 통합 ID 제공업체를 통한 Active Directory 및 LDAP 통합, ID 동기화를 통한 인증 및 사용자 관리 간소화를 지원합니다.
예. 프라이빗 서브넷 내에서 Kafka 클러스터를 구성하고 VCN 피어링을 사용해 아키텍처 요구사항에 따라 다른 OCI VCN 또는 온프레미스 네트워크로부터 안전하게 연결할 수 있습니다.
OCI Streaming with Apache Kafka는 높은 처리량 요구 사항을 충족하는 커스터마이징 가능한 브로커 구성을 통해 확장 가능한 데이터 수집 및 처리를 지원합니다. 선택한 구성에 따라 하나의 클러스터에 최대 24개의 브로커를 추가할 수 있습니다.
고가용성 클러스터의 경우 OCI Streaming with Kafka는 여러 AD 또는 FD에 브로커를 자동으로 배포해 회복탄력성을 확보합니다. 또한 본 서비스는 브로커 간의 자동화된 로드 밸런싱 및 파티셔닝을 제공합니다.
예. 브로커 수 제한(1~24개 브로커) 내에서 Kafka 클러스터를 확장할 수 있습니다. 이를 통해 서비스를 중단하지 않고도 워크로드 수요에 맞게 리소스를 조정할 수 있습니다.
현재 OCI Streaming with Apache Kafka에 대한 퍼블릭 연결은 사용할 수 없습니다. Kafka 클러스터에 대한 액세스는 OCI VCN으로 제한됩니다. 외부 프로듀서와 소비자를 연결하고자 하는 경우 OCI FastConnect 또는 VPN과 같은 사설 연결 솔루션을 설정해 온프레미스 네트워크 또는 다른 클라우드 환경을 OCI로 안전하게 확장할 수 있습니다.
온프레미스 연결의 경우 OCI FastConnect 또는 VPN 연결을 설정해 OCI에서 호스팅되는 Kafka 클러스터에 안전하게 액세스할 수 있습니다.
예. OCI Streaming with Apache Kafka는 MirrorMaker 2를 사용해 Active/Active 또는 Active/Standby 설정용으로 구성할 수 있는 클러스터 간 복제를 지원합니다. 이를 통해 클러스터 간 유연한 데이터 복제 전략을 구현하고 재해 복구 및 데이터 동기화를 수행할 수 있습니다. 회복탄력성 확보를 위해 HA 구성 내의 데이터는 기본적으로 동일한 리전 내에 복제됩니다. MirrorMaker 2를 사용하여 특정 요구 사항에 따른 추가 리전 간 또는 클러스터 간 복제를 사용자정의할 수 있습니다.
예. 타사 도구 또는 Apache Kafka에서 지원하는 MirrorMaker 2와 같은 오픈 소스 도구를 사용해 클러스터의 데이터를 OCI Streaming with Apache Kafka로 복제할 수 있습니다.
예. OCI Streaming with Apache Kafka는 다른 모든 Kafka 커넥터와 더불어 Debezium을 사용한 CDC를 지원합니다. 현재 CDC를 위한 자체 커넥터를 관리 및 유지보수할 책임은 사용자에게 있습니다. 그러나 향후 릴리스를 통해 커넥터 관리를 간소화할 수 있는 완전 관리형 Kafka Connect 서비스가 제공될 예정입니다.
현재 OCI Streaming with Apache Kafka는 OCI Monitoring 및 JMX 메트릭과의 직접 통합을 지원하지 않습니다. Kafka 클러스터 성능 및 작업을 모니터링하려면 커스텀 솔루션 또는 외부 모니터링 도구를 사용해야 합니다. Kafka 클러스터와 동일한 VCN 내에 모니터링 도구를 배치해 브로커 성능 및 토픽 작업과 같은 메트릭을 수집할 수 있습니다.
OCI Streaming with Apache Kafka는 현재 운영 로그 수집을 위한 OCI Logging과의 직접 통합을 지원하지 않습니다. 문제 해결 및 분석을 위해 환경 내에서 외부 로깅 솔루션이나 모니터링 도구를 직접 구현해야 할 수 있습니다.
토픽 구성, 파티션 및 복제 설정은 Kafka 클러스터와 동일한 네트워크 내에서 Kafka CLI, SDK 또는 Kafka API를 통해서만 관리할 수 있습니다. 현재 OCI 콘솔은 이러한 구성의 직접 관리를 지원하지 않습니다. 해당하는 도구를 통해 복제 요소를 설정하여 내결함성 및 가용성 요구 사항을 충족할 수 있습니다.
현재 OCI Streaming with Apache Kafka은 클러스터 관리를 위한 기본 UI를 제공하지 않습니다. 그러나 Kafbat, AKHQ 등과 같은 타사 도구를 사용해 Kafka 클러스터를 관리하고 모니터링할 수 있습니다. 사용자는 해당하는 도구들을 OCI 내에 배포해 클러스터를 원활하게 모니터링하고 관리할 수 있습니다.
OCI Streaming with Apache Kafka의 가격은 기본 인프라에 기반해 책정됩니다. Kafka 브로커, 코어, 메모리, 스토리지의 양을 선택하여 클러스터를 구성할 수 있습니다. 관련 인프라 비용은 OCI 가격 목록에 기반한 패스스루 요금으로 청구됩니다(OCPU 가격은 A1 가변 구성 참고). 또한 프로비저닝된 OCPU 수에 따라 시간당 OCPU당 $0.10의 서비스 요금이 적용됩니다. Arm A1 구성을 사용하는 클러스터의 경우 서비스 요금은 50% 할인되므로 시간당 OCPU당 0.05달러가 부과됩니다.
예. 데이터 스토리지 비용은 클러스터 프로비저닝 중에 선택한 블록 볼륨 스토리지를 기반으로 합니다. 브로커당 50GB~1TB의 스토리지를 선택할 수 있습니다. 관련 스토리지 비용은 OCI Block Volume 가격 정책에 기반한 패스스루 비용이 청구됩니다. 예를 들어, 5TB의 스토리지가 필요한 경우 각각 1TB의 브로커 5개를 프로비저닝해 해당하는 클러스터에 총 5TB의 스토리지를 제공합니다.
현재 OCI Streaming with Apache Kafka에는 관리형 Kafka Connect 서비스가 포함되어 있지 않지만 OCI Compute 인스턴스에 Kafka Connect를 배포하여 Kafka 클러스터와 통합할 수 있습니다.
예. Oracle GoldenGate와 OCI Streaming with Apache Kafka를 통합해 변경 사항을 데이터베이스에서 Kafka로 캡처 및 스트리밍하여 다양한 데이터 복제 및 분석 사용 사례를 지원할 수 있습니다.
OCI Data Flow는 Kafka 토픽 데이터를 직접 처리하는 데 사용할 수 있으며 데이터 변환, 분석, 스토리지를 위한 Spark 애플리케이션을 구축하고 실행할 수 있습니다.
예. 본 서비스는 현재 오픈 소스 Schema Registry 옵션과의 통합을 지원하므로 Schema Registry를 사용해 데이터 스트림에 대한 스키마를 관리하고 저장할 수 있습니다. OCI 환경 내에서 스키마 관리를 간소화할 수 있는 완전 관리형 Schema Registry 오퍼링은 향후 릴리스에서 제공될 예정입니다.