Migrowanie istniejących hybrydowych procesów roboczych opartych na agencie do hybrydowych procesów roboczych opartych na rozszerzeniu

Ważne

Hybrydowy, oparty na agencie proces roboczy elementu Runbook użytkownika usługi Azure Automation (dla systemów Windows i Linux) zostanie wycofany 31 sierpnia 2024 r. i nie będzie obsługiwany po tej dacie. Przed 31 sierpnia 2024 r. należy przeprowadzić migrację istniejących hybrydowych, opartych na agencie procesów roboczych elementu Runbook użytkownika do procesów roboczych opartych na rozszerzeniach. Ponadto od 1 listopada 2023 r. tworzenie nowych hybrydowych procesów roboczych opartych na agentach nie byłoby możliwe. Dowiedz się więcej.

W tym artykule opisano zalety hybrydowego procesu roboczego elementu Runbook opartego na rozszerzeniach oraz sposób migrowania istniejących hybrydowych procesów roboczych elementu Runbook użytkownika opartego na agencie do hybrydowych procesów roboczych opartych na rozszerzeniach.

Istnieją dwie hybrydowe platformy instalacji procesów roboczych runbook obsługiwanych przez usługę Azure Automation:

  • Hybrydowy proces roboczy elementu Runbook oparty na agencie (V1) — hybrydowy proces roboczy elementu Runbook oparty na agencie zależy od agenta usługi Log Analytics.
  • Hybrydowy proces roboczy elementu Runbook oparty na rozszerzeniu (V2) — hybrydowy proces roboczy elementu Runbook oparty na rozszerzeniu zapewnia natywną integrację roli hybrydowego procesu roboczego elementu Runbook za pośrednictwem platformy rozszerzenia maszyny wirtualnej. 

Proces wykonywania elementów Runbook w hybrydowych procesach roboczych elementu Runbook pozostaje taki sam dla obu tych elementów.

Zalety hybrydowych procesów roboczych elementu Runbook opartych na rozszerzeniach dla procesów roboczych opartych na agentach

Celem podejścia opartego na rozszerzeniu jest uproszczenie instalacji i zarządzania hybrydowymi procesami roboczymi oraz usunięcie komplikacji związanych z używaniem wersji opartej na agencie. Oto kilka kluczowych korzyści:

  • Bezproblemowe dołączanie — oparte na agencie podejście do dołączania hybrydowego procesu roboczego elementu Runbook jest zależne od agenta usługi Log Analytics, który jest wieloetapowym, czasochłonnym i podatnym na błędy procesem. Podejście oparte na rozszerzeniu zapewnia większe bezpieczeństwo i nie zależy już od agenta usługi Log Analytics.

  • Łatwość zarządzania — oferuje natywną integrację z tożsamością usługi Azure Resource Manager (ARM) dla hybrydowego procesu roboczego elementu Runbook i zapewnia elastyczność zapewniania ładu na dużą skalę za pomocą zasad i szablonów.

  • Uwierzytelnianie oparte na identyfikatorze Entra firmy Microsoft — używa tożsamości zarządzanych przypisanych przez system maszyn wirtualnych udostępnianych przez identyfikator Entra firmy Microsoft. Umożliwia to scentralizowanie kontroli tożsamości i poświadczeń zasobów oraz zarządzanie nimi.

  • Ujednolicone środowisko — oferuje identyczne środowisko do zarządzania maszynami z obsługą platformy Azure i poza usługą Azure Arc.

  • Wiele kanałów dołączania — możesz dołączać procesy robocze oparte na rozszerzeniach i zarządzać nimi za pomocą witryny Azure Portal, poleceń cmdlet programu PowerShell, Bicep, szablonów usługi ARM, interfejsu API REST i interfejsu wiersza polecenia platformy Azure.

  • Domyślne automatyczne uaktualnianie — domyślnie oferuje automatyczne uaktualnianie wersji pomocniczych, co znacznie zmniejsza możliwość aktualizowania najnowszej wersji. Zalecamy włączenie automatycznych uaktualnień w celu skorzystania z wszelkich aktualizacji zabezpieczeń lub funkcji bez konieczności ręcznego narzutowania. Możesz również zrezygnować z automatycznych uaktualnień w dowolnym momencie. Wszystkie uaktualnienia wersji głównych nie są obecnie obsługiwane i powinny być zarządzane ręcznie.

