重要

このページの日本語コンテンツは古くなっている可能性があります。最新の英語版コンテンツをご覧になるには、こちらをクリックしてください。

Cluster Linking のクイックスタート

Looking for Confluent Platform Cluster Linking docs? You are currently viewing Confluent Cloud documentation. If you are looking for Confluent Platform docs, check out Cluster Linking on Confluent Platform.

このクイックスタートでは、数回のコマンドを実行するだけでマルチリージョンまたはマルチクラウドアーキテクチャを作成します。

セットアップ

Confluent CLI の最新バージョンの取得

作業を始めるには、最新バージョンの CLI が必要です。

  • Confluent CLI をまだインストールしていない場合 は、ターミナルウィンドウで次の 2 つのコマンドを実行することで最新バージョンの CLI を取得できます(両方のコマンドの ~/.local/bin は、必要に応じて別のディレクトリに置き換えることができます)。

    curl -L --http1.1 https://cnfl.io/ccloud-cli | sh -s -- -b ~/.local/bin
    
    export PATH=~/.local/bin:$PATH;
    
  • 既に Confluent CLI がある場合は、最新の状態であることを確認します。

    既に Confluent Cloud CLI がある場合は、ccloud update --major を実行すると、利用可能なアップデートと confluent v2.0 への直接アップグレードのプロンプトが表示されます。

    既に新しい統合 CLI がある場合は confluent update を実行します。統合 CLI を使用すると、コマンドで ccloud ではなく confluent を使用できます。アップグレードしたら、参考として 便利な統合 CLI の Confluent コマンドリファレンス をご覧ください。

    新しい統合 CLI と移行パスの詳細については、「Confluent CLI のインストール」、「Confluent CLI v2 への移行」、「複数の CLI の並列実行」を参照してください。

送信元クラスターと送信先クラスターの作成

次に、2 つの Confluent Cloud クラスターが必要です。データは "送信元" クラスターから "送信先" クラスターに流れます。送信先クラスターは、別のリージョンまたはクラウドに配置します。

../../_images/clink-qs-source-dest.ja.png

送信元クラスターには、(パブリックインターネット経由で利用可能な)インターネットネットワークに接続された ベーシック クラスター、スタンダード クラスター、または 専用 クラスターを使用できます。

使用できるクラスターがない場合は、Confluent Cloud Console から、または直接 Confluent CLI から次のコマンドを実行して作成できます。

confluent kafka cluster create ClusterLinkingSource --type basic --cloud aws --region us-west-2

送信先クラスターは、パブリックインターネットネットワークに接続された 専用クラスター である必要があります。

送信先として使用できる専用クラスターがない場合は、Confluent Cloud Console から、または Confluent CLI から直接次のコマンドを実行して作成できます。

confluent kafka cluster create ClusterLinkingDestination --type dedicated --cloud aws --region us-east-1 --cku 1 --availability single-zone

ちなみに

  • Cluster Linking 機能のデモを効果的に行うには、送信元クラスターと送信先クラスターを別々のリージョンに配置する必要があります。マルチリージョンまたはマルチクラウドのセットアップを実現するために、送信先クラスターには送信元クラスターと異なるリージョンまたはクラウドを選択してください(たとえば、送信元クラスターを北カリフォルニアに、送信先クラスターを北バージニアに配置します)。
  • Confluent Cloud クラスターには、時間単位の利用料金と、クラスターへのデータの送受信や保存にかかる料金があります。したがって、このチュートリアルを実行すると料金が発生します。このデモのためにのみクラスターを使用する場合は、ウォークスルーの完了後に忘れずにクラスターを削除してください。その方法については、「強制停止」を参照してください。

リージョン間でのデータのレプリケート

異なるリージョン間を接続するクラスターが作成されたら、データを Geo レプリケートできます。

クラスター ID と送信元エンドポイントの保存

これから実行するいくつかのコマンド(クラスターリンクの作成とミラートピックのテスト)ではクラスターの詳細が使用されるため、必要な情報をすぐに参照できるように準備します。送信元クラスターの ID、送信元クラスターのエンドポイント、および送信先クラスターの ID を、ターミナルウィンドウのローカル変数として保存します。

各クラスターの ID を取得するには confluent kafka cluster list を使用し、送信元クラスターのエンドポイントの ID を取得するには confluent kafka cluster describe <source_id> を使用します。クラスターの作成時に confluent kafka cluster create コマンドの出力としてクラスターの詳細説明が表示され、そこにこれらの情報がすべて含まれています。

次の各コマンドをコピーし、実際のクラスター ID とエンドポイントに置き換えて、これらをローカル変数として保存します。

source_id=lkc-XXXXX
source_endpoint=SASL_SSL://pkc-XXXXX.us-west-2.aws.confluent.cloud:9092
destination_id=lkc-XXXXX

送信元トピックとミラートピックの作成

これでリンクが稼働したので、実際に試してみましょう。

Confluent では、データはトピックに格納されます。クラスター間でデータを移動するには、送信元クラスターのトピックから開始し、クラスターリンクを使用して、そのコピー("ミラートピック")を送信先クラスターに作成します。

ミラートピックには、送信元トピックからのすべてのデータが反映されます。コンシューマーがミラートピックから読み取ると、トピックに含まれるすべてのイベントのローカルコピーが提供されます。ミラートピックには送信元トピックの構成が同期され、最新の状態に維持されるため、ミラートピックの構成を手動で設定したり変更したりする必要はありません。

