Automation で VM 拡張機能ベースの Hybrid Runbook Worker の問題をトラブルシューティングする

この記事では、Azure Automation 拡張機能ベースの Hybrid Runbook Worker に関する問題のトラブルシューティングと解決に関する情報を提供します。 エージェント ベースのワーカーのトラブルシューティングについては、Automation でのエージェント ベースの Hybrid Runbook Worker の問題のトラブルシューティングに関するページを参照してください。 一般情報については、「Hybrid Runbook Worker overview (Hybrid Runbook Worker の概要)」をご覧ください。

一般的なチェックリスト

拡張機能ベースの Hybrid Runbook Worker に関する問題のトラブルシューティングに役立つ確認事項を次に示します。

  • OS がサポートされていることと、前提条件が満たされていることを確認します。 「前提条件」を参照してください。

  • システム割り当てマネージド ID が VM 上で有効になっているかどうかを確認します。 Azure Vm と Arc が有効になっている Azure マシンでは、システム割り当てマネージド ID が有効になっている必要があります。

  • 拡張機能が適切な設定で有効になっているかどうかを確認します。 設定ファイルには適切な AutomationAccountURL が必要です。 Automation アカウントのプロパティ -AutomationHybridServiceUrl を使用して、URL をクロスチェックします。 

    • Windows の場合: 設定ファイルは、C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows\<version>\RuntimeSettings で確認できます。
    • Linux の場合: 設定ファイルは、/var/lib/waagent/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux/ で確認できます。
  • ハイブリッド worker の拡張の状態と詳細な状態に表示されるエラー メッセージを確認します。 これには、問題を修正するためのエラー メッセージとそれぞれの推奨事項が含まれています。

  • VM でトラブルシューティング ツールを実行すると、出力ファイルが生成されます。 出力ファイルを開き、トラブルシューティング ツールによって特定されたエラーを確認します。

    • Windows の場合: トラブルシューティング ツールは、C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows\<version>\bin\troubleshooter\TroubleShootWindowsExtension.ps1 にあります
    • Linux の場合: トラブルシューティング ツールは、/var/lib/waagent/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux-<version>/Troubleshooter/LinuxTroubleshooter.py にあります
  • Linux マシンの場合、ハイブリッド worker 拡張機能によって hweautomation ユーザーが作成され、そのユーザーの下でハイブリッド worker が起動します。 ユーザー hweautomation が正しいアクセス許可で設定されているかどうかを確認します。 Runbook がローカル リソースにアクセスしようとしている場合は、 hweautomation がローカル リソースに対する正しいアクセス許可を持っていることを確認します。

  • ハイブリッド worker プロセスが実行されているかどうかを確認します。

    • Windows の場合: Hybrid Worker Service サービスを確認します。
    • Linux の場合: hwd. サービスを確認します。
  • ログの収集:

    • Windows の場合:
      C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows\<version>\bin\troubleshooter\PullLogs.ps1
      ログが C:\HybridWorkerExtensionLogs でログ コレクター ツールを実行します。
    • Linux の場合: ログはフォルダー
      /var/log/azure/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux/home/hweautomationにあります。

Hybrid Worker の使用中に Az モジュールを更新できない

問題

Hybrid Runbook Worker ジョブは、Az モジュールをインポートできなかったため失敗しました。

解決方法

回避策として、次の手順を実行できます:

  1. フォルダー C:\Program Files\Microsoft Monitoring Agent\Agent\AzureAutomation\7.3.1722.0\HybridAgent に移動します
  2. Orchestrator.Sandbox.exe.config という名前 のファイルを編集します
  3. <assemblyBinding> タグ内に次の行を追加します:
<dependentAssembly>
  <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>

シナリオ: ユーザー アカウント制御 (UAC) が有効になっているサーバーでカスタム アカウントを使用すると、Runbook が Hybrid Runbook Worker で中断状態になる

問題点

ジョブが失敗し、Hybrid Runbook Worker で中断状態になります。 Microsoft-SMA イベント ログ Win32 Process Exited with code [2148734720] は、Runbook の実行を試みたときにアプリケーション ログに対応するエラーが .NET Runtime version : 4.0.30319.0 、アプリケーションを起動できなかったことを示しています。

