Azure Client Configurator は、ハイブリッド クラスターを構成し、Azure Managed Instance for Apache Cassandra への移行プロセスを簡略化するために設計されたツールです。 現在オンプレミス データセンターがある場合、またはセルフホステッド環境で運用している場合は、Azure Managed Instance for Apache Cassandra を使用して、他のデータセンターを有効に保守しながら、それらをクラスターにシームレスに組み込むことができます。
重要
クライアントコンフィギュレーター ツールはパブリック プレビュー段階です。 この機能は、サービス レベル アグリーメントがなくても提供されます。 運用環境のワークロード用にはお勧めしません。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
前提条件
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。
CLI リファレンス コマンドをローカル環境で実行したい場合は、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。
初回使用時に求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。
インストールされているバージョンと依存ライブラリを調べるには、az version を実行します。 最新バージョンにアップグレードするには、az upgrade を実行します。
この記事では、Azure CLI バージョン 2.30.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
セルフホステッド環境またはオンプレミス環境への接続で Azure 仮想ネットワーク を使用します。 オンプレミス環境を Azure に接続する方法の詳細については、「オンプレミス ネットワークを Azure に接続する」を参照してください。
Python のインストールが必要です。 Python がインストールされているかどうかを確認するには、ターミナルで
python --versionを実行します。Azure Managed Instance for Apache Cassandra クラスターとオンプレミスの Cassandra クラスターの両方が同じ仮想ネットワーク上にあることを確認します。 そうでない場合は、ネットワーク ピアリングまたは別の接続手段を確立する必要があります。 たとえば、Azure ExpressRoute を使用します。
マネージド クラスターとローカル クラスターの両方のクラスター名は同じである必要があります。
cassandra.yamlファイルで、ストレージ ポートが 7001 に設定され、クラスター名がマネージド クラスターと同じであることを確認します。cluster_name: managed_cluster-name storage_port: 7001UPDATE system.local SET cluster_name = 'managed_cluster-name' where key='local';
インストール
クライアントコンフィギュレーター フォルダーをダウンロードして移動します。
Python スクリプトを実行するように仮想環境を設定します。
python3 -m venv env source env/bin/activate python3 -m pip install -r requirements.txtAzure 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>パラメーター 説明 subscription-IDAzure サブスクリプション ID cluster-resource-groupクラスターが存在するリソース グループ cluster-nameAzure Managed Instance for Apache Cassandra クラスター名 initial-passwordAzure Managed Instance for Apache Cassandra クラスターのパスワード vnet-resource-group仮想ネットワークに接続されているリソース グループ vnet-nameクラスターに接続されている仮想ネットワークの名前 subnet-nameCassandra クラスターに割り当てられた IP アドレスの名前 ___locationクラスターがデプロイされている場所 seed-nodesオンプレミスまたはセルフホステッド Cassandra クラスター内の既存のデータセンターのシード ノード mi-dc-nameAzure Managed Instance for Apache Cassandra クラスターのデータセンター名 dc-nameオンプレミス クラスターのデータセンター名 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を実行します。すべてのノードで Cassandra の再起動が完了したら、
nodetool status確認します。 両方のデータセンターが一覧に表示され、ノードがUN (Up/Normal)状態になります。その後、Azure Managed Instance for Apache Cassandra のインスタンスから、
AllKeyspacesを選択してキースペース スキーマのレプリケーション設定を変更し、Azure Managed Instance for Cassandra クラスターへの移行プロセスを開始できます。Azure Resource Manager テンプレート (ARM テンプレート) を使用して、
autoReplicate設定を有効にします。 ARM テンプレートには、次のものが含まれている必要があります。"properties":{ ... "externalDataCenters": ["dc-name-1","dc-name-2"], "autoReplicate": "AllKeyspaces", ... }キースペース定義はすべて、
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }を含むように変更されます。 このトポロジが必要でない場合は、それを調整し、Azure Managed Instance for Apache Cassandra クラスターで手動でnodetool rebuild実行します。自動複製の詳細については、こちらを参照してください。
データ センター ペインを選択して、データ レプリケーションの進行状況を更新および監視します。

