Eseguire la migrazione dei ruoli di lavoro ibridi basati su agente esistenti a ruoli di lavoro ibridi basati su estensione

Importante

Il ruolo di lavoro per runbook ibrido utente basato su agente di Automazione di Azure (Windows e Linux) verrà ritirato il 31 agosto 2024 e non sarà supportato dopo tale data. Prima del 31 agosto 2024 sarà necessario completare la migrazione dei ruoli di lavoro ibridi per runbook ibridi utente basati su agenti. Inoltre, a partire dal 1° novembre 2023, la creazione di nuovi ruoli di lavoro ibridi basati su agente non sarebbe possibile. Altre informazioni.

Questo articolo descrive i vantaggi del ruolo di lavoro ibrido per runbook utente basato su estensione e come eseguire la migrazione di ruoli di lavoro ibridi ibridi basati su agente esistenti a ruoli di lavoro ibridi basati su estensione.

Esistono due piattaforme di installazione di ruoli di lavoro ibridi per runbook supportate da Automazione di Azure:

  • Ruolo di lavoro ibrido per runbook basato su agente (V1): il ruolo di lavoro ibrido per runbook basato su agente dipende dall'agente di Log Analytics.
  • Ruolo di lavoro ibrido per runbook basato su estensione (V2): il ruolo di lavoro ibrido per runbook basato su estensioni offre l'integrazione nativa del ruolo di lavoro ibrido per runbook tramite il framework di estensione Macchina virtuale (VM). 

Il processo di esecuzione di runbook nei ruoli di lavoro ibridi per runbook rimane invariato per entrambi.

Vantaggi dei ruoli di lavoro ibridi per runbook utente basati su estensioni rispetto ai ruoli di lavoro basati su agenti

Lo scopo dell'approccio basato sull'estensione consiste nel semplificare l'installazione e la gestione del ruolo di lavoro ibrido e rimuovere la complessità della versione basata su agente. Ecco alcuni vantaggi principali:

  • Onboarding facile: l'approccio basato su agente per l'onboarding del ruolo di lavoro ibrido per runbook dipende dall'agente di Log Analytics, che è un processo a più passaggi, dispendioso in termini di tempo e soggetto a errori. L'approccio basato su estensione offre maggiore sicurezza e non dipende più dall'agente di Log Analytics.

  • Facilità di gestione : offre l'integrazione nativa con l'identità di Azure Resource Manager (ARM) per il ruolo di lavoro ibrido per runbook e offre la flessibilità per la governance su larga scala tramite criteri e modelli.

  • Autenticazione basata su ID Microsoft Entra: usa le identità gestite assegnate dal sistema della macchina virtuale fornite dall'ID Microsoft Entra. Questo consente di centralizzare il controllo e la gestione delle identità e delle credenziali delle risorse.

  • Esperienza unificata : offre un'esperienza identica per la gestione di computer abilitati per Azure e off-Azure Arc.

  • Più canali di onboarding: è possibile scegliere di eseguire l'onboarding e gestire i ruoli di lavoro basati su estensioni tramite il portale di Azure, i cmdlet di PowerShell, Bicep, i modelli arm, l'API REST e l'interfaccia della riga di comando di Azure.

  • Aggiornamento automatico predefinito: offre l'aggiornamento automatico delle versioni secondarie per impostazione predefinita, riducendo significativamente la gestibilità dell'aggiornamento nella versione più recente. È consigliabile abilitare gli aggiornamenti automatici per sfruttare eventuali aggiornamenti della sicurezza o delle funzionalità senza il sovraccarico manuale. È anche possibile rifiutare esplicitamente gli aggiornamenti automatici in qualsiasi momento. Gli aggiornamenti delle versioni principali non sono attualmente supportati e devono essere gestiti manualmente.

Nota

Il ruolo di lavoro ibrido per runbook basato su estensione supporta solo il tipo di ruolo di lavoro ibrido per runbook utente e non include il ruolo di lavoro ibrido per runbook di sistema necessario per la funzionalità Gestione aggiornamenti.

Prerequisiti

