トレーニング
モジュール
Azure で Windows Server 仮想マシンのトラブルシューティングを行う - Training
Azure でホストされた Windows Server 仮想マシン (VM) への接続に影響する構成の問題のトラブルシューティング方法を学習します。 VM の起動、拡張機能、パフォーマンス、ストレージ、暗号化に関する問題を解決する方法を調べます。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
適用対象: ✔️ Windows VM
注意
この記事は役に立ちましたか? あなたの入力は私たちにとって重要です。 このページの Feedback ボタンを使用して、この記事がどれだけうまく機能したか、または改善方法をお知らせください。
Azure VM エージェントは仮想マシン (VM) エージェントです。 これにより、VM は IP アドレス 168.63.129.16
上のファブリック コントローラー (VM がホストされている基になる物理サーバー) と通信できます。 このアドレスは、通信を容易にする仮想パブリック IP アドレスです。 詳しくは、「IP アドレス 168.63.129.16 とは」を参照してください。
オンプレミス環境から Azure に移行された VM、またはカスタマイズされたイメージを使用して作成された VM には、Azure VM エージェントがインストールされていません。 これらのシナリオでは、VM エージェントを手動でインストールする必要があります。 VM エージェントをインストールする方法の詳細については、「 Azure 仮想マシン エージェントの概要を参照してください。
Azure VM エージェントが正常にインストールされると、VM の services.msc に次のサービスが表示されます。
サービス | 説明 |
---|---|
Windows Azure ゲスト エージェント | このサービスは、ゲスト VM からホスト エージェントへのさまざまな拡張機能と通信を構成する役割を担います。 また、 WaAppAgent.logでログを収集する役割も担います。 |
テレメトリ | このサービスは、VM のテレメトリ データをバックエンド サーバーに送信する役割を担います。 |
RdAgent | このサービスは、ゲスト エージェントのインストールを担当します。 (Transparent Installer は、ゲスト エージェントの他のコンポーネントとサービスをアップグレードするのに役立つ RdAgent のもう 1 つのコンポーネントです)。RdAgent は、ゲスト VM から物理サーバー上のホスト エージェントにハートビートを送信する役割も担います。 |
注意
ゲスト エージェントのバージョン 2.7.41491.971 以降では、テレメトリ コンポーネントは Windows Azure ゲスト エージェント サービスに含まれています。 そのため、このテレメトリ サービスが新しく作成された VM に一覧表示されない場合があります。
VM 拡張機能を実行できるようにするには、Azure VM ゲスト エージェントがインストールされ、正常に動作している必要があります。 ゲスト エージェントが 準備ができていないとして報告されている場合、または拡張機能が失敗し、 VMAgentStatusCommunicationError
などのエラー メッセージが返される場合は、次の手順に従ってゲスト エージェントのトラブルシューティングを開始します。
VM が起動していることを確認するには、次の手順に従います。
Azure portal で、[仮想マシン] を検索して選択します。
VM の一覧で、Azure VM の名前を選択します。
Azure VM のナビゲーション ウィンドウで、 Overview を選択します。
VM がまだ有効になっていない場合は、 Overview ページの上部にあるアクションの一覧を見つけて、 Start リンクを選択します。
また、オペレーティング システム (OS) が開始され、正常に実行されていることを確認します。
Azure portal の [VM の概要] ページを表示したまま、[プロパティ] タブを選択します。[エージェントの状態] フィールドの値が Ready になっていれば、[エージェントのバージョン] フィールドの値がサポートされている最小バージョンを満たしていることが確認できます。 次のスクリーンショットは、これらのフィールドを見つけることができる場所を示しています。
ゲスト エージェントの状態が Ready VM 拡張機能に関連する問題がある場合は、「 Azure 仮想マシンの拡張機能と機能 トラブルシューティングの提案を確認してください。
ゲスト エージェントの状態が 準備ができていない または空白の場合、ゲスト エージェントがインストールされていないか、正しく動作していません。
リモート デスクトップ プロトコル (RDP) を使用して VM に接続します。
注意
RDP 接続が正常に機能するためには、ゲスト エージェントは必要ありません。 VM への RDP 接続に影響する問題が発生した場合は、「 Azure 仮想マシンへのリモート デスクトップ接続のトラブルシューティング」を参照してください。
VM で Start を選択し、 services.msc を検索し、 Services アプリを選択します。
Services ウィンドウで、RdAgent サービスを選択します。
Action メニューを選択し、Properties を選択します。
Properties ダイアログ ボックスの General タブで、次の条件が満たされていることを確認し、OK または Cancel ボタンを選択します。
Services ウィンドウで、WindowsAzureGuestAgent サービスを選択します。
手順 4 と 5 を繰り返します。
サービスが存在しない場合は、ゲスト エージェントがインストールされていない可能性があります。 この場合は、ゲスト エージェントを手動でインストール。 手動インストールを行う前に、インストールの前提条件を確認。
ゲスト エージェントを正常に実行するには、ポート80
および32526
で168.63.129.16
WireServer IP (ホスト IP) アドレスへの接続が必要です。 この IP アドレスへの接続をテストする方法については、「 IP アドレス 168.63.129.16 とは」の「接続のトラブルシューティング」セクションを参照してください。
そのセクションのいずれかのテストが接続しない場合は、次のコンポーネントのいずれかが IP アドレス 168.63.129.16
へのアクセスをブロックする可能性がある問題を確認します。
注目すべきエラーがないか、次のログの場所を確認します。
見つけたエラーを次の一般的なシナリオと比較します。これにより、Azure VM エージェントに 準備ができていません 状態が表示されたり、想定どおりに動作しなくなる可能性があります。
これらの VM で Sysprep を実行すると、次のエラーが発生する可能性があります。
Sysprep を初めて実行すると、次のエラー メッセージが表示されます。
管理者: エラー ハンドラー
Sysprep を複数回実行すると、次のエラー メッセージが表示されます。
VM の sysprep の試行中に致命的なエラーが発生しました
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前にレジストリをバックアップして、問題が発生した場合にレジストリを復元できるようにします。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
まず、VM の Sysprep 状態をリセットします。 リセットには、一部のレジストリ キー 変更が含まれます。 その後、Azure VM エージェントを新しいバージョンにアップグレードできます。 この問題はバージョン 2.7.41491.1004 でのみ発生するため、エージェントを最新のエージェント バージョンにアップグレードしてみてください。
WaAppAgent.log ファイルでは、エージェントが "開始中" プロセスでスタックしていて、起動できないことがわかります。
[00000007] [05/28/2019 12:58:50.90] [INFO] WindowsAzureGuestAgent starting. Version 2.7.41491.901
VM は引き続き古いバージョンの Azure VM エージェントを実行しています。 C:\WindowsAzure フォルダーには、同じバージョンの複数のインスタンスを含む、多くの Azure VM エージェント インスタンスがインストールされていることがわかります。 複数のエージェント インスタンスがインストールされているため、VM は最新バージョンの Azure VM エージェントを起動しません。
Azure VM エージェントを手動でアンインストールし、次の手順に従って再インストールします。
コントロール パネル>プログラムと機能を開き、Azure VM エージェントをアンインストールします。
タスク マネージャーを起動し、次のサービスを停止します。
C:\WindowsAzure で、OLD という名前のフォルダーを作成します。
Packages または GuestAgent という名前のフォルダーを OLD フォルダーに移動します。 また、C:\WindowsAzure\logs GuestAgent_x.x.xxxxx から始まる GuestAgent フォルダーを OLD フォルダーに移動します。
最新バージョンの Windows インストーラー (MSI) エージェントをダウンロードしてインストールします。 インストールを実行するには、管理者権限が必要です。
次の msiexec コマンドを実行してゲスト エージェントをインストールします。
msiexec.exe /i c:\VMAgentMSI\WindowsAzureVmAgent.2.7.<version>.fre.msi /quiet /L*v c:\VMAgentMSI\msiexec.log
RdAgent、Azure VM エージェント、および Windows Azure テレメトリ サービスが実行されていることを確認します。
WaAppAgent.log ファイルを調べて、最新バージョンの Azure VM エージェントが実行されていることを確認します。
C:\WindowsAzure の下にある OLD フォルダーを削除します。
WaAppAgent.logファイルとTelemetry.log ファイルに次のエラー エントリが表示されます。
[ERROR] GetVersions() failed with exception: Microsoft.ServiceModel.Web.WebProtocolException: Server Error: Service Unavailable (ServiceUnavailable) --->
System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
[00000011] [12/11/2018 06:27:55.66] [WARN] (Ignoring) Exception while fetching supported versions from HostGAPlugin: System.Net.WebException: Unable to connect to the remote server
---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions 168.63.129.16:32526
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState status, IAsyncResult asyncResult, Exception& exception)
--- End of inner exception stack trace ---
at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
at System.Net.WebClient.DownloadString(Uri address)
at Microsoft.GuestAgentHostPlugin.Client.GuestInformationServiceClient.GetVersions()
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.HostGAPluginUtility.UpdateHostGAPluginAvailability()`
これらのエラー エントリは、VM が WireServer ホスト サーバーに到達できないことを示します。
WireServer に到達できないため、リモート デスクトップを使用して VM に接続し、Web ブラウザーで URL http://168.63.129.16/?comp=versions
にアクセスしてみてください。
手順 1. で URL に到達できない場合は、ネットワーク インターフェイスを調べて、動的ホスト構成プロトコル (DHCP) の使用が有効で、DNS があるかどうかを確認します。 ネットワーク インターフェイスの DHCP 状態を確認するには、次の network shell (netsh
) インターフェイス IP コマンドを実行して、 show 構成を実行します。
netsh interface ip show config
DHCP が無効になっている場合は、set アドレスに対して次の netsh
インターフェイス IP コマンドを実行します
netsh interface ip set address name="<name-of-the-interface>" source=dhcp
注: このコマンドでは、プレースホルダーの値をインターフェイスの名前に変更します。
ファイアウォール、プロキシ、または別のソースによって IP アドレスへのアクセスがブロックされる可能性がある問題 168.63.129.16
確認します。
Windows ファイアウォールまたはサード パーティ製のファイアウォールが、ポート 80
および 32526
へのアクセスをブロックしているかどうかを確認します。 このアドレスをブロックすべきでない理由の詳細については、「 IP アドレス 168.63.129.16 とは」を参照してください。
WaAppAgent.log ファイルに次のエラー エントリが表示されます。
[00000007] [07/18/2019 14:46:28.87] [WARN] WindowsAzureGuestAgent stopping.
[00000007] [07/18/2019 14:46:28.89] [INFO] Uninitializing StateExecutor with WaitForTerminalStateReachedOnEnd : True
[00000004] [07/18/2019 14:46:28.89] [WARN] WindowsAzureGuestAgent could not be stopped. Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorBase.WaitForExtensionWorkflowComplete(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorBase.Uninitialize(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.ContainerStateMachine.GoalStateExecutorForCloud.Uninitialize(Boolean WaitForTerminalStateReachedOnEnd)
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentCore.Stop(Boolean waitForTerminalState)
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentService.DoStopService()
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentService.<>c__DisplayClass2.<OnStopProcessing>b__1()
これらのエラー エントリは、Azure VM エージェントが "停止中" プロセスでスタックしていることを示します。
解決策 4a で問題が解決しない場合は、現在インストールされているバージョンを削除してから、最新バージョンのエージェントを手動でインストールします。
WaAppAgent.log ファイルに次のエラー エントリが表示されます。
[00000006] [06/20/2019 07:44:28.93] [INFO] Attempting to discover fabric address on interface Npcap Loopback Adapter.
[00000024] [06/20/2019 07:44:28.93] [WARN] Empty DHCP option data returned
[00000006] [06/20/2019 07:44:28.93] [ERROR] Did not discover fabric address on interface Npcap Loopback Adapter
これらのエラー エントリは、Wireshark がネットワーク マッパー (Nmap) プロジェクトのパケット キャプチャ (Npcap) ループバック アダプターを VM にインストールしたことを示します。 Wireshark は、ネットワーク トラフィックのプロファイリングとパケットの分析を行うオープンソース ツールです。 このようなツールは、多くの場合、ネットワーク アナライザー、ネットワーク プロトコル アナライザー、またはスニファーと呼ばれます。
Npcap ループバック アダプターを無効にしてから、問題が解決されているかどうかを確認してください。
WaAppAgent.log ファイルに次のエラー エントリが表示されます。
[00000004] [01/12/2019 00:30:47.24] [ERROR] RdCrypt Initialization failed. Error Code: -2147023143.
[00000004] [01/12/2019 00:30:47.24] [ERROR] Failed to get TransportCertificate. Error: System.AccessViolationException
Microsoft.Cis.Fabric.CertificateServices.RdCertificateFactory.Shutdown()
[00000004] [01/12/2019 00:30:47.24] [WARN] Could not get transport certificate from agent runtime for subject name: 12345678-d7c8-4387-8cf3-d7ecf62544e5. Installing certificates in the LocalMachine store failed.
[00000004] [01/12/2019 00:30:47.24] [WARN] Fetching certificate blob from the cert URI: http://168.63.129.16/machine/12345678-d7c8-4387-8cf3-d7ecf62544e5/12345678-d447-4b10-a5da-1ba1581cd7d7._VMName?comp=certificates&incarnation=2 failed with exception: System.NullReferenceException
-2147023143 = 0x6d9 = EPT_S_NOT_REGISTERED
これらのエラー エントリは、リモート プロシージャ コール (RPC) の問題が原因である可能性があります。 たとえば、RPC エンドポイントがリッスンしていない場合や、反対の側に RPC プロセスがない可能性があります。
次の portqry コマンドを実行して、Cryptography Next Generation (CNG) キー分離 (CNGKEYISO
) Windows サービスが RPC エンドポイントの一覧に含まれているかどうかを確認します。
portqry -n <VMName> -e 135
CNGKEYISO
プロセスが表示されない場合は、Windows サービス コンソールから開始し (CNG キーの分離 = KeyIso
)、WaAppAgent.exeまたはWindowsAzureGuestAgent.exeを再起動します。
Windows ゲスト エージェントは実行されていますが、拡張機能が機能していません。 WaAppAgent.log ファイルに次のエラー エントリが表示されます。
PInvoke PFXImportCertStore failed and null handle is returned. Error Code: 86
[00000003] [10/21/2020 02:37:45.98] [WARN] Could not get transport certificate from agent runtime for subject name: 12345678-dae3-4c2f-be57-55c0ab7a44e5. Installing certificates in the LocalMachine store failed.
[00000003] [10/21/2020 02:37:45.98] [ERROR] Installing certificates in the LocalMachine store failed with exception: Microsoft.WindowsAzure.GuestAgent.CertificateManager.CryptographyNative+PInvokeException: PInvoke PFXImportCertStore failed and null handle is returned. Error Code: 86.
これらのエラー エントリは、SYSTEM アカウントの Crypto フォルダーに対するアクセス許可がないために発生する可能性があります。 ゲスト エージェント サービス (RdAgent または WindowsAzureGuestAgent) の再起動中に Process Monitor (ProcMon) トレースを収集すると、"アクセス拒否" エラーが表示されるはずです。
SYSTEM アカウントに、次のフォルダーに対する Full Control アクセス許可があることを確認します。
C:\ProgramData\Microsoft\Crypto\Keys
C:\ProgramData\Microsoft\Crypto\RSA
C:\ProgramData\Microsoft\Crypto\SystemKeys
ゲスト エージェントが応答していないことを示す、 WaAppAgent.log ファイルに次のエラー エントリが表示されます。
[00000018] 2021-01-12T16:35:45Z [INFO] Test extract the plugin zip file to the temp folder C:\TEMP\12345678-5f85-45dc-9f17-55be1fde7b10
[00000010] 2021-01-12T16:35:45Z [ERROR] InstallPlugins() failed with exception: System.AggregateException: One or more errors occurred. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at Microsoft.WindowsAzure.GuestAgent.ExtensionStateMachine.PluginInstaller.PackageExpand(String packageFilePath, String destinationPath)
at Microsoft.WindowsAzure.GuestAgent.ExtensionStateMachine.PluginInstaller.ValidateExtensionZipFile(String pluginName, String pluginVersion, String& pluginZipFile)
ほとんどの場合、これらのエラー エントリは、サード パーティ製アプリケーションが VM にインストールされ、32 ビットまたは 64 ビットの .NET アプリケーションの動作が変更されたために発生します。
64 ビット アプリケーションが 32 ビット DLL を読み込むと、 BadImageFormatException
エラーが発生します。
重要
このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 したがって、次の手順を注意深く実行してください。 保護のために、レジストリを変更する前にレジストリをバックアップして、問題が発生した場合にレジストリを復元できるようにします。 レジストリのバックアップと復元方法の詳細は、「Windows のレジストリのバックアップおよび復元の方法」を参照してください。
レジストリを開き、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ を見つけます。NETFramework レジストリ サブキー、および Enable64Bit レジストリ エントリを表示します。
Enable64Bit レジストリ エントリが 0 に設定されている場合、64 ビット .NET アプリケーションは 32 ビット アプリケーションと見なされます。 そのため、Azure VM エージェントは機能しません。
解決策は、 Enable64Bit キーを 1 に設定し、VM を再起動することです。
Windows ゲスト エージェントの起動時に応答が停止し、次のアプリケーション ログ エントリが表示されます。
Log Name: Application
Source: .NET Runtime
Date: 3/07/2023 10:25:59 AM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: vm372437823
Description:
Application: WindowsAzureGuestAgent.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Configuration.ConfigurationErrorsException
at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean)
at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(System.Configuration.ConfigurationSchemaErrors)
at System.Configuration.ClientConfigurationSystem.EnsureInit(System.String)
Exception Info: System.Configuration.ConfigurationErrorsException
at System.Configuration.ClientConfigurationSystem.EnsureInit(System.String)
at System.Configuration.ClientConfigurationSystem.PrepareClientConfigSystem(System.String)
at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(System.String)
at System.Configuration.ConfigurationManager.GetSection(System.String)
at System.Configuration.PrivilegedConfigurationManager.GetSection(System.String)
at System.Diagnostics.DiagnosticsConfiguration.GetConfigSection()
at System.Diagnostics.DiagnosticsConfiguration.Initialize()
at System.Diagnostics.DiagnosticsConfiguration.get_IndentSize()
at System.Diagnostics.TraceInternal.InitializeSettings()
at System.Diagnostics.Trace.set_AutoFlush(Boolean)
at Microsoft.WindowsAzure.GuestAgent.Prime.TraceManager..cctor()
Exception Info: System.TypeInitializationException
at Microsoft.WindowsAzure.GuestAgent.Prime.TraceManager.Write(System.String, System.Object[])
at Microsoft.WindowsAzure.GuestAgent.AgentCore.AgentCore.Start()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
この問題は、 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config ファイルが見つからないか破損している場合に発生する可能性があります。
この問題を解決するには、次の手順を実行します:
machine.config ファイルを作業中の VM からコピーし、問題のある VM の C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config フォルダーに貼り付けます。
net stop
コマンドとnet start
コマンドを実行して、ゲスト エージェント サービスを再起動します。
net stop RdAgent
net stop WindowsAzureGuestAgent
net start RdAgent
net start WindowsAzureGuestAgent
Azure VM エージェントに関連付けられているその他の既知の問題は、 GitHub リポジトリに一覧表示されます。
サードパーティの情報に関する免責事項
この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。
サードパーティのお問い合わせ窓口に関する免責事項
サードパーティのお問い合わせ窓口に関する情報は、ユーザーの便宜のために提供されているものであり、 この連絡先情報は、予告なしに変更される可能性があります。 マイクロソフトは、掲載されている情報に対して、いかなる責任も負わないものとします。
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。
トレーニング
モジュール
Azure で Windows Server 仮想マシンのトラブルシューティングを行う - Training
Azure でホストされた Windows Server 仮想マシン (VM) への接続に影響する構成の問題のトラブルシューティング方法を学習します。 VM の起動、拡張機能、パフォーマンス、ストレージ、暗号化に関する問題を解決する方法を調べます。
ドキュメント
Azure Windows VM エージェントの概要 - Azure Virtual Machines
Azure ファブリック コントローラーと仮想マシンとの相互作用を管理するために、Azure Windows VM エージェントをインストールして検出する方法について説明します。
Windows 用の Azure VM 拡張機能とその機能 - Azure Virtual Machines
Windows 上の Azure 仮想マシンで使用できる拡張機能について、提供または改善される内容ごとにまとめて説明します。
オフライン モードでの Azure VM エージェントのインストール - Virtual Machines
オフライン モードで Azure VM エージェントをインストールする方法について説明します。