De bestaande Hybrid Workers op basis van agents migreren naar Hybrid Workers op basis van extensies

Belangrijk

Azure Automation Hybrid Runbook Worker op basis van een agent (Windows en Linux) wordt op 31 augustus 2024 buiten gebruik gesteld en wordt na die datum niet meer ondersteund. U moet vóór 31 augustus 2024 de migratie van bestaande Hybrid Runbook Workers voor gebruikers op basis van een agent voltooien naar Workers op basis van extensies. Bovendien zou het vanaf 1 november 2023 niet mogelijk zijn om nieuwe hybride werknemers op basis van agents te maken. Meer informatie.

In dit artikel worden de voordelen beschreven van Hybrid Runbook Worker op basis van extensies en hoe u bestaande hybride runbookwerkers op basis van agents migreert naar hybrid workers op basis van extensies.

Er worden twee hybrid Runbook Workers-installatieplatforms ondersteund door Azure Automation:

  • Op agents gebaseerde hybrid runbook worker (V1): de hybrid runbook worker op basis van agents is afhankelijk van de Log Analytics-agent.
  • Hybrid Runbook Worker (V2) op basis van extensies: de hybrid runbook worker op basis van extensies biedt systeemeigen integratie van de rol hybrid runbook worker via het extensieframework van de virtuele machine (VM). 

Het proces voor het uitvoeren van runbooks op Hybrid Runbook Workers blijft hetzelfde voor beide.

Voordelen van hybrid runbook workers op basis van extensies ten opzichte van op agents gebaseerde werknemers

Het doel van de op extensies gebaseerde benadering is het vereenvoudigen van de installatie en het beheer van de Hybrid Worker en het verwijderen van de complexiteit van het werken met de op agent gebaseerde versie. Hier volgen enkele belangrijke voordelen:

  • Naadloze onboarding : de op agents gebaseerde benadering voor onboarding van Hybrid Runbook Worker is afhankelijk van de Log Analytics-agent. Dit is een proces met meerdere stappen, tijdrovend en foutgevoelig. De op extensies gebaseerde benadering biedt meer beveiliging en is niet langer afhankelijk van de Log Analytics-agent.

  • Beheerbaarheid vergemakkelijken: het biedt systeemeigen integratie met Arm-identiteit (Azure Resource Manager) voor Hybrid Runbook Worker en biedt de flexibiliteit voor governance op schaal via beleid en sjablonen.

  • Verificatie op basis van Microsoft Entra-id: het maakt gebruik van een door het VM-systeem toegewezen beheerde identiteiten die worden geleverd door Microsoft Entra-id. Dit centraliseert het beheer en beheer van identiteiten en resourcereferenties.

  • Geïntegreerde ervaring : het biedt een identieke ervaring voor het beheren van Azure- en off-Azure Arc-machines.

  • Meerdere onboardingkanalen : u kunt ervoor kiezen om werknemers op basis van extensies te onboarden en beheren via Azure Portal, PowerShell-cmdlets, Bicep, ARM-sjablonen, REST API en Azure CLI.

  • Standaard automatische upgrade : het biedt standaard automatische upgrade van secundaire versies, waardoor de beheerbaarheid van het bijwerken van de nieuwste versie aanzienlijk wordt verminderd. U wordt aangeraden automatische upgrades in te schakelen om te profiteren van beveiligingsupdates of functie-updates zonder de handmatige overhead. U kunt zich ook op elk gewenst moment afmelden voor automatische upgrades. Upgrades van primaire versies worden momenteel niet ondersteund en moeten handmatig worden beheerd.

Notitie

Hybrid Runbook Worker op basis van de extensie ondersteunt alleen het type Hybrid Runbook Worker van de gebruiker en bevat niet de System Hybrid Runbook Worker die is vereist voor de functie Updatebeheer.

Vereisten

Minimale vereisten voor machine

Ondersteunde besturingssystemen

Windows (x64) Linux (x64)
● Windows Server 2022 (inclusief Server Core)
● Windows Server 2019 (inclusief Server Core)
● Windows Server 2016, versie 1709 en 1803 (met uitzondering van Server Core)
● Windows Server 2012, 2012 R2 (met uitzondering van Server Core)
● Windows 10 Enterprise (inclusief meerdere sessies) en Pro
● Debian GNU/Linux 8,9,10 en 11
● Ubuntu 18.04 LTS, 20.04 LTS en 22.04 LTS
● SUSE Linux Enterprise Server 15.2 en 15.3
● Red Hat Enterprise Linux Server 7, 8 en 9
● CentOS Linux 7 en 8
● SUSE Linux Enterprise Server (SLES) 15
● Rocky Linux 9
● Oracle Linux 7 en 8
De Hybrid Worker-extensie volgt de ondersteuningstijdlijnen van de leverancier van het besturingssysteem. 

Andere vereisten

Windows (x64) Linux (x64)
Windows PowerShell 5.1 (download WMF 5.1). PowerShell Core wordt niet ondersteund. Linux-beveiliging mag niet zijn ingeschakeld. 
.NET framework 4.6.2 of hoger. 

Pakketvereisten voor Linux

Vereist pakket Beschrijving Minimumversie
Glibc GNU C-bibliotheek 2.5-12
Openssl OpenSSL-bibliotheken 1.0 (TLS 1.1 en 1.2 worden ondersteund)
Curl cURL-webclient 7.15.5
Python-ctypes Externe functiebibliotheek voor Python Python 2.x of Python 3.x is vereist.
PAM Pluggable-verificatiemodules
Optioneel pakket Beschrijving Minimumversie
PowerShell Core Als u PowerShell-runbooks wilt uitvoeren, moet PowerShell Core worden geïnstalleerd. Zie PowerShell Core installeren in Linux voor instructies 6.0.0

