다음을 통해 공유


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의 경우: 로그는
      /var/log/azure/Microsoft.Azure.Automation.HybridWorker.HybridWorkerForLinux/home/hweautomation 폴더에 있습니다.

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

원인

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

해결

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

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

시나리오: 예약된 작업이 시작될 때 Hybrid Worker를 사용할 수 없으므로 작업을 시작하지 못함

문제

Hybrid Worker에서 작업이 시작되지 못하며 다음 오류가 표시됩니다.

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

해결

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

문제

VM에 확장 기반 Hybrid Runbook Worker를 배포하고 있으며 프라이빗 링크 인증 실패라는 오류와 함께 실패합니다.

원인

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

해결

Azure Automation 계정의 프라이빗 엔드포인트가 VM이 연결된 동일한 가상 네트워크에 연결되어 있는지 확인합니다. 네트워크 기반 계획 수립에서 언급한 단계에 따라 프라이빗 엔드포인트에 연결합니다. 또한 모든 퍼블릭 구성을 거부하도록 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 Connected Machine 에이전트가 설치되어 있고 시스템이 할당한 ID가 사용하도록 설정되어 있는지 확인합니다.

원인

Arc Connected Machine 에이전트가 설치되지 않은 Azure가 아닌 VM에 확장 기반 Hybrid Worker를 배포하고 있습니다.

해결

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

시나리오: 시스템이 할당한 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-<버전>/으로 이동
  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-<버전>/
  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를 실행하도록 구성된 컴퓨터가 최소 하드웨어 요구 사항을 충족하지 않습니다.

해결

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

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 Worker는 기본적으로 인증서 자산이 로컬에 없습니다. 실행 계정이 제대로 작동하려면 이 자산이 필요합니다.

해결

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

시나리오: Microsoft Azure VM이 Hybrid Worker 그룹에서 자동으로 삭제됨

문제

작업자 머신을 오래 꺼두면 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 지원 사이트로 이동하여 지원 받기를 선택합니다.