Uwaga

Hybrydowy proces roboczy elementu Runbook oparty na rozszerzeniu obsługuje tylko typ hybrydowego procesu roboczego elementu Runbook użytkownika i nie obejmuje hybrydowego procesu roboczego elementu Runbook systemu wymaganego dla funkcji Update Management.

Wymagania wstępne

Minimalne wymagania dotyczące maszyny

  • Dwa rdzenie
  • 4 GB pamięci RAM
  • Na maszynach spoza platformy Azure musi być zainstalowany agent maszyny Połączenie azure. Aby zainstalować program AzureConnectedMachineAgent, zobacz Połączenie maszyny hybrydowe na platformie Azure z witryny Azure Portal dla serwerów z obsługą usługi Arc lub zobacz Zarządzanie maszynami wirtualnymi VMware Azure Arc, aby włączyć zarządzanie gośćmi dla maszyn wirtualnych VMware vSphere z obsługą usługi Arc.
  • Tożsamość zarządzana przypisana przez system musi być włączona na maszynie wirtualnej platformy Azure, serwerze z obsługą usługi Arc lub maszynie wirtualnej VMware vSphere z obsługą usługi Arc. Jeśli tożsamość zarządzana przypisana przez system nie jest włączona, zostanie ona włączona w ramach procesu instalacji za pośrednictwem witryny Azure Portal.

Obsługiwane systemy operacyjne

Windows (x64) Linux (x64)
● Windows Server 2022 (w tym Server Core)
● Windows Server 2019 (w tym Server Core)
● Windows Server 2016, wersja 1709 i 1803 (z wyjątkiem Server Core)
● Windows Server 2012, 2012 R2 (z wyjątkiem Server Core)
● Windows 10 Enterprise (w tym wiele sesji) i Pro
● Debian GNU/Linux 8,9,10 i 11
● Ubuntu 18.04 LTS, 20.04 LTS i 22.04 LTS
● SUSE Linux Enterprise Server 15.2 i 15.3
● Red Hat Enterprise Linux Server 7, 8 i 9
● CentOS Linux 7 i 8
● SUSE Linux Enterprise Server (SLES) 15
● Rocky Linux 9
● Oracle Linux 7 i 8
Rozszerzenie hybrydowego procesu roboczego będzie zgodne z osiami czasu pomocy technicznej dostawcy systemu operacyjnego. 

Inne wymagania

Windows (x64) Linux (x64)
Windows PowerShell 5.1 (pobierz program WMF 5.1). Program PowerShell Core nie jest obsługiwany. Nie można włączyć wzmacniania zabezpieczeń systemu Linux. 
.NET Framework 4.6.2 lub nowszy. 

Wymagania dotyczące pakietu dla systemu Linux

Wymagany pakiet opis Minimalna wersja
Glibc Biblioteka GNU C 2.5-12
Openssl Biblioteki OpenSSL 1.0 (obsługiwane są tylko protokoły TLS 1.1 i TLS 1.2)
Narzędzie Curl Klient internetowy narzędzia cURL 7.15.5
Biblioteka ctypes języka Python Biblioteka funkcji obcych dla języka Python Wymagany jest język Python 2.x lub Python 3.x.
PAM Podłączane moduły uwierzytelniania (PAM)
Pakiet opcjonalny opis Minimalna wersja
PowerShell Core Aby uruchomić elementy Runbook programu PowerShell, należy zainstalować program PowerShell Core. Aby uzyskać instrukcje, zobacz Instalowanie programu PowerShell Core w systemie Linux 6.0.0

Uprawnienia do poświadczeń hybrydowego procesu roboczego

Jeśli hybrydowy proces roboczy oparty na agencie używa niestandardowych poświadczeń hybrydowego procesu roboczego, upewnij się, że następujące uprawnienia są przypisane do użytkownika niestandardowego, aby uniknąć wstrzymania zadań w hybrydowym procesie roboczym opartym na rozszerzeniu.

