OCI Streaming with Apache Kafkaは、Oracle Cloud Infrastructure(OCI)上でApache Kafkaを使用してリアルタイム・データ・ストリーミング・アプリケーションを構築できるマネージド・サービスです。フルマネージドのKafka環境を提供するため、基盤となるインフラストラクチャを管理する必要がなくなります。
一般的なユースケースとしては、ユーザーの変更データ取得(CDC)、指標・ログの取り込み、行動分析、リアルタイム需要予測、不正検出、取引の異常検出、ヘルスケア分析などがあります。このサービスは、高スループット、低レイテンシのデータ取り込みと処理が必要なシナリオにも最適です。
スタータと高可用性(HA)の2種類のクラスタがあります。スターター・クラスタは、可用性ドメイン固有のサブネットまたはリージョナル・サブネットに、1~24のブローカで設定できます。HAクラスタはリージョナル・サブネットにのみ作成され、高可用性を必要とするすべての本番ワークロードに推奨されます。HAクラスタでは、最大24ブローカーを備えた可用性ドメイン(AD)またはフォルト・ドメイン(FD)全体で、3つ以上のブローカー・ノードが必要となります。
オラクルのマネージドKafkaサービスは、Apache Kafkaの最新の安定リリースの3.7、3.6、3.5、および以前のバージョンをいくつかサポートしています。サポートされているバージョンの完全なリストは、ドキュメントに記載されています。
現在、OCI Streaming with Apache Kafkaは、Kafkaのメタデータとクラスタ連携を管理するためのZooKeeperのみをサポートしています。ZooKeeperなしでKafkaがネイティブにメタデータを管理できるようにするKRaftモードはまだサポートしていません。しかし、KRaftのサポートは将来のリリースで計画されており、よりシンプルで耐障害性の高いKafkaアーキテクチャを実現します。
はい、すべてのデータ・プレーンAPIと管理APIは、OCI Streaming with Apache Kafkaでネイティブにサポートされています。
現在、このサービスはデフォルトでARM A1シェイプをサポートしています。AMD や Intel などの他のプロセッサファミリーが必要な場合は、OCI サポートにお問い合わせいただき、追加のオプションや構成についてご相談ください。
特に指定がない限り、OCI Streaming with Apache KafkaはApache Kafkaのオープンソース版で指定されているデフォルトを使用しています。両方のクラスタ・タイプについて、ドキュメントに記載されているデフォルト設定を確認してください。
はい、Apache Kafka を使用した OCI ストリーミングでは、新しいクラスタと既存のクラスタの両方にカスタム構成を作成して適用することができます。現在、CLI を使用してカスタム構成を作成および新たなバージョンを作成し、クラスタの生成時に適用することができます。OCIコンソールでは、クラスタのセットアップ時に、デフォルトの構成またはカスタム構成のいずれかを選択できます。カスタム構成の詳細については、構成のドキュメントをご覧ください。
カスタマイズ可能な構成プロパティについては、ドキュメントをご覧ください。
セキュリティは、OCI Streaming with Apache Kafkaの基本です。OCI Streaming with Apache Kafkaサービスは、オラクルが管理する暗号化キーで保護され、デフォルトで転送中および保存中の暗号化を提供します。ネットワークアクセス制御、ユーザー認証、および承認設定は、データとサービスアクセスを保護するためのさらなるレイヤーの保護を提供します。
はい、Kafkaアクセス制御リスト(ACL)を使用して、特定のトピック、消費者グループ、および管理運用へのアクセスを制限できます。これにより、許可されたクライアントだけがKafkaリソースにアクセスできるようにすることを支援します。
OCI Streaming with Apache Kafkaは、Kafkaクラスタへのアクセスを確保するために、複数の認証方法をサポートしています。ユーザーは、セキュアな通信とアクセス制御のために、(Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism)Mechanism (SASL/SCRAM)またはMutual TLS(mTLS)で認証できます。これらのオプションは、認証されたユーザーだけがKafkaクラスタとやりとりできるように支援するための堅牢なセキュリティ対策を提供します。
現在、このサービスは認証のためにSASL/SCRAMおよびmTLSをサポートしています。今後、OCI Streaming with Apache Kafkaは、OCI Identity and Access Management (IAM)をサポートします。認証とユーザー管理を効率化するために、IDプロバイダーの統合とID同期を通じて、Active DirectoryおよびLDAPの統合が実現されます。
はい、プライベート・サブネット内に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を使用してアクティブ/アクティブまたはアクティブ/スタンバイを構成することができます。これにより、クラスタ全体にわたり柔軟なデータレプリケーション戦略が可能になり、ディザスタ・リカバリやデータの同期を実現できます。デフォルトでは、HA構成内のデータは、耐障害性のために同じリージョン内でレプリケーションされます。MirrorMaker 2を使用することで、特定の要件に基づいて追加のクロスリージョン・レプリケーションや クロスクラスタ・レプリケーションをカスタマイズすることができます。
はい。サードパーティー・ツールやApache KafkaがサポートしているMirrorMaker 2などのオープンソース・ツールを使用して、クラスタからApache Kafkaを使用したOCIストリーミングにデータをレプリケーションできます。
はい、OCI Streaming with Apache Kafkaは、他のKafkaコネクタと同様に、Debeziumを使用したCDCをサポートしています。現在、CDCのコネクタの管理とメンテナンスはユーザーが自分で行っています。ただし、コネクタ管理を簡素化するフルマネージドのKafkaコネクト・サービスは、将来のリリースで予定されています。
現在、Apache Kafkaを使用したOCI Streamingでは、OCIモニタリングと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数に応じて、1時間あたりOCPUあたり0.10ドルのサービス料が適用されます。Arm A1シェイプを使用しているクラスタでは、サービス料金が50%割引され、1時間あたりのOCPUあたりの料金は0.05ドルになります。
はい。データ・ストレージ・コストは、クラスタ・プロビジョニング中に選択したブロック・ボリューム・ストレージに基づいています。ストレージは、ブローカーごとに50GBから1TBの間で選択できます。関連するストレージコストは、OCIブロック・ボリューム価格設定に基づくパススルー費用です。たとえば、5TBのストレージが必要な場合、5つのブローカーに1TBずつプロビジョニングし、クラスタに合計5 TBのストレージを割り当てます。
現在、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アプリケーションを構築して実行することができます。
はい。現在、このサービスはオープンソースのスキーマ・レジストリ・オプションとの統合をサポートしており、データ・ストリームのスキーマを管理・保存することができます。フルマネージドのスキーマ・レジストリは開発中であり、将来のリリースではOCI環境内のスキーマ管理を簡素化する予定です。