原因

システムに UAC/LUA が設定されている場合、アクセス許可はグループ メンバーシップではなく直接付与する必要があり、ユーザーがアクセス許可を昇格する必要がある場合、ジョブは失敗し始めます。

解決方法

Hybrid Runbook Worker のカスタム ユーザーの場合は、次のフォルダーのアクセス許可を更新します。

Folder アクセス許可
C:\ProgramData\AzureConnectedMachineAgent\Tokens 読み込み
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows 読み取りと実行

シナリオ: スケジュールされたジョブの開始時にハイブリッド Worker を使用できなかったので、ジョブの開始に失敗しました

問題点

ジョブがハイブリッド Worker で開始できず、次のエラーが表示されます:

スケジュールされたジョブの開始時にハイブリッド worker を使用できなかったので、ハイブリッド worker は最後に mm/dd/yyyy でアクティブでした。

原因

このエラーは、次の理由で発生する可能性があります:

  • そのマシンはもう存在しません。
  • マシンの電源が切れているので、アクセスできません。
  • マシンにネットワーク接続の問題があります。
  • Hybrid Runbook Worker 拡張機能がコンピューターからアンインストールされました。

解決方法

  • マシンが存在し、Hybrid Runbook Worker 拡張機能がインストールされていることを確認します。 Hybrid Worker は正常であり、ハートビートを提供する必要があります。 このジョブを実行しようとした Hybrid Runbook Worker グループの Worker で Microsoft-SMA イベント ログを確認して、ネットワークの問題のトラブルシューティングを行います。
  • Hybrid Worker からの ping の数を提供し、ping 関連の問題を確認するのに役立つ HybridWorkerPing メトリックを監視することもできます。

シナリオ: ジョブが Hybrid Worker のジョブ制限を超えたため中断されました

問題

ジョブが中断され、次のエラー メッセージが表示されます:

ジョブが Hybrid Worker のジョブ制限を超えたため、中断されました。 この問題を解決するには、Hybrid Worker グループに Hybrid Worker をさらに追加します。

原因

ジョブは、次のいずれかの理由により中断される可能性があります:

  • グループ内のアクティブな各ハイブリッド worker は、30 秒ごとにジョブをポーリングして、使用可能なジョブがあるかどうかを確認します。 Worker は、先着順でジョブを選択します。 ジョブがプッシュされたタイミングに応じて、Hybrid Worker グループ内の Hybrid Worker が最初に Automation サービスに ping を実行します。 通常、1 つのハイブリッド worker で取得できるジョブは、ping ごと (つまり、30秒ごと) に 4 つです。 ジョブのプッシュ率が 30 秒あたり 4 より高く、他の Worker がジョブを取得しなかった場合、ジョブが中断される可能性があります。
  • Hybrid Worker は、30 秒ごとに予想どおりにポーリングされない場合があります。 これは、ワーカーが正常でない場合、またはネットワークの問題が発生した場合に発生する可能性があります。

解決方法

  • Hybrid Worker のジョブ制限が 30 秒あたり 4 つのジョブを超える場合は、Hybrid Worker グループにさらに Hybrid Worker を追加して、高可用性と負荷分散を実現できます。 また、30 秒あたり 4 つのジョブの制限を超えないようにジョブをスケジュールすることもできます。 ジョブ キューの処理時間は、Hybrid Worker のハードウェア プロファイルと負荷によって異なります。 Hybrid Worker が正常であり、ハートビートを提供していることを確認します。
  • このジョブを実行しようとした Hybrid Runbook Worker グループの Worker で Microsoft-SMA イベント ログを確認して、ネットワークの問題のトラブルシューティングを行います。
  • Hybrid Worker からの ping の数を提供する HybridWorkerPing メトリックを監視することもでき、ping 関連の問題を確認するのに役立ちます。

問題

拡張機能ベースの Hybrid Runbook Worker を VM にデプロイしていて、「プライベート リンクの認証に失敗しました」というエラーで失敗しました。

原因

