Terraform プランを使用して VMware Ubuntu 仮想マシンをデプロイして Azure Arc に接続する
この記事では、提供された Terraform プランを使用して Ubuntu サーバー、VMware vSphere 仮想マシンをデプロイし、これを Azure Arc 対応サーバー リソースとして接続する手順を示します。
前提条件
Azure Arc Jumpstart リポジトリを複製します。
git clone https://github.com/microsoft/azure_arc.git
バージョン 2.7 以降の Azure CLI をインストールするか、更新します。 現在インストールされているバージョンを確認するには、次のコマンドを使用してください。
az --version
vSphere Web クライアントのテンプレートから仮想マシンをデプロイするためのアクセス許可を持つ VMware vCenter Server ユーザー。
Azure サービス プリンシパルを作成します。
VMware vSphere 仮想マシンを Azure Arc に接続するには、共同作成者ロールが割り当てられた Azure サービス プリンシパルが必要です。 これを作成するには、自分の Azure アカウントにサインインして、次のコマンドを実行します。 このコマンドは、Azure Cloud Shell 内で実行することもできます。
az login az account set -s <Your Subscription ID> az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
次に例を示します。
az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
出力は次のようになります。
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcServers", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Note
サービス プリンシパルのスコープを、特定の Azure サブスクリプションとリソース グループに限定することを強くお勧めします。
Ubuntu サーバー VMware vSphere VM テンプレートの準備
このガイドを使用して Ubuntu サーバー VM をデプロイしてそれを Azure Arc に接続する前に、VMware vSphere テンプレートが必要です。 この記事では、VMware vSphere 6.5 以降を使用してこのようなテンプレートを簡単に作成する方法について説明します。
Note
Ubuntu サーバー VM テンプレートを既にお持ちの場合でも、このガイドを参照用に使用する必要があります。
デプロイ
Terraform プランを実行する前に、プランで使用される環境変数を設定する必要があります。 これらの変数は、先ほど作成した Azure サービス プリンシパル、Azure サブスクリプションとテナント、VMware vSphere の資格情報に基づいています。
az account list
コマンドを使用して、Azure サブスクリプション ID とテナント ID を取得します。Terraform プランでは、Microsoft Azure と VMware vSphere の両方にリソースが作成されます。 次に、仮想マシンでスクリプトが実行され、Azure Arc エージェントと必要なすべてのアーティファクトがインストールされます。 このスクリプトには、VMware vSphere および Azure 環境に関する特定の情報が必要です。
scripts/vars.sh
を編集し、各変数を適切な値で更新します。TF_VAR_subscription_id
= お使いの Azure サブスクリプション IDTF_VAR_client_id
= お使いの Azure サービス プリンシパル名TF_VAR_client_secret
= お使いの Azure サービス プリンシパル パスワードTF_VAR_tenant_id
= お使いの Azure テナント IDTF_VAR_resourceGroup
= Azure リソース グループ名TF_VAR_location
= Azure リージョンTF_VAR_vsphere_user
= vCenter 管理者ユーザー名TF_VAR_vsphere_password
= vCenter 管理者パスワードTF_VAR_vsphere_server
= vCenter サーバー FQDN/IPTF_VAR_admin_user
= OS 管理者ユーザー名TF_VAR_admin_password
= OS 管理者パスワード
CLI から、クローンされたリポジトリの
azure_arc_servers_jumpstart/vmware/ubuntu/terraform
ディレクトリに移動します。下に示すように、source コマンドを使って
scripts/vars.sh
を実行することにより、編集した環境変数をエクスポートします。 Terraform ではプランを適切に実行するために、これらを設定する必要があります。 このスクリプトは、Terraform のデプロイの一部として、仮想マシンでも自動的にリモートで実行されることに注意してください。source ./scripts/vars.sh
エクスポートした
TF_VAR
環境変数に加えて、terraform.tfvars
の Terraform 変数を VMware vSphere 環境に合わせて編集します。Terraform AzureRM、local、および vSphere プロバイダーをダウンロードする
terraform init
コマンドを実行します。terraform apply --auto-approve
コマンドを実行して、プランが終了するまで待ちます。Terraform のデプロイが完了すると、新しい Ubuntu サーバー VM が稼働し、新しく作成された Azure リソース グループ内に Azure Arc 対応サーバー リソースとして投影されます。
デプロイの削除
最も簡単な方法は、Azure portal 経由で Azure Arc リソースを削除することです。リソースを選択して削除するだけです。 さらに、VMware vSphere VM を削除します。
インスタンスを手動で削除する場合は、Terraform プランによって作成された
install_arc_agent.sh
も削除する必要があります。環境全体を破棄する場合は、以下のように
terraform destroy --auto-approve
コマンドを使用します。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示