Automation에서 VM 확장 기반 Hybrid Runbook Worker 문제 해결

이 문서에서는 Azure Automation 확장 기반 Hybrid Runbook Worker 문제 해결에 대한 정보를 제공합니다. 에이전트 기반 작업자 문제 해결은 Automation에서 에이전트 기반 Hybrid Runbook Worker 문제 해결을 참조하세요. 일반 정보는 Hybrid Runbook Worker 개요를 참조하세요.

일반 검사 목록

확장 기반 Hybrid Runbook Worker 문제를 해결하려면 다음을 수행합니다.

  • OS가 지원되고 필수 구성 요소가 충족되었는지 확인합니다. 필수 조건을 참조하세요.

  • VM에서 시스템이 할당한 관리 ID를 사용할 수 있는지 확인합니다. Azure VM 및 Arc 지원 Azure Machines는 시스템이 할당한 관리 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/에서 설정 파일을 찾을 수 있습니다.
  • 하이브리드 작업자 확장 상태/자세한 상태에 표시된 오류 메시지를 확인합니다. 문제를 해결하기 위한 오류 메시지 및 각 권장 사항이 포함되어 있습니다.

  • 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 머신의 경우 하이브리드 작업자 확장은 hweautomation 사용자를 만들고 사용자 아래에 하이브리드 작업자를 시작합니다. 사용자 hweautomation이 올바른 권한으로 설정되어 있는지 확인합니다. Runbook이 로컬 리소스에 액세스하려고 하는 경우 hweautomation에 로컬 리소스에 대한 올바른 권한이 있는지 확인합니다.

  • Hybrid 작업자 프로세스가 실행 중인지 확인합니다.

    • Windows의 경우: Hybrid Worker Service 서비스를 확인합니다.
    • Linux의 경우: 서비스를 검사hwd..
  • 로그 수집:

    • Windows의 경우: 로그에서
      C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows\<version>\bin\troubleshooter\PullLogs.ps1
      로그 수집기 도구를 실행합니다.C:\HybridWorkerExtensionLogs
    • Linux의 경우: 로그는 폴더 및 /home/hweautomation.에 있습니다.
      /var/log/azure/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux

Hybrid Worker를 사용하는 동안 Az 모듈을 업데이트할 수 없음

문제

Az 모듈을 가져올 수 없어 Hybrid Runbook Worker 작업이 실패했습니다.

해결

해결 방법으로 다음 단계를 수행할 수 있습니다.

  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 이벤트 로그는 Runbook이 실행 .NET Runtime version : 4.0.30319.0 하려고 할 때 애플리케이션 로그에 해당 오류를 나타내 Win32 Process Exited with code [2148734720] 며 애플리케이션을 시작할 수 없음을 나타냅니다.

원인

시스템에 UAC/LUA가 있는 경우 그룹 멤버 자격을 통해서가 아니라 직접 권한을 부여해야 하며 사용자가 권한을 상승해야 하는 경우 작업이 실패하기 시작합니다.

해결

Hybrid Runbook Worker의 사용자 지정 사용자의 경우 다음 폴더의 권한을 업데이트합니다.

폴더 사용 권한
C:\ProgramData\Azure커넥트edMachineAgent\Tokens 읽음
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows 읽기 및 실행

시나리오: 예약된 작업이 시작될 때 Hybrid Worker를 사용할 수 없어 작업을 시작하지 못했습니다.

문제

Hybrid Worker에서 작업을 시작하지 못하면 다음 오류가 표시됩니다.

예약된 작업이 시작될 때 하이브리드 작업자를 사용할 수 없으므로 하이브리드 작업자가 mm/dd/yyyy에서 마지막으로 활성화되었으므로 시작하지 못했습니다.

원인

이 오류는 다음과 같은 이유로 인해 발생할 수 있습니다.

  • 컴퓨터가 더 이상 존재하지 않습니다.
  • 컴퓨터가 꺼져 있고 연결할 수 없습니다.
  • 컴퓨터에 네트워크 연결 문제가 있습니다.
  • Hybrid Runbook Worker 확장이 컴퓨터에서 제거되었습니다.

해결

  • 머신이 있고 Hybrid Runbook Worker 확장이 설치되어 있는지 확인합니다. Hybrid Worker는 정상이어야 하며 하트비트를 제공해야 합니다. 이 작업을 실행하려고 시도한 Hybrid Runbook Worker 그룹의 작업자에 Microsoft-SMA 이벤트 로그를 검사 네트워크 문제를 해결합니다.
  • Hybrid Worker의 ping 수를 제공하고 ping 관련 문제를 검사 데 도움이 되는 HybridWorkerPing 메트릭을 모니터링할 수도 있습니다.