VM の仮想ネットワークは、Azure Automation アカウント、、または のプライベート エンドポイントとは異なるか、接続されていません。

解決方法

Azure Automation アカウントのプライベート エンドポイントが、VM が接続されているのと同じ Virtual Network に接続されていることを確認します。 「ネットワークに基づく計画」で説明されている手順に従って、プライベート エンドポイントに接続します。 また、パブリック ネットワーク アクセス フラグを設定して、すべてのパブリック構成を拒否し、プライベート エンドポイント経由の接続のみを許可するように Automation アカウントを構成します。 プライベート エンドポイントの DNS 設定を構成する方法の詳細については、「DNS 構成」を参照してください

シナリオ: 指定された Hybrid Worker グループが存在しない場合、Hybrid Worker のデプロイが失敗する

問題

拡張機能ベースの Hybrid Runbook Worker を VM にデプロイしていて、「指定したアカウント/グループが存在しません」というエラーで失敗しました。

原因

Hybrid Worker をデプロイする Hybrid Runbook Worker グループは既に削除されています。

解決方法

Hybrid Runbook Worker グループを作成し、そのグループにハイブリッド Worker として VM を追加します。 Azure portal を使用して、「Hybrid Runbook Worker グループを作成する」で説明されている手順に従います。

シナリオ: VM でシステム割り当てマネージド ID が有効になっていない場合、Hybrid Worker のデプロイが失敗する

問題

拡張機能ベースの Hybrid Runbook Worker を VM にデプロイしていて、次のエラーで失敗します。
Azure 以外の VM の IMDS ID エンドポイントを取得できません。 Azure 接続マシン エージェントがインストールされ、システム割り当て ID が有効になっていることを確認します。

原因

拡張機能ベースの Hybrid Worker は、Arc 接続マシン エージェントがインストールされていない Azure 以外の VM にデプロイしています。

解決方法

Azure 以外のマシンでは、拡張機能ベースの Hybrid Runbook worker としてデプロイする前に、Arc 接続マシン エージェントがインストールされている必要があります。 AzureConnectedMachineAgent をインストールするには、Arc 対応サーバーの場合は Azure portal からハイブリッド マシンを Azure に接続する方法の記事、Arc 対応 VMware VM の場合は VMware 仮想マシン Azure Arc の管理によるゲスト管理の有効化に関する記事を参照してください。

シナリオ: システム割り当て ID が有効になっていないため、Hybrid Worker のデプロイが失敗する

問題

拡張機能ベースの Hybrid Runbook Worker を VM にデプロイしていて、「承認トークンが無効です」というエラーで失敗します。

原因

VM のユーザー割り当てマネージド ID は有効ですが、システム割り当てマネージド ID は有効になっていません。

解決方法

次の手順に従います。

  1. VM でシステム割り当てマネージド ID を有効にします。
  2. VM にインストールされている Hybrid Worker 拡張機能を削除します。
  3. VM に Hybrid Worker 拡張機能を再インストールします。

シナリオ: Windows VM での Hybrid Worker 拡張機能のインストール プロセスが停止する

問題

ポータルから Windows VM に Hybrid Worker 拡張機能をインストールしましたが、プロセスが正常に完了したことを示す通知は表示されません。

原因

インストール プロセスが停止することがあります。

解決方法

次に示す手順に従って、Hybrid Worker 拡張機能をもう一度インストールします。

  1. Powershell コンソールを開く
  2. レジストリ エントリ (HKLM:/Software/Microsoft/Azure/HybridWorker) が存在する場合は削除します。
  3. レジストリ エントリ (HKLM:/Software/Microsoft/HybridRunbookWorkerV2) が存在する場合は削除します。
  4. Hybrid Worker 拡張機能のインストール フォルダー Cd "C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows<バージョン>" に移動します
  5. .\bin\install.ps1 のハイブリッド worker 拡張機能をインストールする
  6. .\bin\enable.ps1 のハイブリッド worker 拡張機能を有効にする

シナリオ: Windows VM での Hybrid Worker 拡張機能のアンインストール プロセスが停止する

問題