Typ zasobu Uprawnienia do folderu
Maszyna wirtualna platformy Azure C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (odczyt i wykonanie)
Serwery z obsługą usługi Arc C:\ProgramData\Azure Połączenie edMachineAgent\Tokens (odczyt)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (odczyt i wykonanie)

Uwaga

  • W przypadku serwera z obsługą usługi Arc upewnij się, że należy ponownie przypisać uprawnienia podczas ich usuwania przy każdej aktualizacji agenta ARC.
  • Hybrydowy proces roboczy elementu Runbook nie jest obecnie obsługiwany w przypadku zestawów skalowania maszyn wirtualnych (VMSS).

Migrowanie istniejącego hybrydowego procesu roboczego opartego na agencie do hybrydowego procesu roboczego opartego na rozszerzeniu

Aby korzystać z zalet hybrydowych procesów roboczych opartych na rozszerzeniach, należy przeprowadzić migrację wszystkich istniejących hybrydowych procesów roboczych opartych na agentach użytkownika do procesów roboczych opartych na rozszerzeniach. Maszyna hybrydowych procesów roboczych może współistnieć zarówno na platformach opartych na agencie (V1) jak i na platformach opartych na rozszerzeniu (V2). Instalacja oparta na rozszerzeniu nie ma wpływu na instalację ani zarządzanie procesem roboczym opartym na agencie.

Aby zainstalować rozszerzenie hybrydowego procesu roboczego na istniejącym hybrydowym procesie roboczym opartym na agencie, wykonaj następujące kroki:

  1. W obszarze Automatyzacja procesów wybierz pozycję Grupy hybrydowych procesów roboczych, a następnie wybierz istniejącą grupę hybrydowych procesów roboczych, aby przejść do strony Grupy hybrydowych procesów roboczych.

  2. W obszarze Grupa hybrydowych procesów roboczych wybierz pozycję Hybrydowe procesy robocze>+ Dodaj, aby przejść do strony Dodawanie maszyn jako hybrydowego procesu roboczego.

  3. Zaznacz pole wyboru obok istniejącego hybrydowego procesu roboczego opartego na agencie (V1). Jeśli na liście nie widzisz hybrydowego procesu roboczego opartego na agencie, upewnij się, że na maszynie zainstalowano agenta maszyny usługi Azure Arc Połączenie ed. Aby zainstalować program AzureConnectedMachineAgent, zobacz Połączenie maszyny hybrydowe na platformę Azure z witryny Azure Portal dla serwerów z obsługą usługi Arc lub zobacz Zarządzanie maszynami wirtualnymi VMware Azure Arc, aby włączyć zarządzanie gośćmi dla maszyn wirtualnych VMware vSphere z obsługą usługi Arc.

    Zrzut ekranu przedstawiający dodawanie maszyn jako hybrydowego procesu roboczego.

  4. Wybierz pozycję Dodaj , aby dołączyć maszynę do grupy.

    Kolumna Platforma zawiera ten sam hybrydowy proces roboczy co oparty na agencie (V1) i Oparty na rozszerzeniu (V2). Gdy masz pewność, że środowisko hybrydowego procesu roboczego opartego na rozszerzeniu jest używane, możesz usunąć proces roboczy oparty na agencie.

    Zrzut ekranu przedstawiający pole platformy z hybrydowym procesem roboczym opartym na agencie lub rozszerzeniu.

W przypadku migracji na dużą skalę wielu hybrydowych procesów roboczych opartych na agentach można również użyć innych kanałów , takich jak — Bicep, szablony usługi ARM, polecenia cmdlet programu PowerShell, interfejs API REST i interfejs wiersza polecenia platformy Azure.

Zarządzanie rozszerzeniem hybrydowego procesu roboczego przy użyciu szablonów Bicep i ARM, interfejsu API REST, interfejsu wiersza polecenia platformy Azure i programu PowerShell

