De bestaande Hybrid Workers op basis van agents migreren naar Hybrid Workers op basis van extensies
Belangrijk
Hybrid Runbook Worker (Windows en Linux) op basis van een Azure Automation-agent is op 31 augustus 2024 buiten gebruik gesteld en wordt niet meer ondersteund. Volg de richtlijnen in dit artikel over het migreren van een bestaande op agents gebaseerde hybrid runbook workers naar hybrid workers op basis van extensies.
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
- Twee kernen
- 4 GB aan RAM-geheugen
- Op niet-Azure-machines moet de Azure Connected Machine-agent zijn geïnstalleerd. Zie Hybride machines verbinden
AzureConnectedMachineAgent
met Azure vanuit Azure Portal voor servers met Arc of zie Virtuele VMware-machines beheren in Azure Arc om gastbeheer in te schakelen voor VMware vSphere-VM's met Arc. - De door het systeem toegewezen beheerde identiteit moet zijn ingeschakeld op de virtuele Azure-machine, server met Arc of VMware vSphere-VM met Arc. Als de door het systeem toegewezen beheerde identiteit niet is ingeschakeld, wordt deze ingeschakeld als onderdeel van het installatieproces via Azure Portal.
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, 11 en 12 ● Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS en 24.04 LTS ● SUSE Linux Enterprise Server 15.2, 15.3, 15.4, 15.5 en 15.6 ● Red Hat Enterprise Linux Server 7, 8 en 9 ● Rocky Linux 9 ● Oracle Linux 7, 8 en 9 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 |
Notitie
Hybrid Runbook Worker wordt momenteel niet ondersteund voor Virtual Machine Scale Sets (VMSS).
We raden u ten zeerste aan om de Hybrid Worker-extensie nooit te configureren op een virtuele machine die als host fungeert voor een domeincontroller. Aanbevolen beveiligingsprocedures adviseren dergelijke instellingen niet vanwege de risicovolle aard van het blootstellen van domeincontrollers aan mogelijke aanvalsvectoren via Azure Automation-taken. Domeincontrollers moeten zeer beveiligd en geïsoleerd zijn van niet-essentiële services om onbevoegde toegang te voorkomen en de integriteit van de omgeving Active Directory-domein Services (ADDS) te behouden.
Machtigingen voor Hybrid Worker-referenties
Als hybrid worker op basis van extensies aangepaste Hybrid Worker-referenties gebruikt, moet u ervoor zorgen dat de volgende mapmachtigingen zijn toegewezen aan de aangepaste gebruiker om te voorkomen dat taken worden onderbroken.
Resourcetype | Mapmachtigingen |
---|---|
Azure VM | C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lezen en uitvoeren) |
Servers met Arc | C:\ProgramData\AzureConnectedMachineAgent\Tokens (lezen) C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (lezen en uitvoeren). |
Notitie
- Wanneer een systeem UAC/LUA heeft ingesteld, moeten machtigingen rechtstreeks worden verleend en niet via een groepslidmaatschap. Meer informatie.
- 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, moet u ervoor zorgen dat aan de vereisten wordt voldaan voordat u de volgende stappen uitvoert:
Selecteer onder Procesautomatisering hybrid worker-groepen en selecteer vervolgens uw bestaande hybrid worker-groep om naar de pagina Hybrid Worker-groep te gaan.
Selecteer onder Hybrid Worker-groep Hybrid Workers>+ Toevoegen om naar de pagina Machines toevoegen als hybrid worker te gaan.
Schakel het selectievakje in naast de bestaande hybrid worker op basis van agents (V1). Als u de Hybrid Worker op basis van een agent niet ziet, controleert u of de Azure Arc Connected Machine-agent op de computer is geïnstalleerd. Zie Hybride machines verbinden
AzureConnectedMachineAgent
met Azure vanuit Azure Portal voor servers met Arc of zie Virtuele VMware-machines beheren in Azure Arc om gastbeheer in te schakelen voor VMware vSphere-VM's met Arc.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 .
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:
- Maak een Hybrid Worker-groep.
- Maak een Azure-VM of een server met Arc. U kunt ook een bestaande Azure-VM of een server met Arc gebruiken.
- Verbind de azure-VM of arc-server met de hierboven gemaakte Hybrid Worker-groep.
- Genereer een nieuwe GUID en geef deze door als de naam van de Hybrid Worker.
- Schakel door het systeem toegewezen beheerde identiteit in op de VIRTUELE machine.
- Installeer de Hybrid Worker-extensie op de VIRTUELE machine.
- 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
Open de PowerShell-sessie in de beheerdersmodus en voer de volgende opdracht uit:
Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
Selecteer onder Procesautomatisering de optie Hybrid Worker-groepen en vervolgens je Hybrid Worker-groep om naar de pagina Hybrid Worker-groep te gaan.
Selecteer onder Hybrid Worker-groepde optie Hybrid Workers.
Schakel het selectievakje in naast de machine(s) die u wilt verwijderen uit de Hybrid Worker-groep.
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
- Zie het overzicht van Hybrid Runbook Worker voor meer informatie over Hybrid Runbook Worker voor Automation.
- Als u Hybrid Worker op basis van extensies wilt implementeren, raadpleegt u Een op extensies gebaseerde Windows- of Linux User Hybrid Runbook Worker implementeren in Azure Automation.
- Zie Azure VM-extensies en -functies voor Windows - en Azure VM-extensies en -functies voor Linux voor meer informatie over Azure VM-extensies.