Microsoft Azure Windows VM エージェントは、Azure ファブリック コントローラーとの仮想マシン (VM) の対話を管理する、セキュリティで保護された軽量のプロセスです。 Azure Windows VM エージェントには、Azure 仮想マシン拡張機能を有効にして実行するための主要なロールがあります。 VM 拡張機能は、VM のデプロイ後の構成 (ソフトウェアのインストールと構成など) を有効にします。 VM 拡張機能では、VM の管理パスワードのリセットなどの復旧機能も有効になります。 Azure Windows VM エージェントがないと、VM 拡張機能を実行できません。
この記事では、Azure Windows VM エージェントをインストールして検出する方法について説明します。
[前提条件]
Azure Windows VM エージェントは、次の Windows オペレーティング システムの x64 アーキテクチャをサポートしています。
OS のバージョン | x64 | ARM64 |
---|---|---|
Windows 10 | サポートされています | サポートされています |
Windows 11 | サポートされています | サポートされています |
Windows Server 2016 | サポートされています | サポートされています |
Windows Server 2016 Core | サポートされています | サポートされています |
Windows Server 2019 | サポートされています | サポートされています |
Windows Server 2019 Core | サポートされています | サポートされています |
Windows Server 2022 | サポートされています | サポートされています |
Windows Server 2022 Core | サポートされています | サポートされています |
Windows Server 2025 | サポートされています | サポートされています |
Windows Server 2025 Core | サポートされています | サポートされています |
重要
Azure Windows VM エージェントでは、.NET Framework 4.0 を使用して、少なくとも Windows Server 2008 SP2 (64 ビット) を実行する必要があります。 Azure での仮想マシン エージェントの最小バージョンのサポートを参照してください。
VM が IP アドレス 168.63.129.16 にアクセスできることを確認します。 詳細については、「 IP アドレス 168.63.129.16 とは」を参照してください。
ゲスト VM 内で DHCP が有効になっていることを確認します。 これは、Azure Windows VM エージェントと拡張機能が機能するために DHCP からホストまたはファブリック アドレスを取得するために必要です。 静的プライベート IP アドレスが必要な場合は、Azure portal または PowerShell を使用して構成し、VM 内の DHCP オプションが有効になっていることを確認する必要があります。 PowerShell を使用した静的 IP アドレスの設定の詳細について説明します。
入れ子になった仮想化 VM で Azure Windows VM エージェントを実行すると、予期しない動作が発生する可能性があるため、その開発/テスト シナリオではサポートされません。
Azure Windows VM エージェントをインストールする
Azure Marketplace イメージ
Azure Windows VM エージェントは、Azure Marketplace イメージからデプロイされたすべての Windows VM に既定でインストールされます。 Azure portal、PowerShell、Azure CLI、または Azure Resource Manager テンプレートから Azure Marketplace イメージをデプロイすると、Azure Windows VM エージェントもインストールされます。
Azure Windows VM エージェント パッケージには、次の 2 つの部分があります。
- Azure Windows プロビジョニング エージェント (PA)
- Azure Windows ゲスト エージェント (WinGA)
VM を起動するには、VM に PA がインストールされている必要があります。 ただし、WinGA をインストールする必要はありません。 VM のデプロイ時に、WinGA をインストールしないことを選択できます。 次の例は、Azure Resource Manager テンプレートを使用して provisionVmAgent
オプションを選択する方法を示しています。
{
"resources": [{
"name": ["parameters('virtualMachineName')"],
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2016-04-30-preview",
"___location": ["parameters('___location')"],
"dependsOn": ["[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'))]"],
"properties": {
"osProfile": {
"computerName": ["parameters('virtualMachineName')"],
"adminUsername": ["parameters('adminUsername')"],
"adminPassword": ["parameters('adminPassword')"],
"windowsConfiguration": {
"provisionVmAgent": "false"
}
}
}
}]
}
エージェントがインストールされていない場合は、Azure Backup や Azure Security などの一部の Azure サービスを使用できません。 これらのサービスには拡張機能をインストールする必要があります。 WinGA を使用せずに VM をデプロイする場合は、後で最新バージョンのエージェントをインストールできます。
手動インストール
Windows インストーラー パッケージを使用して、Azure Windows VM エージェントを手動で インストール できます。 Azure にデプロイされるカスタム VM イメージを作成するときに、手動インストールが必要になる場合があります。
Azure Windows VM エージェントを手動でインストールするには、 インストーラーをダウンロード し、最新リリースを選択します。 Azure Windows VM エージェント リリースについては、GitHub ページで特定のバージョンを検索することもできます。 Azure Windows VM エージェントは、Windows Server 2008 (64 ビット) 以降でサポートされています。
注
-
ProvisionVMAgent
が有効になっていないカスタム イメージまたは Marketplace イメージから VM が作成された場合は、Azure Windows VM エージェントを手動でインストールした後、AllowExtensionOperations
をtrue
に更新することが重要です。 - これは、VM が特殊化されたディスクから作成された場合は必要ありません。 たとえば、VM が既存のディスクから直接作成された場合などです。
$vm = Get-AzVM -Name <VM Name> -ResourceGroupName <Resource Group Name>
$vm.OSProfile.AllowExtensionOperations = $true
$vm | Update-AzVM
Azure Windows VM エージェントを検出する
PowerShell
Azure Resource Manager PowerShell モジュールを使用して、Azure VM に関する情報を取得できます。 Azure Windows VM エージェントのプロビジョニング状態など、VM に関する情報を表示するには、 Get-AzVM を使用します。
Get-AzVM
次の簡略化された出力例では、ProvisionVMAgent
の中にOSProfile
プロパティが入れ子になっています。 このプロパティを使用して、VM エージェントが VM にデプロイされているかどうかを確認できます。
OSProfile :
ComputerName : myVM
AdminUsername : myUserName
WindowsConfiguration :
ProvisionVMAgent : True
EnableAutomaticUpdates : True
次のスクリプトを使用して、VM 名 (Windows OS を実行) と Azure Windows VM エージェントの状態の簡潔な一覧を返します。
$vms = Get-AzVM
foreach ($vm in $vms) {
$agent = $vm | Select -ExpandProperty OSProfile | Select -ExpandProperty Windowsconfiguration | Select ProvisionVMAgent
Write-Host $vm.Name $agent.ProvisionVMAgent
}
次のスクリプトを使用して、VM 名の簡潔な一覧 (Linux OS を実行) と Azure Windows VM エージェントの状態を返します。
$vms = Get-AzVM
foreach ($vm in $vms) {
$agent = $vm | Select -ExpandProperty OSProfile | Select -ExpandProperty Linuxconfiguration | Select ProvisionVMAgent
Write-Host $vm.Name $agent.ProvisionVMAgent
}
手動検出
Windows VM にログインしている場合は、タスク マネージャーを使用して実行中のプロセスを確認できます。 Azure Windows VM エージェントを確認するには、タスク マネージャーを開き、[ 詳細 ] タブを選択し、 WindowsAzureGuestAgent.exeという名前のプロセスを探します。 このプロセスの存在は、VM エージェントがインストールされていることを示します。
Azure Windows VM エージェントをアップグレードする
Windows 用 Azure Windows VM エージェントは、Azure Marketplace からデプロイされたイメージで自動的にアップグレードされます。 新しいバージョンは Azure Storage に格納されるため、アクセスをブロックするファイアウォールがないことを確認してください。 新しい VM が Azure にデプロイされると、VM のプロビジョニング時に最新の VM エージェントを受け取ります。 エージェントを手動でインストールした場合、またはカスタム VM イメージをデプロイしている場合は、イメージ作成時に新しい VM エージェントを含むように手動で更新する必要があります。
Azure Windows ゲスト エージェントの自動ログ収集
Azure Windows ゲスト エージェントには、一部のログを自動的に収集する機能があります。 CollectGuestLogs.exe プロセスはこの機能を制御します。 これは、サービスとしてのプラットフォーム (PaaS) クラウド サービスとサービスとしてのインフラストラクチャ (IaaS) VM の両方に存在します。 その目標は、オフライン分析に使用できるように、診断ログを VM から迅速かつ自動的に収集することです。
収集されるログは、イベント ログ、OS ログ、Azure ログ、および一部のレジストリ キーです。 エージェントは、VM のホストに転送される ZIP ファイルを生成します。 その後、エンジニアリング チームとサポート担当者は、この ZIP ファイルを使用して、VM を所有する顧客の要求に関する問題を調査できます。
Azure Windows ゲスト エージェントと OSProfile 証明書
Azure Windows VM エージェントは、VM または仮想マシン スケール セットの OSProfile
値で参照される証明書をインストールします。 これらの証明書をゲスト VM 内の Microsoft 管理コンソール (MMC) 証明書スナップインから手動で削除すると、Azure Windows ゲスト エージェントによってそれらの証明書が追加されます。 証明書を完全に削除するには、 OSProfile
から証明書を削除してから、ゲスト オペレーティング システム内から削除する必要があります。
仮想マシンの場合は、 Remove-AzVMSecret を使用して、 OSProfile
から証明書を削除します。
仮想マシン スケール セットの証明書の詳細については、「 Azure Virtual Machine Scale Sets - 非推奨の証明書を削除する方法」を参照してください。
次のステップ
VM 拡張機能の詳細については、 Azure 仮想マシンの拡張機能と機能に関するページを参照してください。