Możesz użyć szablonu Bicep, aby utworzyć nową grupę hybrydowych procesów roboczych, utworzyć nową maszynę wirtualną platformy Azure z systemem Windows i dodać ją do istniejącej hybrydowej grupy procesów roboczych. Dowiedz się więcej o Bicep.

Wykonaj poniższe kroki jako przykład:

  1. Utwórz hybrydową grupę procesów roboczych.
  2. Utwórz maszynę wirtualną platformy Azure lub serwer z obsługą usługi Arc. Alternatywnie możesz również użyć istniejącej maszyny wirtualnej platformy Azure lub serwera z obsługą usługi Arc.
  3. Połączenie maszyny wirtualnej platformy Azure lub serwera z obsługą usługi Arc do powyższej utworzonej hybrydowej grupy procesów roboczych.
  4. Wygeneruj nowy identyfikator GUID i przekaż go jako nazwę hybrydowego procesu roboczego.
  5. Włącz tożsamość zarządzaną przypisaną przez system na maszynie wirtualnej.
  6. Zainstaluj rozszerzenie hybrydowego procesu roboczego na maszynie wirtualnej.
  7. Aby sprawdzić, czy rozszerzenie zostało pomyślnie zainstalowane na maszynie wirtualnej, w witrynie Azure Portal przejdź do karty Rozszerzenia maszyny wirtualnej >i sprawdź stan rozszerzenia hybrydowego procesu roboczego zainstalowanego na maszynie wirtualnej.
param automationAccount string
param automationAccountLocation string
param workerGroupName string

@description('Name of the virtual machine.')
param virtualMachineName string

@description('Username for the Virtual Machine.')
param adminUsername string

@description('Password for the Virtual Machine.')
@minLength(12)
@secure()
param adminPassword string

@description('Location for the VM.')
param vmLocation string = 'North Central US'

@description('Size of the virtual machine.')
param vmSize string = 'Standard_DS1_v2'

@description('The Windows version for the VM. This will pick a fully patched image of this given Windows version.')
@allowed([
  '2008-R2-SP1'
  '2012-Datacenter'
  '2012-R2-Datacenter'
  '2016-Nano-Server'
  '2016-Datacenter-with-Containers'
  '2016-Datacenter'
  '2019-Datacenter'
  '2019-Datacenter-Core'
  '2019-Datacenter-Core-smalldisk'
  '2019-Datacenter-Core-with-Containers'
  '2019-Datacenter-Core-with-Containers-smalldisk'
  '2019-Datacenter-smalldisk'
  '2019-Datacenter-with-Containers'
  '2019-Datacenter-with-Containers-smalldisk'
])
param osVersion string = '2019-Datacenter'

@description('DNS name for the public IP')
param dnsNameForPublicIP string

var nicName_var = 'myVMNict'
var addressPrefix = '10.0.0.0/16'
var subnetName = 'Subnet'
var subnetPrefix = '10.0.0.0/24'
var subnetRef = resourceId('Microsoft.Network/virtualNetworks/subnets', virtualNetworkName_var, subnetName)
var vmName_var = virtualMachineName
var virtualNetworkName_var = 'MyVNETt'
var publicIPAddressName_var = 'myPublicIPt'
var networkSecurityGroupName_var = 'default-NSGt'
var UniqueStringBasedOnTimeStamp = uniqueString(resourceGroup().id)

resource publicIPAddressName 'Microsoft.Network/publicIPAddresses@2020-08-01' = {
  name: publicIPAddressName_var
  location: vmLocation
  properties: {
    publicIPAllocationMethod: 'Dynamic'
    dnsSettings: {
      domainNameLabel: dnsNameForPublicIP
    }
  }
}

resource networkSecurityGroupName 'Microsoft.Network/networkSecurityGroups@2020-08-01' = {
  name: networkSecurityGroupName_var
  location: vmLocation
  properties: {
    securityRules: [
      {
        name: 'default-allow-3389'
        properties: {
          priority: 1000
          access: 'Allow'
          direction: 'Inbound'
          destinationPortRange: '3389'
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
          destinationAddressPrefix: '*'
        }
      }
    ]
  }
}

