共用方式為


將現有的代理程式型混合式背景工作角色移轉至延伸模組型混合式背景工作角色

重要

Azure 自動化代理程式型使用者混合式 Runbook 背景工作角色 (Windows 和 Linux) 已在 2024 年 8 月 31 日淘汰,不再受到支援。 請遵循本文中,如何從現有代理程式型使用者混合式 Runbook 背景工作角色,移轉至延伸模組型混合式背景工作角色的指導方針。

本文說明延伸模組型使用者混合式 Runbook 背景工作角色的優點,以及如何將現有的代理程式型使用者混合式 Runbook 背景工作角色移轉至延伸模組型混合式背景工作角色。

Azure 自動化支援兩個混合式 Runbook 背景工作角色安裝平台:

  • 代理程式型混合式 Runbook 背景工作角色 (V1) - 代理程式型混合式 Runbook 背景工作角色需視 Log Analytics 代理程式而定。
  • 延伸模組型混合式 Runbook 背景工作角色 (V2) - 延伸模組型混合式 Runbook 背景工作角色透過虛擬機器 (VM) 延伸模組架構提供混合式 Runbook 背景工作角色的原生整合。 

在混合式 Runbook 背景工作角色上執行 Runbook 的程序在這兩種平台上都保持不變。

延伸模組型使用者混合式 Runbook 背景工作角色相較於代理程式型背景工作角色的優點

延伸模組型方法旨在簡化混合式背景工作角色的安裝和管理,並去除使用代理程式型版本的複雜度。 以下提供部分主要優點:

  • 無縫上線 – 將混合式 Runbook 背景工作角色上線的代理程式型方法取決於 Log Analytics 代理程式,這是多步驟、耗時且容易出錯的程序。 延伸模組型方法可提供更多安全性,且不再相依於 Log Analytics 代理程式。

  • 易於管理 – 可針對混合式 Runbook 背景工作角色進行 Azure Resource Manager (ARM) 身分識別的原生整合,並透過原則和範本提供大規模控管的彈性。

  • Microsoft Entra ID 型驗證 – 使用 Microsoft Entra ID 提供的 VM 系統指派受控識別。 這會集中控制且集中管理身分識別和資源認證。

  • 整合體驗 – 提供相同的體驗以管理 Azure 和 Azure 之外啟用 Arc 的機器。

  • 多個上線通道 – 您可以選擇透過 Azure 入口網站、PowerShell Cmdlet、Bicep、ARM 範本、REST API 和 Azure CLI 來上線和管理延伸模組型背景工作角色。

  • 預設自動升級 – 預設提供自動升級次要版本,以大幅降低保持更新最新版本的管理性。 建議啟用自動升級,以利用任何安全性或功能更新,而不會產生手動額外負荷。 您也可以隨時退出自動升級。 目前不支援任何主要版本升級,而且應該手動管理。

注意

延伸模組型混合式 Runbook 背景工作角色僅支援使用者混合式 Runbook 背景工作角色類型,而且不包含更新管理功能所需的系統混合式 Runbook 背景工作角色。

必要條件

電腦最低需求

受支援的作業系統

Windows (x64) Linux (x64)
● Windows Server 2022 (包括 Server Core)
● Windows Server 2019 (包括 Server Core)
● Windows Server 2016 版本 1709 和 1803 (不包括 Server Core)
● Windows Server 2012、2012 R2 (不包括 Server Core)
● Windows 10 企業版 (包括多工作階段) 和專業版
● Debian GNU/Linux 8、9、10 和 11
● Ubuntu 18.04 LTS、20.04 LTS 和 22.04 LTS
● SUSE Linux Enterprise Server 15.2 和 15.3
● Red Hat Enterprise Linux Server 7、8 和 9
SUSE Linux Enterprise Server (SLES) 15
• Rocky Linux 9
• Oracle Linux 7 和 8
混合式背景工作角色延伸模組會遵循 OS 廠商的支援時間表。 

其他需求

Windows (x64) Linux (x64)
Windows PowerShell 5.1 (下載 WMF 5.1)。 不支援 PowerShell Core。 不得啟用 Linux 強化。 
.NET Framework 4.6.2 或更新版本。 

Linux 的套件需求

必要的套件 描述 最低版本
Glibc GNU C 程式庫 2.5-12
Openssl OpenSSL 程式庫 1.0 (支援 TLS 1.1 和 1.2)
Curl cURL 網路用戶端 7.15.5
Python-ctypes Python 的外部函數庫 需要 Python 2.x 或 Python 3.x
PAM 插入式驗證模組
選用套件 描述 最低版本
PowerShell Core 若要執行 PowerShell Runbook,必須安裝 PowerShell Core。 如需指示,請參閱在 Linux 上安裝 PowerShell Core 6.0.0

混合式背景工作角色認證的權限

如果延伸模組型混合式背景工作角色使用自訂混合式背景工作角色認證,請確定已將下列資料夾權限指派給自訂使用者,以避免作業暫止。