Requisiti minimi del computer

  • Due core
  • 4 GB di RAM
  • Nei computer non Azure deve essere installato l'agente del computer Connessione di Azure. Per installare AzureConnectedMachineAgent, vedere Connessione computer ibridi in Azure dalla portale di Azure per i server abilitati per Arc o vedere Gestire macchine virtuali VMware azure Arc per abilitare la gestione guest per le macchine virtuali VMware vSphere abilitate per Arc.
  • L'identità gestita assegnata dal sistema deve essere abilitata nella macchina virtuale di Azure, nel server abilitato per Arc o nella macchina virtuale VMware vSphere abilitata per Arc. Se l'identità gestita assegnata dal sistema non è abilitata, verrà abilitata come parte del processo di installazione tramite il portale di Azure.

Sistemi operativi supportati

Windows (x64) Linux (x64)
● Windows Server 2022 (incluso Server Core)
● Windows Server 2019 (incluso Server Core)
● Windows Server 2016, versione 1709 e 1803 (escluso Server Core)
● Windows Server 2012, 2012 R2 (escluso Server Core)
● Windows 10 Enterprise (incluso multisessione) e Pro
● Debian GNU/Linux 8,9,10 e 11
● Ubuntu 18.04 LTS, 20.04 LTS e 22.04 LTS
● SU edizione Standard Linux Enterprise Server 15.2 e 15.3
● Red Hat Enterprise Linux Server 7, 8 e 9
● CentOS Linux 7 e 8
● SU edizione Standard Linux Enterprise Server (SLES) 15
● Rocky Linux 9
● Oracle Linux 7 e 8
L'estensione del ruolo di lavoro ibrido seguirà le sequenze temporali del fornitore del sistema operativo. 

Altri requisiti

Windows (x64) Linux (x64)
Windows PowerShell 5.1 (scaricare WMF 5.1). PowerShell Core non è supportato. La protezione avanzata di Linux non deve essere abilitata. 
.NET Framework 4.6.2 o versioni successive. 

Requisiti dei pacchetti per Linux

Pacchetto obbligatorio Descrizione Versione minima
Glibc Libreria GNU C 2.5-12
Openssl Librerie OpenSSL 1.0 (sono supportati TLS 1.1 e TLS 1.2)
Curl Client Web cURL 7.15.5
Python-ctypes Libreria di funzioni esterne per Python È necessario Python 2.x o Python 3.x
PAM Moduli di autenticazione modulare
Pacchetto facoltativo Descrizione Versione minima
PowerShell Core Per eseguire runbook di PowerShell, è necessario installare PowerShell Core. Per istruzioni, vedere Installazione di PowerShell Core in Linux 6.0.0

Autorizzazioni per le credenziali del ruolo di lavoro ibrido

Se il ruolo di lavoro ibrido basato su agente usa credenziali di ruolo di lavoro ibrido personalizzate, assicurarsi che le autorizzazioni seguenti vengano assegnate all'utente personalizzato per evitare che i processi vengano sospesi nel ruolo di lavoro ibrido basato su estensione.

Tipo di risorsa Autorizzazioni per le cartelle
Macchina virtuale di Azure C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lettura ed esecuzione)
Server abilitato per Arc C:\ProgramData\Azure Connessione edMachineAgent\Tokens (lettura)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lettura ed esecuzione)

Nota

  • Per il server abilitato per Arc, assicurarsi di riassegnare le autorizzazioni man mano che vengono rimosse ogni volta che l'agente ARC viene aggiornato.
  • Il ruolo di lavoro ibrido per runbook non è attualmente supportato per set di scalabilità di macchine virtuali (VMSS).

Eseguire la migrazione di un ruolo di lavoro ibrido basato su agente esistente a un ruolo di lavoro ibrido basato su estensione

Per sfruttare i vantaggi dei ruoli di lavoro ibridi basati su estensione, è necessario eseguire la migrazione di tutti i ruoli di lavoro ibridi utente basati su agente esistenti ai ruoli di lavoro basati su estensione. Un computer di lavoro ibrido può coesistere su piattaforme basate su agente (V1) e basate su estensione (V2). L'installazione basata su estensione non influisce sull'installazione o sulla gestione di un ruolo di lavoro basato su agente.