../../_images/clink-qs-mirror-topics.ja.png

ちなみに

ミラートピックは読み取り専用です。ミラートピックにデータを生成しようとしないでください。

CLI から、送信元クラスターでデータを生成および消費するために使用する API キーを指定します。

confluent api-key use <source-api-key> --resource $source_id

次に、送信元トピックが必要です。送信元クラスターに "topic-to-link" という名前の単一パーティショントピックを作成します。

confluent kafka topic create topic-to-link --cluster $source_id --partitions 1

作成したトピックにデータを入力します。

seq 1 10 | confluent kafka topic produce topic-to-link --cluster $source_id

これにより、送信元クラスター(たとえば北カリフォルニアにある AWS)に 1 ~ 10 の数値が生成されます。

このデータを、1 回のコマンドで送信先リージョン(たとえば北バージニアにある GCP)にミラーリングできます。

confluent kafka mirror create topic-to-link --cluster $destination_id --link my-link

これでデータが Geo レプリケートされました。

ちなみに

レプリケーション係数はミラートピックに同期されません。レプリケーション係数のデフォルトはすべてのトピックで 3 であり、これは構成できません。このため、Confluent Cloud のトピックを作成するときはレプリケーション係数のフラグを指定しません。詳細については、「同期されないミラートピック構成」を参照してください。

ミラートピックからの消費

ここでは、Geo レプリケートされたデータを送信先クラスターで消費して利用します。

必要に応じて、まず CLI が送信先クラスターで使用する API キーとシークレットを作成します。

confluent api-key create --resource <destination-cluster-id>
confluent api-key use <destination-api-key> --resource <destination-cluster-id>

次に、ミラートピックから読み取ります。

confluent kafka topic consume topic-to-link --cluster $destination_id --from-beginning

コマンドのコピーと、実行後に表示される出力を以下に示します。

confluent kafka topic consume topic-to-link --cluster $destination_id --from-beginning
Starting Kafka Consumer. Use Ctrl-C to exit.
1
2
3
4
5
6
7
8
9
10

ちなみに

コンシューマーは、Ctrl キーを押しながら C キーを押すことでいつでも終了できます。

これで、マルチリージョンまたはマルチクラウドのリアルタイムストリーミングアーキテクチャが作成されました。

動作の確認

Confluent Cloud の最新バージョンでは、次の機能を使用できます。

  • 送信元トピックとミラートピックを表示し、それらに着信するメッセージをモニタリングする
  • すべての環境の既存のクラスターリンクを一覧表示し、検査する
  • クラスターリンクをドリルダウンして、その活動の統計を表示する
  • クラスターリンクの作成方法について、埋め込まれたチートシートを参照する

Confluent Cloud Console にログオンし、作成したクラスターをそこから確認します。

../../_images/clink-qs-cloud-clusters-web.png

送信元トピックとミラートピックの表示

他のメッセージを送信元クラスターの topic-to-link に生成し、送信先クラスターのミラーから消費してみましょう。

同じクラスターリンクを使用して、追加のミラートピックをいくつでも作成できます。

ここでは、送信元トピックと送信先(ミラー)トピックの両方のメッセージを確認できます。トピックメッセージに移動するには、クラスターを選択し、Topics をクリックして、Messages タブを選択します。

../../_images/clink-qs-topic-messages-web.png

ちなみに

"Jump to offset" または "Jump to timestamp" を選択し、「1」と入力して、1/Parition 0 を選択します。これにより、パーティション 1 のメッセージがすべて表示されます。

強制停止

デモを終了するときは、時間単位の利用料金がかかり続けないように、忘れずにリソースを停止してください。

  1. 次のコマンドを使用して、両方のクラスターで topic-to-link を削除します。

    confluent kafka topic delete topic-to-link --cluster $destination_id
    
    confluent kafka topic delete topic-to-link --cluster $source_id
    
  2. 他のミラートピックをすべて削除します。

    他のミラートピックを作成した場合は、それらも削除する必要があります。

    次のコマンドを実行すると、送信先クラスターにあるすべてのミラートピックの一覧を表示できます。

    confluent kafka mirror list --cluster $destination_id
    

    その後、次のコマンドを使用して、各ミラートピックを削除します。

    confluent kafka topic delete <topic-name> --cluster $destination_id
    
  3. クラスターリンクを削除します。

    すべてのミラートピックを削除したら、送信先クラスターでクラスターリンクを削除できます。

    confluent kafka link delete my-link --cluster $destination_id
    

    他のクラスターを作成した場合は、次のコマンドを使用して、送信先クラスターに接続しているすべてのクラスターリンクを表示できます。

    confluent kafka link list --cluster $destination_id
    

    他のクラスターリンクをすべて削除します。

  4. 不要になったクラスターをすべて削除します。

    既存の Confluent Cloud クラスターをデモに使用していて、そのクラスターを今後も使用する場合は、これで完了です。

    このデモ用に新しいクラスターを作成した場合は、confluent kafka cluster delete <cluster-id> コマンドを使用して削除できます。

    注釈

    いったん削除したクラスターは元に戻せないため、削除は慎重に行ってください。

    デモの手順に従って新しいクラスターを作成した場合は、次のように $destination_id$source_id を使用するだけです。

    confluent kafka cluster delete $destination_id
    
    confluent kafka cluster delete $source_id
    

次の手順

Cluster Linking について、以下のユースケースとチュートリアルも試してください。

概念と構成の詳細については、以下を参照してください。