ポータルから Windows VM に Hybrid Worker 拡張機能をインストールしましたが、プロセスが正常に完了したことを示す通知は表示されません。

原因

アンインストール プロセスが停止することがあります。

解決方法

  1. Powershell コンソールを開く
  2. Hybrid Worker 拡張機能のインストール フォルダー Cd "C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows<バージョン>" に移動します
  3. .\bin\disable.cmd のハイブリッド worker 拡張機能を無効にする
  4. .\bin\uninstall.ps1 のハイブリッド worker 拡張機能をアンインストールする
  5. レジストリ エントリ (HKLM:/Software/Microsoft/Azure/HybridWorker) が存在する場合は削除します。
  6. レジストリ エントリ (HKLM:/Software/Microsoft/HybridRunbookWorkerV2) が存在する場合は削除します。

シナリオ: Linux VM での Hybrid Worker 拡張機能のインストール プロセスが停止する

問題

ポータルから Linux VM に Hybrid Worker 拡張機能をインストールしましたが、プロセスが正常に完了したことを示す通知は表示されません。

原因

アンインストール プロセスが停止することがあります。

解決方法

  1. rm -r /home/hweautomation/state のフォルダーに移動する
  2. Hybrid Worker 拡張機能のインストール フォルダー "/var/lib/waagent/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux-/<version>/" に移動します
  3. 上記のフォルダーに移動し、コマンド rm mrseq を実行します
  4. Hybrid Worker 拡張機能 のインストール: "installCommand": "./extension_shim.sh -c ./HWExtensionHandlers.py -i"
  5. Hybrid Worker 拡張機能 "enableCommand": "./extension_shim.sh -c ./HWExtensionHandlers.py -e"

シナリオ: Linux VM での Hybrid Worker 拡張機能のアンインストール プロセスが停止する

問題

ポータルから Linux VM に Hybrid Worker 拡張機能をアンインストールしましたが、プロセスが正常に完了したことを示す通知は表示されません。

原因

アンインストール プロセスが停止することがあります。

解決方法

次に示す手順に従って、Hybrid Worker 拡張機能を完全にアンインストールします。

  1. Hybrid Worker 拡張機能のインストール フォルダーに移動します。
    /var/lib/waagent/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux-<version>/
  2. "disableCommand": "./extension_shim.sh -c ./HWExtensionHandlers.py -d" 拡張機能を無効にします。
  3. "uninstallCommand": "./extension_shim.sh -c ./HWExtensionHandlers.py -u" の拡張機能をアンインストールする

シナリオ: Runbook の実行が失敗する

問題

Runbook の実行が失敗し、次のエラー メッセージを受け取ります。

The job action 'Activate' cannot be run, because the process stopped unexpectedly. The job action was attempted three times.

Runbook は 3 回実行を試みると、短時間中断されます。 Runbook の完了を妨げる可能性がある状況が存在します。 関連するエラー メッセージに追加情報が含まれていない場合があります。

原因

以下の原因が考えられます。

  • Runbook がローカル リソースで認証できない。
  • Hybrid Worker がプロキシまたはファイアウォールの内側にある。
  • Hybrid Runbook Worker を実行するように構成されているコンピューターが、ハードウェアの最小要件を満たしていない。

解決方法

コンピューターがポート 443 で .azure-automation.net に発信アクセスできることを確認します。

Hybrid Runbook Worker を実行するコンピューターは、この機能をホストするようにワーカーを構成する前に、ハードウェアの最小要件を満たしている必要があります。 Runbook とそれらが使用するバックグラウンド プロセスによってシステムが過剰に使用され、それが原因で Runbook ジョブの遅延やタイムアウトが発生する可能性があります。

Hybrid Runbook Worker の機能を実行するコンピューターが最小ハードウェア要件を満たしていることを確認します。 満たしている場合は、CPU とメモリの使用を監視して、Hybrid Runbook Worker プロセスのパフォーマンスと Windows の間の相関関係を調べます。 メモリまたは CPU の負荷は、リソースのアップグレードが必要であることを示している可能性があります。 また、最小要件をサポートする別のコンピューティング リソースを選択し、ワークロードの需要によって増加が必要であることが示された時点でスケーリングすることもできます。

