Kafka Connect の概要

Kafka Connect は、Kafka デベロッパーにとってデータ統合の推奨ツールです。データベース、メッセージ キュー、ファイル システムなどの外部システムと Kafka を接続するためのフレームワークを提供します。

Kafka Connect は、 Google Cloudによって精選され、検証および保守されている組み込みコネクタ プラグインの厳選されたセットを提供します。これらのコネクタ プラグインは自動的にパッチ適用とアップグレードが行われるため、メンテナンスが簡素化され、互換性が確保されます。また、Google Cloud には、パイプラインの健全性を維持するためのモニタリングとロギング機能が組み込まれています。

Kafka Connect API は、Google Cloud Managed Service for Apache Kafka サービスの一部として提供されます。これらの API には managedkafka.googleapis.com を介してアクセスでき、 Google Cloud コンソールとクライアント ライブラリに統合されています。Kafka Connect を管理するには、 Google Cloud コンソール、gcloud CLI、Managed Kafka API、Cloud クライアント ライブラリ、または Terraform を使用します。

Kafka Connect のユースケース

Kafka Connect は、Managed Service for Apache Kafka クラスタと他のさまざまなシステム間のデータ統合をサポートしています。主なユースケースは次のとおりです。

  • 既存の Kafka デプロイを Managed Service for Apache Kafka に移行します。

  • 障害復旧のために、Managed Service for Apache Kafka クラスタを別のリージョンに複製します。

  • Managed Service for Apache Kafka から BigQuery、Cloud Storage、Pub/Sub にデータをストリーミングします。

Connect クラスタ

Connect クラスタは、事前パッケージ化されたコネクタ プラグインと構成を含む Kafka Connect の分散型デプロイです。各 Connect クラスタは、プライマリ Managed Service for Apache Kafka クラスタに関連付けられています。このプライマリ クラスタには、Connect クラスタで実行されているコネクタの状態が保存されます。

通常、プライマリ Managed Service for Apache Kafka クラスタは、関連付けられた Connect クラスタで実行されているすべてのソースコネクタのターゲットと、すべてのシンクコネクタのソースとしても機能します。

1 つの Managed Service for Apache Kafka クラスタに複数の Connect クラスタを設定できます。MirrorMaker 2.0 を実行している場合、Connect クラスタは非プライマリの Managed Service for Apache Kafka クラスタまたはセルフマネージド Kafka クラスタに接続して、トピックデータの読み取りまたは書き込みを行うことができます。このプロセスにより、異なるクラスタ間でトピックのレプリケーションが可能になります。

リソースモデルの観点から見ると、Connect クラスタは Managed Service for Apache Kafka クラスタとは別のリソースです。

ウェブサイトのトラフィック データを保存する Managed Service for Apache Kafka クラスタがあるとします。このデータを分析のために BigQuery にストリーミングしたいと考えています。Connect クラスタを作成し、BigQuery シンクコネクタを使用して Kafka トピックから BigQuery にデータを移動できます。この Connect クラスタは、プライマリ クラスタとして Managed Service for Apache Kafka クラスタに関連付けられています。

コネクタ

コネクタは、Kafka クラスタと他のシステム間でデータを転送するソフトウェア コンポーネントです。

  • ソースコネクタは、ソースから Managed Service for Apache Kafka クラスタにデータを書き込みます。

  • シンク コネクタは、Managed Service for Apache Kafka クラスタからシンクにデータを書き込みます。

コネクタは、Connect クラスタ内でデプロイ、構成、管理されます。起動、停止、一時停止、再起動が可能で、構成を更新できます。

Managed Service for Apache Kafka がサポートするコネクタのタイプについては、コネクタの概要をご覧ください。

Kafka Connect を管理する

Kafka Connect を使用すると、コネクタのデプロイに集中できます。基盤となるインフラストラクチャと運用上の複雑さは Managed Service for Apache Kafka が処理します。

Kafka Connect サービスは、次の処理を自動化します。

  • Kafka Connect ワーカーのプロビジョニング: Connect クラスタを作成すると、Kafka Connect サービスは Kubernetes にワーカー クラスタを自動的にプロビジョニングします。

  • ネットワーキング: Kafka Connect サービスは、ワーカー、Managed Service for Apache Kafka ブローカー、外部システム間の通信を可能にするようにネットワークを構成します。場合によっては、既存の掲載ネットワークの設定を変更する必要があります。

  • ゾーンの復元力: Kafka Connect サービスは、ワーカーを 3 つ以上のゾーンに分散します。これにより、ゾーンが停止した場合でもデータ処理を続行できます。

  • 認証: Kafka Connect サービスは、Kafka ブローカーとの認証も構成し、安全な接続を確保します。

  • ロールアウトとアップグレード: Kafka Connect サービスは、ワーカー構成の変更、バージョンのアップグレード、セキュリティ パッチを管理し、デプロイが常に最新の状態になるようにします。

Kafka Connect サービス内では、次の構成を行うことができます。

  • 容量とネットワークの制約: パフォーマンスと費用を最適化するために、リソースの上限とネットワーク構成を定義します。

  • モニタリングとロギング: コネクタのログと指標にアクセスして、パフォーマンスをモニタリングし、問題をトラブルシューティングします。

  • コネクタのライフサイクル管理: 必要に応じてコネクタを一時停止、再開、再起動、停止して、データ パイプラインを管理します。

制限事項

  • プライマリ Kafka クラスタは、Managed Service for Apache Kafka クラスタである必要があります。プライマリ クラスタは、Kafka Connect クラスタがメタデータを書き込むクラスタです。

  • カスタム コネクタ プラグインを Kafka Connect クラスタにアップロードすることはできません。

  • このサービスは、Schema Registry を使用したリモート スキーマに対する検証をサポートしていません。

次のステップ

Apache Kafka® は、Apache Software Foundation または米国その他の諸国における関連会社の商標です。