시나리오: Hybrid Worker의 작업 제한을 초과하여 작업이 일시 중단되었습니다.

문제

다음 오류 메시지와 함께 작업이 일시 중단됩니다.

작업이 Hybrid Worker의 작업 제한을 초과하여 일시 중단되었습니다. 이 문제를 해결하기 위해 Hybrid Worker 그룹에 Hybrid Worker를 더 추가합니다.

원인

다음과 같은 이유로 인해 작업이 일시 중단될 수 있습니다.

  • 그룹의 각 활성 Hybrid Worker는 30초마다 작업을 폴링하여 사용 가능한 작업이 있는지 확인합니다. 작업자는 선착순으로 작업을 선택합니다. 작업이 푸시된 시기에 따라 Hybrid Worker 그룹 내에서 어떤 Hybrid Worker가 ping을 수행하든 Automation 서비스가 먼저 작업을 선택합니다. 단일 하이브리드 작업자는 일반적으로 ping당 4개의 작업(즉, 30초마다)을 선택할 수 있습니다. 푸시 작업 속도가 30초당 4보다 높고 다른 작업자가 작업을 선택하지 않으면 작업이 일시 중단될 수 있습니다.
  • Hybrid Worker는 30초마다 예상대로 폴링하지 않을 수 있습니다. 작업자가 정상이 아니거나 네트워크 문제가 있는 경우 이 문제가 발생할 수 있습니다.

해결

  • Hybrid Worker의 작업 제한이 30초당 4개의 작업을 초과하는 경우 고가용성 및 부하 분산을 위해 Hybrid Worker 그룹에 하이브리드 작업자를 더 추가할 수 있습니다. 30초당 4개의 작업 제한을 초과하지 않도록 작업을 예약할 수도 있습니다. 작업 큐의 처리 시간은 Hybrid Worker 하드웨어 프로필 및 부하에 따라 달라집니다. Hybrid Worker가 정상이고 하트비트를 제공하는지 확인합니다.
  • 이 작업을 실행하려고 시도한 Hybrid Runbook Worker 그룹의 작업자에 Microsoft-SMA 이벤트 로그를 검사 네트워크 문제를 해결합니다.
  • Hybrid Worker의 ping 수를 제공하고 ping 관련 문제를 검사 데 도움이 되는 HybridWorkerPing 메트릭을 모니터링할 수도 있습니다.

문제

VM에 확장 기반 Hybrid Runbook Worker를 배포하고 있으며 오류로 실패합니다. 프라이빗 링크에 대한 인증이 실패했습니다.

원인

VM의 가상 네트워크는 Azure Automation 계정 의 프라이빗 엔드포인트와 다르거나 연결되지 않습니다.

해결

Azure Automation 계정의 프라이빗 엔드포인트가 VM이 연결된 동일한 Virtual Network에 연결되어 있는지 확인합니다. 네트워크를 기반으로 계획에서 멘션 단계에 따라 프라이빗 엔드포인트에 연결합니다. 또한 공용 네트워크 액세스 플래그 를 설정하여 모든 공용 구성을 거부하고 프라이빗 엔드포인트를 통한 연결만 허용하도록 Automation 계정을 구성합니다. 프라이빗 엔드포인트에 대한 DNS 설정을 구성하는 방법에 대한 자세한 내용은 DNS 구성을 참조 하세요.

시나리오: 제공된 Hybrid Worker 그룹이 없으면 Hybrid Worker 배포가 실패합니다.

문제

VM에 확장 기반 Hybrid Runbook Worker를 배포하고 있으며 지정된 계정/그룹이 존재하지 않는다는 오류와 함께 실패합니다.

원인

Hybrid Worker를 배포할 Hybrid Runbook Worker 그룹이 이미 삭제되었습니다.

해결

Hybrid Runbook Worker 그룹을 만들고 해당 그룹에서 VM을 Hybrid Worker로 추가해야 합니다. Azure Portal을 사용하여 Hybrid Runbook Worker 그룹 만들기에 멘션 단계를 따릅니다.

시나리오: VM에서 시스템 할당 관리 ID를 사용하도록 설정하지 않으면 Hybrid Worker 배포가 실패합니다.

문제

VM에 확장 기반 Hybrid Runbook Worker를 배포하고 있으며 오류가 발생하여 실패합니다.
비 Azure VM에 대한 IMDS ID 엔드포인트를 검색할 수 없습니다. Azure 연결된 컴퓨터 에이전트가 설치되고 시스템 할당 ID가 사용하도록 설정되어 있는지 확인합니다.

원인

Arc 연결된 컴퓨터 에이전트가 설치되지 않은 비 Azure VM에 확장 기반 Hybrid Worker를 배포하고 있습니다.

