Udostępnij za pośrednictwem


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

Ważne

Hybrydowy proces roboczy elementu Runbook opartego na agencie usługi Azure Automation (Windows i Linux) został wycofany 31 sierpnia 2024 r. i nie jest już obsługiwany. Postępuj zgodnie z wytycznymi w tym artykule dotyczącymi migrowania z istniejących hybrydowych procesów roboczych elementu Runbook opartych na agencie do hybrydowych procesów roboczych opartych na rozszerzeniach.

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
  • Maszyny spoza platformy Azure muszą mieć zainstalowanego agenta połączonej maszyny platformy Azure. Aby zainstalować program AzureConnectedMachineAgent, zobacz Łączenie maszyn hybrydowych z platformą Azure z poziomu 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
● 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 rozszerzeniach używa niestandardowych poświadczeń hybrydowego procesu roboczego, upewnij się, że następujące uprawnienia folderu są przypisane do użytkownika niestandardowego, aby uniknąć wstrzymania zadań.

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\AzureConnectedMachineAgent\Tokens (odczyt)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (odczyt i wykonanie).

Uwaga

  • Jeśli system ma uwierzytelnianie użytkownika/lua, uprawnienia muszą być przyznawane bezpośrednio, a nie za pośrednictwem żadnego członkostwa w grupie. Dowiedz się więcej.
  • 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, przed wykonaniem następujących kroków upewnij się, że zostały spełnione wymagania wstępne:

  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 jest zainstalowany agent połączonej maszyny usługi Azure Arc. Aby zainstalować program AzureConnectedMachineAgent, zobacz Łączenie maszyn hybrydowych z platformą Azure z poziomu 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łącz maszynę wirtualną platformy Azure lub serwer z obsługą usługi Arc z powyższą utworzoną grupą hybrydowych 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 administratora 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