resource virtualNetworkName 'Microsoft.Network/virtualNetworks@2020-08-01' = {
  name: virtualNetworkName_var
  location: vmLocation
  properties: {
    addressSpace: {
      addressPrefixes: [
        addressPrefix
      ]
    }
    subnets: [
      {
        name: subnetName
        properties: {
          addressPrefix: subnetPrefix
          networkSecurityGroup: {
            id: networkSecurityGroupName.id
          }
        }
      }
    ]
  }
}

resource nicName 'Microsoft.Network/networkInterfaces@2020-08-01' = {
  name: nicName_var
  location: vmLocation
  properties: {
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          privateIPAllocationMethod: 'Dynamic'
          publicIPAddress: {
            id: publicIPAddressName.id
          }
          subnet: {
            id: subnetRef
          }
        }
      }
    ]
  }
  dependsOn: [

    virtualNetworkName
  ]
}

resource vmName 'Microsoft.Compute/virtualMachines@2020-12-01' = {
  name: vmName_var
  location: vmLocation
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    hardwareProfile: {
      vmSize: vmSize
    }
    osProfile: {
      computerName: vmName_var
      adminUsername: adminUsername
      adminPassword: adminPassword
    }
    storageProfile: {
      imageReference: {
        publisher: 'MicrosoftWindowsServer'
        offer: 'WindowsServer'
        sku: osVersion
        version: 'latest'
      }
      osDisk: {
        createOption: 'FromImage'
      }
    }
    networkProfile: {
      networkInterfaces: [
        {
          id: nicName.id
        }
      ]
    }
  }
}

resource automationAccount_resource 'Microsoft.Automation/automationAccounts@2021-06-22' = {
  name: automationAccount
  location: automationAccountLocation
  properties: {
    sku: {
      name: 'Basic'
    }
  }
}

resource automationAccount_workerGroupName 'Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups@2022-02-22' = {
  parent: automationAccount_resource
  name: workerGroupName
  dependsOn: [

    vmName
  ]
}

resource automationAccount_workerGroupName_testhw_UniqueStringBasedOnTimeStamp 'Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers@2021-06-22' = {
  parent: automationAccount_workerGroupName
  name: guid('testhw', UniqueStringBasedOnTimeStamp)
  properties: {
    vmResourceId: resourceId('Microsoft.Compute/virtualMachines', virtualMachineName)
  }
  dependsOn: [
    vmName
  ]
}

resource virtualMachineName_HybridWorkerExtension 'Microsoft.Compute/virtualMachines/extensions@2022-03-01' = {
  name: '${virtualMachineName}/HybridWorkerExtension'
  location: vmLocation
  properties: {
    publisher: 'Microsoft.Azure.Automation.HybridWorker'
    type: 'HybridWorkerForWindows'
    typeHandlerVersion: '1.1'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {
      AutomationAccountURL: automationAccount_resource.properties.automationHybridServiceUrl
    }
  }
  dependsOn: [
    vmName
  ]
}

output output1 string = automationAccount_resource.properties.automationHybridServiceUrl

Usuwanie hybrydowego procesu roboczego opartego na agencie

  1. Otwórz sesję programu PowerShell w trybie Administracja istratora i uruchom następujące polecenie:

     Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
    
  2. W obszarze Automatyzacja procesów wybierz pozycję Grupy hybrydowych procesów roboczych, a następnie grupę hybrydowych procesów roboczych, aby przejść do strony Grupa hybrydowych procesów roboczych.

  3. W obszarze Grupa hybrydowych procesów roboczych wybierz pozycję Hybrydowe procesy robocze.

  4. Zaznacz pola wyboru obok maszyn, które chcesz usunąć z grupy hybrydowych procesów roboczych.

  5. Wybierz pozycję Usuń , aby usunąć hybrydowy proces roboczy systemu Windows oparty na agencie.

    Uwaga

    • Po wyłączeniu usługi Private Link na koncie usługi Automation usunięcie hybrydowego procesu roboczego elementu Runbook może potrwać do 60 minut.
    • Po usunięciu hybrydowego procesu roboczego certyfikat uwierzytelniania hybrydowego procesu roboczego na maszynie jest ważny przez 45 minut.

Następne kroki