この記事では、Azure サービスを使用して VM のセキュリティ保護、修正プログラムの適用、監視を行い、拡張セキュリティ更新プログラム、Windows Server および SQL サーバーの従量課金制ライセンス、ソフトウェア構成証明の特典などの Azure Arc 特典を利用するための前提条件である、VMware VM 用の Azure 接続マシン エージェントをインストールする方法について説明します。
デプロイの設定に基づいて利用できる VMware VM に Arc エージェントをインストールするには、複数の方法があります。
- Azure portal
- Azure CLI、Azure PowerShell、Azure REST API、Azure SDK、Terraform、Bicep、ARM テンプレートなどのプログラムによる方法。 このドキュメント リポジトリのリファレンス セクションには、正確な構文に関する情報があります。
- サービス プリンシパル、System Center Configuration Manager スクリプト、System Center Configuration Manager カスタム タスク シーケンス、グループ ポリシー、Ansible プレイブックの使用など、帯域外のメソッド。
前提条件
VMware VM 用に Arc エージェントを大規模にインストールする前に、次のことを確認してください。
リソース ブリッジは、実行中の状態である必要があります。
vCenter は 接続 状態で、関連付けられている Azure Arc リソース ブリッジは 実行中 状態である必要があります。
ターゲット マシンに Arc エージェントをインストールするアクセス許可を持つ Azure Arc VMware VM 共同作成者ロールまたはカスタム Azure ロール。
すべてのターゲット マシンが次の状態になっています。
- 電源が入りました。
-
サポート対象のオペレーティング システムが実行されている。
- VMware Tools がマシン上にインストールされている。 VMware Tools がインストールされていない場合は、ポータル内で [ゲスト管理を有効にする] の操作が灰色表示されます。
注
VMware ツールがインストールされていない場合は、帯域外の方法を使用して Arc エージェントをインストールできます。
- ファイアウォールを介して接続し、インターネット経由で通信できる。さらにこれらの URL がブロックされていない。
注
Linux VM を使用している場合、アカウントは sudo コマンドでログインを要求しないようにする必要があります。 プロンプトをオーバーライドするには、ターミナルから sudo visudo
を実行し、ファイルの末尾に <username> ALL=(ALL) NOPASSWD:ALL
を追加します。 必ず <username>
を置き換えてください。
VM テンプレートにこれらの変更が組み込まれている場合は、そのテンプレートから作成された VM に対してこれを行う必要はありません。
注
SQL Server の自動接続: Microsoft SQL Server もインストールされている Azure Arc に Windows または Linux サーバーを接続すると、SQL Server インスタンスも自動的に Azure Arc に接続されます。
Azure Arc によって有効化された SQL Server には、SQL Server インスタンスとデータベース用の詳細インベントリと追加の管理機能が備わっています。 接続プロセスの一環として、拡張機能が Azure Arc 対応サーバーにデプロイされ、新しいロールが SQL Server とデータベースに適用されます。 SQL Server を Azure Arc に自動的に接続しない場合は、Azure Arc に接続するときに ArcSQLServerExtensionDeployment
と値 Disabled
という名前のタグを Windows または Linux サーバーに追加することでオプトアウトできます。詳細については、「 Azure Arc で有効になっている SQL Server の自動接続を管理する」を参照してください。
Arc エージェントをインストールする
この方法は、VMware ツールがターゲット マシンにインストールされている場合にのみ適用されます。 VMware ツールがインストールされていない場合は、ポータルでゲスト管理操作を有効にする操作が淡色表示され、Arc エージェントは帯域外の方法でインストールできます。
マシンが同じ管理者資格情報を共有している場合、管理者は Azure portal から複数のマシンのエージェントをインストールできます。
Azure Arc センターに移動し、vCenter リソースを選択します。
すべてのターゲット マシンを選択し、[ Azure で有効にする] オプションを選択します。
選択したマシンに Arc エージェントをインストールするには、[ ゲスト管理を有効にする] チェック ボックスをオンにします。 これにより、Azure Update Manager、Azure Monitor、Microsoft Defender for Cloud、Azure Policy、Azure Automation、Change Tracking、Inventory などの Azure サービスを使用して、仮想マシンのセキュリティ保護、管理、修正プログラムの適用、監視を行うことができます。
組織のネットワーク ポリシーに基づいて、いずれかのマシンでゲスト管理を有効にする場合は、VMware VM で実行される Arc エージェントが Azure に接続するための接続方法を選択します。 使用可能なオプションは、パブリック エンドポイント、プロキシ サーバー、プライベート エンドポイントです。
- プロキシ経由で Arc エージェントを接続する場合は、プロキシ サーバーの詳細を指定します。
- プライベート エンドポイント経由で Arc エージェントを接続する場合は、次の手順に従って Azure プライベート リンクを設定します。
注
プライベート エンドポイント接続は、Arc エージェントから Azure への通信でのみ使用できます。 Arc リソース ブリッジから Azure 接続の場合、Azure プライベート リンクはサポートされていません。
マシンの管理者のユーザー名とパスワードを入力します。 Windows VM の場合、アカウントは、ローカル管理者グループの一員である必要があります。Linux VM の場合は、ルート アカウントである必要があります。
[有効] を選択して、指定したマシンに Arc エージェントのインストールを開始します。 インストールが完了すると、Arc エージェントが実行されているマシンの [ゲスト管理] 列が [有効] に切り替わります。 これらのマシンで Azure サービスの使用を開始できます。 これらの資格情報は Azure に保持されません。 これらは Azure Arc エージェントのインストールに使用され、破棄されます。
この方法は、VMware ツールがターゲット マシンにインストールされている場合にのみ適用されます。 VMware ツールがインストールされていない場合は、帯域外の方法で Arc エージェントをインストールできます。
Arc エージェントのインストールは、AzCLI コマンドを使用して構築されたヘルパー スクリプトを使用して自動化できます。 このヘルパー スクリプトをダウンロードして VM を有効にし、Arc エージェントを大規模にインストールします。 1 つの ARM デプロイにおいて、ヘルパー スクリプトによって 200 台の VM 上で Arc エージェントを有効にしてインストールできます。
スクリプトの機能
操作を追跡するためのログ ファイル (vmware-batch.log) を作成します。
作成されたすべてのデプロイへの Azure portal リンクの一覧 (all-deployments-<timestamp>.txt)
を生成します。
ARM デプロイ ファイル (vmw-dep-<timestamp>-<batch>.json)
を作成します。
ゲスト管理が有効な場合は、1 つの ARM デプロイにおいて最大 200 台の VM を有効にできます。それ以外の場合は、400 台の VM を有効にできます。
vCenter 内のすべての VM を有効にする、cron ジョブとしての実行をサポートします。
自動化のために、Azure へのサービス プリンシパル認証を許可します。
このスクリプトを実行する前に、AZ CLI と connectedvmware
拡張機能をインストールします。
前提条件
このスクリプトを実行する前に次をインストールします。
使用方法
スクリプトをローカル コンピューターにダウンロードします。
PowerShell ターミナルを開き、そのスクリプトが含まれているディレクトリに移動します。
これは未署名のスクリプトであるため、次のコマンドを実行してスクリプトの実行を許可します (すべての手順を完了する前にセッションを閉じた場合は、新しいセッションでこのコマンドをもう一度実行します): Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
。
必要なパラメーターを指定してスクリプトを実行します。 たとえば、.\arcvmware-batch-enablement.ps1 -VCenterId "<vCenterId>" -EnableGuestManagement -VMCountPerDeployment 3 -DryRun
のようにします。
<vCenterId>
を vCenter の ARM ID に置き換えてください。
パラメーター
VCenterId
: VM が配置されている vCenter の ARM ID。
EnableGuestManagement
: このスイッチを指定すると、スクリプトによって VM 上のゲスト管理が有効になります。
VMCountPerDeployment
: ARM デプロイごとに有効にする VM の台数。 ゲスト管理が有効な場合の最大値は 200、それ以外の場合は 400 です。
DryRun
: このスイッチを指定すると、スクリプトは ARM デプロイ ファイルのみを作成します。 それ以外の場合、スクリプトは ARM デプロイもデプロイします。
Cron ジョブとしての実行
このスクリプトは、Windows タスク スケジューラを使用して、cron ジョブとして実行するように設定できます。 スケジュールされたタスクを作成するサンプル スクリプトを次に示します。
$action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-File "C:\Path\To\vmware-batch-enable.ps1" -VCenterId "<vCenterId>" -EnableGuestManagement -VMCountPerDeployment 3 -DryRun'
$trigger = New-ScheduledTaskTrigger -Daily -At 3am
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "EnableVMs"
<vCenterId>
を vCenter の ARM ID に置き換えてください。
タスクの登録を解除するには、次のコマンドを実行します。
Unregister-ScheduledTask -TaskName "EnableVMs"
Arc エージェントは、VMware Tools または API に依存することなく、マシン上に直接インストールできます。 帯域外のアプローチに従って、まずリソースの種類が Microsoft.HybridCompute/machines である Arc 対応サーバー リソースとしてマシンをオンボードします。 その後、vCenter へのリンク操作を実行してマシンの "Kind" プロパティを "VMware" として更新し、仮想ライフサイクル操作を有効にします。
マシンを Arc 対応サーバー リソースとして接続する: Arc 対応サーバー スクリプトを使用して Arc エージェントをインストールします。
Arc エージェントを大規模にインストールするには、次のいずれかの自動化アプローチを使用できます。
Arc 対応サーバー リソースを vCenter にリンクする: 次のコマンドを実行すると、Hybrid Compute マシンの "Kind" プロパティが "VMware" として更新されます。 マシンを vCenter にリンクすると、そのマシン上で仮想ライフサイクル操作と電源サイクル操作 (開始、停止など) が有効になります。
次のコマンドは、指定したサブスクリプション内の vCenter に属するすべての Arc for Server マシンをスキャンし、それらのマシンをその vCenter にリンクします。
az connectedvmware vm create-from-machines --subscription contoso-sub --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
次のコマンドは、指定したリソース グループ内の vCenter に属するすべての Arc for Server マシンをスキャンし、それらのマシンをその vCenter にリンクします。
az connectedvmware vm create-from-machines --resource-group contoso-rg --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
次のコマンドを使用して、個々の Arc for Server リソースを vCenter にリンクできます。
az connectedvmware vm create-from-machines --resource-group contoso-rg --name contoso-vm --vcenter-id /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/allhands-demo/providers/microsoft.connectedvmwarevsphere/VCenters/ContosovCentervcenters/contoso-vcenter
次のステップ