Microsoft-SMA のイベント ログで、Win32 Process Exited with code [4294967295] という説明のある、対応するイベントを調べます。 このエラーの原因は、Runbook で認証が構成されていないか、または Hybrid Runbook Worker グループの実行資格情報が指定されていないことです。 「Hybrid Runbook Worker での Runbook の実行」で Runbook のアクセス許可を調べ直して、Runbook の認証を正しく構成したことを確認します。

シナリオ: Hybrid Runbook Worker の証明書ストアに証明書が見つかりませんでした

問題

Hybrid Runbook Worker で実行される Runbook が次のエラー メッセージで失敗します。

Connect-AzAccount : No certificate was found in the certificate store with thumbprint 0000000000000000000000000000000000000000
At line:3 char:1
+ Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -Appl ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Connect-AzAccount],ArgumentException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.ConnectAzAccountCommand

原因

このエラーは、Hybrid Runbook Worker 上で実行される Runbook 内で実行アカウントを使用しようとしたが、その実行アカウントの証明書が存在しない場合に発生します。 Hybrid Runbook Workers には、既定では証明書資産はローカルにありません。 実行アカウントでは、この資産が適切に動作していることが要求されます。

解決方法

お使いの Hybrid Runbook Worker が Azure VM である場合は、代わりに、マネージド ID による Runbook 認証を使用できます。 このシナリオでは、実行アカウントの代わりに Azure VM のマネージド ID を使用して Azure リソースへの認証を可能にすることで、認証を簡素化します。 Hybrid Runbook Worker がオンプレミスのコンピューターである場合は、実行アカウント証明書をコンピューターにインストールする必要があります。 証明書をインストールする方法については、「Hybrid Runbook Worker での Runbook の実行」で、PowerShell Runbook の Export-RunAsCertificateToHybridWorker を実行するための手順を参照してください。

シナリオ: Hybrid Runbook Worker で Set-AzStorageBlobContent が失敗する

問題

Runbook が Set-AzStorageBlobContent の実行を試みたときに失敗し、次のエラーメッセージが表示されます。

Set-AzStorageBlobContent : Failed to open file xxxxxxxxxxxxxxxx: Illegal characters in path

原因

このエラーは、UNC パスを追加する [System.IO.Path]::GetFullPath() の呼び出しの長いファイル名の動作が原因で発生します。

解決方法

回避策として、次の内容を含む OrchestratorSandbox.exe.config という名前の構成ファイルを作成できます。

<configuration>
  <runtime>
    <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false" />
  </runtime>
</configuration>

このファイルを実行可能ファイル OrchestratorSandbox.exe と同じフォルダーに配置します。 たとえば、 にします。

%ProgramFiles%\Microsoft Monitoring Agent\Agent\AzureAutomation\7.3.702.0\HybridAgent

シナリオ: ハイブリッド worker グループから Microsoft Azure VM が自動的に削除される

問題

ワーカー マシンが長時間オフになっている場合、Hybrid Runbook Worker または VM が表示されません。

原因

Hybrid Runbook Worker マシンで、Azure Automation に対する ping が 30 日以上行われていません。 その結果、Automation によって Hybrid Runbook Worker グループまたはシステム ワーカー グループが削除されました。

解決方法

ワーカー マシンを起動し、Azure Automation に再登録します。 Runbook 環境をインストールして Azure Automation に接続する方法の手順については、「Windows Hybrid Runbook Worker をデプロイする」を参照してください。

次のステップ

発生している問題がここで見つからないか、またはその問題を解決できない場合は、次のいずれかのチャネルで追加のサポートを受けてみてください。

  • Azure フォーラムを通じて Azure エキスパートから回答を得ることができます。
  • @AzureSupport (カスタマー エクスペリエンスを向上させるための Microsoft Azure の公式アカウント) に連絡する。 Azure サポートにより、Azure コミュニティの回答、サポート、エキスパートと結び付けられます。
  • Azure サポート インシデントを送信する。 Azure サポートのサイトに移動して、[サポートの要求] を選択します。