Per installare l'estensione del ruolo di lavoro ibrido ibrido in un ruolo di lavoro ibrido basato su agente esistente, seguire questa procedura:

  1. In Automazione processi selezionare Gruppi di lavoro ibridi e quindi selezionare il gruppo di ruoli di lavoro ibrido esistente per passare alla pagina Gruppo di lavoro ibrido.

  2. In Gruppo di lavoro ibrido selezionare Ruoli di lavoro> ibridi+ Aggiungi per passare alla pagina Aggiungi computer come ruolo di lavoro ibrido.

  3. Selezionare la casella di controllo accanto al ruolo di lavoro ibrido basato su agente esistente (V1). Se il ruolo di lavoro ibrido basato su agente non è elencato, verificare che nel computer sia installato l'agente di Azure Arc Connessione ed Machine. Per installare AzureConnectedMachineAgent, vedere Connessione computer ibridi in Azure dalla portale di Azure per i server con abilitazione di Arc oppure vedere Gestire macchine virtuali VMware azure Arc per abilitare la gestione guest per le macchine virtuali VMware vSphere abilitate per Arc.

    Screenshot dell'aggiunta di computer come ruolo di lavoro ibrido.

  4. Selezionare Aggiungi per aggiungere il computer al gruppo.

    La colonna Piattaforma mostra lo stesso ruolo di lavoro ibrido sia basato su agente (V1) che basato su estensione (V2). Dopo aver certi dell'esperienza di lavoro ibrida basata sull'estensione e dell'uso, è possibile rimuovere il ruolo di lavoro basato su agente.

    Screenshot del campo della piattaforma che mostra il ruolo di lavoro ibrido basato su agente o estensione.

Per la migrazione su larga scala di più ruoli di lavoro ibridi basati su agente, è anche possibile usare altri canali , ad esempio Bicep, modelli arm, cmdlet di PowerShell, API REST e interfaccia della riga di comando di Azure.

Gestire l'estensione del ruolo di lavoro ibrido usando modelli bicep e ARM, API REST, interfaccia della riga di comando di Azure e PowerShell

È possibile usare il modello Bicep per creare un nuovo gruppo di ruoli di lavoro ibridi, creare una nuova macchina virtuale Windows di Azure e aggiungerla a un gruppo di ruoli di lavoro ibrido esistente. Altre informazioni su Bicep.

Seguire i passaggi indicati di seguito come esempio:

  1. Creare un gruppo di ruoli di lavoro ibridi.
  2. Creare una macchina virtuale di Azure o un server abilitato per Arc. In alternativa, è anche possibile usare una macchina virtuale di Azure esistente o un server abilitato per Arc.
  3. Connessione la macchina virtuale di Azure o il server abilitato per Arc al gruppo di ruoli di lavoro ibridi creato in precedenza.
  4. Generare un nuovo GUID e passarlo come nome del ruolo di lavoro ibrido.
  5. Abilitare l'identità gestita assegnata dal sistema nella macchina virtuale.
  6. Installare l'estensione del ruolo di lavoro ibrido nella macchina virtuale.
  7. Per verificare se l'estensione è stata installata correttamente nella macchina virtuale, in portale di Azure passare alla scheda Estensioni macchina virtuale >e controllare lo stato dell'estensione ruolo di lavoro ibrido installata nella macchina virtuale.
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

Rimuovere un ruolo di lavoro ibrido basato su agente

  1. Aprire la sessione di PowerShell in modalità Amministrazione istrator ed eseguire il comando seguente:

     Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
    
  2. In Automazione processi, selezionare Gruppi di ruoli di lavoro ibridi e quindi selezionare il gruppo di ruoli di lavoro ibridi per passare alla pagina Gruppo di ruoli di lavoro ibridi.

  3. In Gruppo di ruoli di lavoro ibridi selezionare Ruoli di lavoro ibridi.

  4. Selezionare la casella di controllo accanto ai computer da eliminare dal gruppo di ruoli di lavoro ibridi.

  5. Selezionare Elimina per rimuovere il ruolo di lavoro ibrido windows basato su agente.

    Nota

    • Dopo aver disabilitato il collegamento privato nell'account di Automazione, potrebbero essere necessari fino a 60 minuti per rimuovere il ruolo di lavoro ibrido per runbook.
    • Dopo aver rimosso il ruolo di lavoro ibrido, il certificato di autenticazione del ruolo di lavoro ibrido nel computer è valido per 45 minuti.

Passaggi successivi