해결

비 Azure 머신에는 확장 기반 Hybrid Runbook Worker로 배포하기 전에 Arc 연결된 컴퓨터 에이전트가 설치되어 있어야 합니다. 설치AzureConnectedMachineAgent하려면 Arc 지원 서버용 Azure Portal에서 Azure에 하이브리드 머신 연결 또는 VMware 가상 머신 관리 Azure Arc를 참조하여 Arc 지원 VMware VM에 게스트 관리를 사용하도록 설정합니다.

시나리오: 시스템 할당 ID를 사용하도록 설정하지 않아 Hybrid Worker 배포가 실패함

문제

VM에 확장 기반 Hybrid Runbook Worker를 배포하고 있으며 오류로 실패합니다 . 권한 부여 토큰이 잘못되었습니다.

원인

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. Hybrid Worker 확장 설치: .\bin\install.ps1
  6. Hybrid Worker 확장을 사용하도록 설정합니다. .\bin\enable.ps1

시나리오: Windows VM에서 Hybrid Worker 확장의 제거 프로세스가 중단됨

문제

포털에서 Windows VM에 Hybrid Worker 확장을 설치했지만 프로세스가 성공적으로 완료되었다는 알림을 받지 못합니다.

원인

경우에 따라 제거 프로세스가 중단될 수 있습니다.

해결

  1. PowerShell 콘솔 열기
  2. Hybrid Worker 확장 설치 폴더 Cd "C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows<버전>"으로 이동합니다.
  3. Hybrid Worker 확장 사용 안 함: .\bin\disable.cmd
  4. Hybrid Worker 확장 제거: .\bin\uninstall.ps1
  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은 세 번 실행하려고 시도한 직후 일시 중단됩니다. Runbook이 완료되지 않도록 방해할 수 있는 조건이 있습니다. 관련 오류 메시지에는 추가 정보가 포함되지 않을 수 있습니다.

원인

가능한 원인은 다음과 같습니다.

  • Runbook은 로컬 리소스로 인증할 수 없습니다.
  • Hybrid Worker가 프록시 또는 방화벽 뒤에 있습니다.
  • Hybrid Runbook Worker를 실행하도록 구성된 컴퓨터가 최소 하드웨어 요구 사항을 충족하지 않습니다.

해결

*.azure-automation.net에 대한 아웃바운드 액세스 권한이 컴퓨터의 443 포트에 있는지 확인합니다.

Hybrid Runbook Worker가 실행되는 컴퓨터는 작업자가 이 기능을 호스트하도록 구성하기 전에, 최소 하드웨어 요구 사항을 충족해야 합니다. Runbook 및 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 Worker는 기본적으로 인증서 자산이 로컬에 없습니다. 실행 계정이 제대로 작동하려면 이 자산이 필요합니다.

해결

Hybrid Runbook Worker가 Azure VM이면 관리 ID로 Runbook 인증을 대신 사용할 수 있습니다. 이 시나리오는 실행 계정 대신 Azure VM의 관리 ID를 사용하여 Azure 리소스에 인증할 수 있기 때문에 인증이 간소화됩니다. Hybrid Runbook Worker가 온-프레미스 머신인 경우 머신에 실행 계정 인증서를 설치해야 합니다. 인증서를 설치하는 방법을 알아보려면 Hybrid Runbook Worker의 Run 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

시나리오: 하이브리드 작업자 그룹에서 Microsoft Azure VM이 자동으로 삭제됨

문제

작업자 머신을 오래 꺼두면 Hybrid Runbook Worker나 VM을 볼 수 없습니다.

원인

Hybrid Runbook Worker 머신이 30일 넘게 Azure Automation에 ping하지 않았습니다. 그 결과, Automation이 Hybrid Runbook Worker 그룹 또는 시스템 작업자 그룹을 제거했습니다.

해결

작업자 컴퓨터를 시작한 다음 Azure Automation에 다시 등록합니다. Runbook 환경을 설치하고 Azure Automation에 연결하는 방법에 대한 지침은 Windows Hybrid Runbook Worker 배포를 참조 하세요.

다음 단계

여기에 문제가 표시되지 않거나 문제를 해결할 수 없는 경우 다음 채널 중 하나를 통해 지원을 받으세요.

  • Azure 포럼을 통해 Azure 전문가로부터 답변을 얻습니다.
  • 고객 환경을 개선하기 위한 공식 Microsoft Azure 계정인 @AzureSupport와 연결합니다. Azure 지원은 Azure 커뮤니티를 답변, 지원 및 전문가에 연결합니다.
  • Azure 지원 인시던트를 제출합니다. Azure 지원 사이트로 이동하여 지원 받기를 선택합니다.