資源類型 資料夾權限
Azure VM C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (讀取與執行)
已啟用 Arc 的伺服器 C:\ProgramData\AzureConnectedMachineAgent\Tokens (讀取)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (讀取與執行)。

注意

  • 當系統具有 UAC/LUA 時,必須直接授與權限,而不是透過任何群組成員資格授與權限。 深入了解
  • 針對已啟用 Arc 的伺服器,請務必重新指派權限,因為只要 ARC 代理程式更新,即會移除權限。
  • 虛擬機器擴展集 (VMSS) 目前不支援混合式 Runbook 背景工作角色。

將現有的代理程式型混合式背景工作角色移轉至延伸模組型混合式背景工作角色

若要利用延伸模組型混合式背景工作角色的優點,您必須將所有現有的代理程式型使用者混合式背景工作角色移轉至延伸模組型背景工作角色。 混合式背景工作角色機器可並存於代理程式型 (V1)延伸模組型 (V2) 平台。 延伸模組型安裝不會影響代理程式型背景工作角色的安裝或管理。

若要在現有的代理程式型混合式背景工作角色安裝混合式背景工作角色延伸模組,請先確定必要條件已滿足,再遵循下列步驟:

  1. 在 [流程自動化] 下,選取 [混合式背景工作角色群組],然後選取現有的混合式背景工作角色群組,以前往 [混合式背景工作角色群組] 頁面。

  2. 在 [混合式背景工作角色群組] 下方,選取 [混合式背景工作角色]>[+ 新增], 以移至 [將機器新增為混合式背景工作角色] 頁面。

  3. 選取現有代理程式型 (V1) 混合式背景工作角色旁的核取方塊。 如果清單未列出您的代理程式型混合式背景工作角色,請確定電腦上已安裝 Azure Arc Connected Machine 代理程式。 若要安裝 AzureConnectedMachineAgent,請參閱從 Azure 入口網站中為啟用 Arc 的伺服器將混合式機器連線至 Azure,或參閱管理 VMWare 虛擬機器 Azure Arc 以為啟用 Arc 的 VMware vSphere VM 啟用來賓管理

    將機器新增為混合式背景工作角色的螢幕擷取畫面。

  4. 選取 [新增],將機器附加至群組。

    [平台] 資料行顯示與 [代理程式型 (V1)] 和 [延伸模組型 (V2)] 相同的混合式背景工作角色。 在您確信延伸模組型混合式背景工作角色體驗和使用之後,您可以移除代理程式型背景工作角色。

    平台欄位的螢幕擷取畫面,顯示平台為代理程式型或延伸模組型混合式背景工作角色。

若要大規模移轉多個代理程式型混合式背景工作角色,您也可以使用其他通道,例如 Bicep、ARM 範本、PowerShell Cmdlet、REST API 和 Azure CLI。

使用 Bicep 和 ARM 範本、REST API 和 Azure CLI 和 PowerShell 來管理混合式背景工作角色延伸模組

您可以使用 Bicep 範本來建立新的混合式背景工作角色群組、建立新的 Azure Windows VM 並新增至現有的混合式背景工作角色群組。 深入了解 Bicep

舉例來說,請遵循以下所述步驟:

  1. 建立混合式背景工作角色群組。
  2. 建立 Azure VM 或已啟用 Arc 的伺服器。 或者,您也可以使用現有的 Azure VM 或已啟用 Arc 的伺服器。
  3. 將 Azure VM 或已啟用 Arc 的伺服器連線到上面建立的混合式背景工作角色群組。
  4. 產生新的 GUID 並傳遞以作為混合式背景工作角色的名稱。
  5. 在 VM 上啟用系統指派的受控識別。
  6. 在 VM 上安裝混合式背景工作角色延伸模組。
  7. 若要確認延伸模組是否已成功安裝在 VM 上,請在 Azure 入口網站中,移至 VM >[延伸模組] 索引標籤,並檢查安裝在 VM 上的混合式背景工作角色延伸模組狀態。
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

移除代理程式型混合式背景工作角色

  1. 在系統管理員模式中開啟 PowerShell 工作階段,並執行下列命令:

     Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
    
  2. 流程自動化下,選取混合式背景工作角色群組,然後選取混合式背景工作角色群組,以前往混合式背景工作角色群組頁面。

  3. 在 [混合式背景工作角色群組] 底下,選取 [混合式背景工作角色]。

  4. 在您要從混合式背景工作角色群組刪除的電腦旁,選取核取方塊。

  5. 選取 [刪除] 以移除代理程式型 Windows 混合式背景工作角色。

    注意

    • 停用自動化帳戶中的 Private Link 之後,可能需要最多 60 分鐘的時間才能移除混合式 Runbook 背景工作角色。
    • 移除混合式背景工作角色之後,機器上的混合式背景工作角色驗證憑證有效期為 45 分鐘。

下一步