クイックスタート: Azure Managed Instance for Apache Cassandra クライアント コンフィギュレーターを使用してハイブリッド クラスターを構成する

Azure クライアント コンフィギュレーターは、ハイブリッド クラスターの構成を支援し、Azure Managed Instance for Apache Cassandra への移行プロセスを簡略化するために設計されたツールです。 現在オンプレミス データセンターがある場合、またはセルフホステッド環境で運用している場合は、Azure Managed Instance for Apache Cassandra を使用して、他のデータセンターを有効に保守しながら、それらをクラスターにシームレスに組み込むことができます。

重要

クライアント コンフィギュレーター ツールはパブリック プレビューの段階にあります。 この機能はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • この記事では、Azure CLI バージョン 2.30.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

  • セルフホステッドまたはオンプレミス環境に接続された Azure Virtual Network。 オンプレミス環境を Azure に接続する方法の詳細については、「オンプレミス ネットワークの Azure への接続」の記事を参照してください。

  • Python のインストールが必要です。 Python がインストールされているかどうかを確認するには、ターミナルで python --version を実行します。

  • Azure Managed Instance とオンプレミス Cassandra クラスターの両方が同じ仮想ネットワーク上にあることを確認します。 そうでない場合は、ネットワーク ピアリングまたはその他の接続方法 (高速ルートなど) を確立する必要があります。

  • マネージド クラスターとローカル クラスターの両方のクラスター名は同じである必要があります。 * cassandra.yaml ファイルで、ストレージ ポートが 7001 に設定され、クラスター名がマネージド クラスターと同じであることを確認します。

cluster_name: managed_cluster-name
storage_port: 7001
UPDATE system.local SET cluster_name = 'managed_cluster-name' where key='local';

インストール

python3 -m venv env
source env/bin/activate
python3 -m pip install -r requirements.txt
  • Azure CLI az login にサインインします
  • 既存の (オンプレミス) クラスターからの情報を使用して、クライアント フォルダー内で Python スクリプトを実行します。
python3 client_configurator.py --subscription-id <subcriptionId> --cluster-resource-group <clusterResourceGroup> --cluster-name <clusterName> --initial-password <initialPassword> --vnet-resource-group <vnetResourceGroup> --vnet-name <vnetName> --subnet-name <subnetName> --location <location> --seed-nodes <seed1 seed2 seed3> --mi-dc-name <managedInstanceDataCenterName> --dc-name <onPremDataCenterName> --sku <sku>

Note

  • subscription-id: Azure サブスクリプション ID。
  • cluster-resource-group: クラスターが存在するリソース グループ。
  • cluster-name: Azure Managed Instance クラスター名。
  • initial-password: Azure Managed Instance for Apache Cassandra クラスターのパスワード。
  • vnet-resource-group: 仮想ネットワークに接続されているリソース グループ。
  • vnet-name: クラスターに接続されている仮想ネットワークの名前。
  • subnet-name: Cassandra クラスターに割り当てられている IP アドレスの名前。
  • location: クラスターがデプロイされている場所。
  • seed-nodes: オンプレミス クラスターまたはセルフホステッド Cassandra クラスター内の既存のデータセンターのシード ノード。
  • mi-dc-name: Azure Managed Instance クラスターのデータ センター名。
  • dc-name: オンプレミス クラスターのデータ センター名。
  • sku: 仮想マシンの SKU サイズ。
  • Python スクリプトは、install_certs.tar.gz という名前の tar アーカイブを生成します。 * 各ノード上の /etc/cassandra/ にこのフォルダーをアンパックします。

    sudo tar -xzvf install_certs.tar.gz -C /etc/cassandra
    
  • /etc/cassandra/ フォルダー内で、sudo ./install_certs.sh を実行します。

    • を実行 sudo chmod +x install_certs.shして、スクリプトが実行可能であることを確認します。
    • このスクリプトは、Azure Managed Instance クラスターへの接続に必要な新しい証明書を Cassandra にインストールしてポイントします。
    • その後、Cassandra の再起動をユーザーに求めます。 Screenshot of the result of running the script.
  • すべてのノードで Cassandra の再起動が完了したら、チェックnodetool statusします。 両方のデータセンターが一覧に表示され、ノードは UN (Up/Normal) 状態になっているはずです。

  • Azure Managed Instance for Apache Cassandra から、AllKeyspaces を選択してキースペース スキーマのレプリケーション設定を変更し、Cassandra Managed Instance クラスターへの移行プロセスを開始することができます。

    Screenshot of selecting all key spaces.

ヒント

自動レプリケート設定は、arm テンプレートを使用して有効にする必要があります。 arm テンプレートには、次のものが含まれている必要があります。

"properties":{
...
"externalDataCenters": ["dc-name-1","dc-name-2"],
"autoReplicate": "AllKeyspaces",
...
}

警告

これにより、すべてのキースペース定義に WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 } が含まれるように変更されます。 これが目的のトポロジでない場合は、それを調整し、Cassandra Managed Instance クラスターで手動で nodetool rebuild を実行する必要があります。 詳細については、自動レプリケーションに関するセクションを参照してください

  • [Data Center] ウィンドウを選択して、データ レプリケーションの進行状況を更新および監視します

    Screenshot showing replication progress.

[!INFO]

次のステップ

このクイックスタートでは、Azure Managed Instance for Apache Cassandra クライアント コンフィギュレーターを使用してハイブリッド クラスターを作成する方法を説明しました。 これで、クラスターの操作を開始できます。