クイックスタート: 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';
インストール
- クライアント コンフィギュレーター フォルダーをダウンロードし、その内部に移動します。
- Python スクリプトを実行するように仮想環境を設定します。
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
を実行することで、スクリプトを実行可能にします。- このスクリプトは、Cassandra をインストールし、これが Azure Managed Instance クラスターへ接続するために必要な新しい証明書を参照するように設定します。
- そしてユーザーに Cassandra の再起動を求めます。
すべてのノード上での Cassandra の再起動が完了したら、
nodetool status
を確認します。 両方のデータセンターが一覧に表示され、ノードは UN (Up/Normal) 状態になっているはずです。Azure Managed Instance for Apache Cassandra から、
AllKeyspaces
を選択してキースペース スキーマのレプリケーション設定を変更し、Cassandra Managed Instance クラスターへの移行プロセスを開始することができます。
ヒント
自動レプリケート設定は、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
を実行する必要があります。
詳細については、自動レプリケーションに関するセクションを参照してください
[!INFO]
次のステップ
このクイックスタートでは、Azure Managed Instance for Apache Cassandra クライアント コンフィギュレーターを使用してハイブリッド クラスターを作成する方法を説明しました。 これで、クラスターの操作を開始できます。