Machtigingen voor Hybrid Worker-referenties

Als hybrid Worker-referenties op basis van agents aangepaste Hybrid Worker-referenties gebruiken, moet u ervoor zorgen dat de volgende machtigingen zijn toegewezen aan de aangepaste gebruiker om te voorkomen dat taken worden onderbroken voor hybrid worker op basis van extensies.

Resourcetype Mapmachtigingen
Azure VM C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lezen en uitvoeren)
Servers met Arc C:\ProgramData\Azure Verbinding maken edMachineAgent\Tokens (lezen)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lezen en uitvoeren)

Notitie

  • Voor de server met Arc moet u de machtigingen opnieuw toewijzen wanneer deze worden verwijderd wanneer de ARC-agent wordt bijgewerkt.
  • Hybrid Runbook Worker wordt momenteel niet ondersteund voor Virtual Machine Scale Sets (VMSS).

Een bestaande op agents gebaseerde Hybrid Worker migreren naar Hybrid Worker op basis van extensies

Als u gebruik wilt maken van de voordelen van hybrid workers op basis van extensies, moet u alle bestaande op agents gebaseerde Hybrid Workers migreren naar op extensies gebaseerde werknemers. Een hybrid worker-machine kan naast elkaar bestaan op platformen op basis van agents (V1) en Op extensies gebaseerde (V2). De installatie op basis van de extensie heeft geen invloed op de installatie of het beheer van een werkrol op basis van een agent.

Als u de Hybrid Worker-extensie wilt installeren op een bestaande hybrid worker op basis van een agent, voert u de volgende stappen uit:

  1. Selecteer onder Procesautomatisering hybrid worker-groepen en selecteer vervolgens uw bestaande hybrid worker-groep om naar de pagina Hybrid Worker-groep te gaan.

  2. Selecteer onder Hybrid Worker-groep Hybrid Workers>+ Toevoegen om naar de pagina Machines toevoegen als hybrid worker te gaan.

  3. Schakel het selectievakje in naast de bestaande hybrid worker op basis van agents (V1). Als uw hybrid worker op basis van agents niet wordt weergegeven, controleert u of de Azure Arc Verbinding maken ed Machine-agent op de computer is geïnstalleerd. Zie Verbinding maken hybride machines installeren AzureConnectedMachineAgentnaar Azure vanuit Azure Portal voor servers met Arc of zie Virtuele VMware-machines beheren met Azure Arc om gastbeheer in te schakelen voor VMware vSphere-VM's met Arc.

    Schermopname van het toevoegen van machines als hybrid worker.

  4. Selecteer Toevoegen om de machine toe te voegen aan de groep.

    In de kolom Platform ziet u dezelfde Hybrid Worker als zowel op agent gebaseerde (V1) als op extensie (V2). Nadat u zeker bent van de op extensies gebaseerde Hybrid Worker-ervaring en het gebruik ervan, kunt u de op agents gebaseerde Worker verwijderen .

    Schermopname van het platformveld met hybrid worker op basis van agents of extensies.

Voor migratie op schaal van meerdere hybrid workers op basis van agents kunt u ook andere kanalen gebruiken, zoals Bicep, ARM-sjablonen, PowerShell-cmdlets, REST API en Azure CLI.

Hybrid Worker-extensie beheren met Bicep & ARM-sjablonen, REST API, Azure CLI en PowerShell

U kunt de Bicep-sjabloon gebruiken om een nieuwe Hybrid Worker-groep te maken, een nieuwe Virtuele Azure Windows-machine te maken en deze toe te voegen aan een bestaande Hybrid Worker-groep. Meer informatie over Bicep.

Volg de onderstaande stappen als voorbeeld:

  1. Maak een Hybrid Worker-groep.
  2. Maak een Azure-VM of een server met Arc. U kunt ook een bestaande Azure-VM of een server met Arc gebruiken.
  3. Verbinding maken de azure-VM of arc-server naar de hierboven gemaakte Hybrid Worker-groep.
  4. Genereer een nieuwe GUID en geef deze door als de naam van de Hybrid Worker.
  5. Schakel door het systeem toegewezen beheerde identiteit in op de VIRTUELE machine.
  6. Installeer de Hybrid Worker-extensie op de VIRTUELE machine.
  7. Als u wilt controleren of de extensie is geïnstalleerd op de virtuele machine, gaat u in Azure Portal naar het tabblad VM-extensies > en controleert u de status van de Hybrid Worker-extensie die op de VIRTUELE machine is geïnstalleerd.
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

Hybrid Worker op basis van agents verwijderen

  1. Open de PowerShell-sessie in Beheer istratormodus en voer de volgende opdracht uit:

     Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
    
  2. Selecteer onder Procesautomatisering de optie Hybrid Worker-groepen en vervolgens je Hybrid Worker-groep om naar de pagina Hybrid Worker-groep te gaan.

  3. Selecteer onder Hybrid Worker-groepde optie Hybrid Workers.

  4. Schakel het selectievakje in naast de machine(s) die u wilt verwijderen uit de Hybrid Worker-groep.

  5. Selecteer Verwijderen om de Windows Hybrid Worker op basis van een agent te verwijderen.

    Notitie

    • Nadat u de Private Link in uw Automation-account hebt uitgeschakeld, kan het tot 60 minuten duren voordat de Hybrid Runbook Worker wordt verwijderd.
    • Nadat u de Hybrid Worker hebt verwijderd, is het Hybrid Worker-verificatiecertificaat op de computer 45 minuten geldig.

Volgende stappen