您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

自动化混合 Runbook 辅助角色概述

Azure 自动化中的 Runbook 可能无权访问其他云或本地环境中的资源,因为它们在 Azure 云平台中运行。 利用 Azure 自动化的混合 Runbook 辅助角色功能,既可以直接在托管角色的计算机上运行 Runbook,也可以对环境中的资源运行 Runbook,从而管理这些本地资源。 Runbook 在 Azure 自动化中进行存储和管理,然后发送到一台或多台指定的计算机。

Azure 自动化通过 Azure 虚拟机 (VM) 扩展框架提供混合 Runbook 辅助角色的本机集成。 Azure VM 代理负责在 Windows 和 Linux VM 上管理 Azure VM 上的扩展,或者通过连接了已启用 Arc 的服务器的虚拟机代理管理非 Azure 虚拟机上的扩展。 目前,Azure 自动化支持两个混合 Runbook 辅助角色安装平台。

平台 说明
基于代理 (V1) Log Analytics 代理向 Azure Monitor Log Analytics 工作区报告完成后安装。
基于扩展 (V2) 使用混合 Runbook 辅助角色 VM 扩展安装,无需依赖于 Log Analytics 代理向 Azure Monitor Log Analytics 工作区报告。 此平台是建议的平台。

显示平台字段的混合辅助角色组

下面是适用于基于扩展的混合 Runbook 辅助角色的权益列表:

好处 描述
无缝载入 消除在加入混合 Runbook 辅助角色时对 Log Analytics 解决方案的依赖,这是一个多步骤过程,耗时且容易出错。
统一加入体验 安装是使用 Azure 和非 Azure 虚拟机支持的相同方法进行管理的。
易于管理 与混合 Runbook 辅助角色的 ARM 标识进行本机集成,通过策略和模板提供大规模治理的灵活性。
基于 Azure AD 的身份验证 使用 Azure AD 提供的 VM 系统分配的标识。 这将集中控制和管理标识和资源凭据。

对于安装后的混合 Runbook 辅助角色操作,在混合 Runbook 辅助角色上执行 Runbook 的过程是相同的。 基于扩展的方法旨在简化混合 Runbook 辅助角色的安装和管理,并消除使用基于代理的版本的复杂性。 基于扩展的新安装不会影响基于代理的混合 Runbook 辅助角色的安装或管理。 这两种混合 Runbook 辅助角色类型可以在同一台计算机上共存。

基于扩展的混合 Runbook 辅助角色仅支持用户混合 Runbook 辅助角色类型,不包括更新管理功能所需的系统混合 Runbook 辅助角色。

备注

目前不支持使用 PowerShell 安装基于扩展的混合 Runbook 辅助角色。

Runbook 辅助角色类型

有两种类型的 Runbook 辅助角色 - 系统和用户。 下表描述了它们之间的差异。

类型 说明
系统 支持由更新管理功能使用的一组隐藏 Runbook,这些 Runbook 专门用于在 Windows 和 Linux 计算机上安装用户指定的更新。
此类型的混合 Runbook 辅助角色不是混合 Runbook 辅助角色组的成员,因此不会运行面向 Runbook 辅助角色组的 Runbook。
用户 支持预期在 Windows 和 Linux 计算机上直接运行的用户定义的 Runbook,这些 Runbook 是一个或多个 Runbook 辅助角色组的成员。

基于代理 (V1) 的混合 Runbook 辅助角色依赖于 Log Analytics 代理向 Azure Monitor Log Analytics 工作区报告。 该工作区不只是用于收集计算机中的监视数据,还可以用于下载安装基于代理的混合 Runbook 辅助角色所需的组件。

启用 Azure 自动化更新管理后,连接到 Log Analytics 工作区的任何计算机都会自动配置为系统混合 Runbook 辅助角色。 要将其配置为用户 Windows 混合 Runbook 辅助角色,请参阅在自动化中部署基于代理的 Windows 混合 Runbook 辅助角色,对于 Linux,请参阅在自动化中部署基于代理的 Linux 混合 Runbook 辅助角色

Runbook 辅助角色限制

下表显示了自动化帐户中系统和用户混合 Runbook 辅助角色的最大数目。 如果要管理的计算机超过 4,000 台,建议创建其他自动化帐户。

辅助角色类型 每个自动化帐户支持的最大数目。
系统 4000
用户 4000

它是如何工作的?

每个用户混合 Runbook 辅助角色都是你在安装该辅助角色时指定的混合 Runbook 辅助角色组的成员。 一个组可以只包含一个辅助角色,但也可以在一个组中包含多个辅助角色,以实现高可用性。 每台计算机都可以托管一个向单个自动化帐户报告的混合 Runbook 辅助角色;你无法跨多个自动化帐户注册混合辅助角色。 混合辅助角色只能侦听单个自动化帐户中的作业。

用户混合 Runbook 辅助角色技术示意图

对于托管系统混合 Runbook 辅助角色(由更新管理进行管理)的计算机,可以将其添加到混合 Runbook 辅助角色组。 但必须对更新管理和混合 Runbook 辅助角色组成员身份使用同一自动化帐户。

系统混合 Runbook 辅助角色技术示意图

在用户混合 Runbook 辅助角色中启动 Runbook 时,可以指定该辅助角色会在其中运行的组。 组中的每个辅助角色都会轮询 Azure 自动化以查看是否有可用作业。 如果作业可用,获取作业的第一个辅助角色将执行该作业。 作业队列的处理时间取决于混合辅助角色硬件配置文件和负载。 不能指定特定的辅助角色。 混合辅助角色使用轮询机制(每 30 秒一次),并遵循先到先服务的顺序。 根据推送作业的时间,无论哪个混合辅助角色对自动化服务执行 ping 操作,都可提取该作业。 通常,一个混合辅助角色在每次执行 ping 操作时(即每隔 30 秒)可提取四个作业。 如果推送作业的速率高于每 30 秒四个,则混合 Runbook 辅助角色组中的另一个混合辅助角色极有可能提取了该作业。

对于磁盘空间、内存或网络套接字,混合 Runbook 辅助角色没有许多 Azure 沙盒资源限制。 对混合辅助角色的限制仅与辅助角色自己的资源有关,并且它们不受 Azure 沙盒的公平共享时间限制的约束。

若要控制如何在混合 Runbook 辅助角色上分发 Runbook 以及何时或如何触发作业,可以针对自动化帐户中不同的混合 Runbook 辅助角色组注册混合辅助角色。 针对特定组或组指定目标作业,以支持执行排列。

混合 Runbook 辅助角色安装

安装用户混合 Runbook 辅助角色的过程取决于操作系统。 下表定义了部署类型。

操作系统 部署类型
Windows 自动
手动
Linux 手动
任一个 对于用户混合 Runbook 辅助角色,请参阅在自动化中部署基于扩展的 Windows 或 Linux 用户混合 Runbook 辅助角色。 这是建议的方法。

网络规划

查看 Azure 自动化网络配置,以了解有关混合 Runbook 辅助角色所需的端口、URL 和其他网络的详细信息。

使用代理服务器

如果使用代理服务器在 Azure 自动化与运行 Log Analytics 代理的计算机之间通信,请确保能够访问相应的资源。 来自混合 Runbook 辅助角色和自动化服务的请求的超时为 30 秒。 三次尝试后,请求失败。

防火墙使用

如果使用防火墙来限制对 Internet 的访问,则必须将防火墙配置为允许访问。 如果将 Log Analytics 网关用作代理,请确保为混合 Runbook 辅助角色配置 Log Analytics 网关。 请参阅为自动化混合 Runbook 辅助角色配置 Log Analytics 网关

服务标记

Azure 自动化从服务标记 GuestAndHybridManagement 开始支持 Azure 虚拟网络服务标记。 可以在网络安全组Azure 防火墙中使用服务标记来定义网络访问控制。 创建安全规则时,可以使用服务标记代替特定 IP 地址。 在规则的相应源或目标字段中指定服务标记名称(例如 GuestAndHybridManagement),可以允许或拒绝自动化服务的流量。 此服务标记不支持通过将 IP 范围限制到特定区域来实现更精细控制的方法。

Azure 自动化服务的服务标记仅提供用于以下场景的 IP:

  • 从虚拟网络内触发 Webhook
  • 允许混合 Runbook 辅助角色或 VNet 中的 State Configuration 代理与自动化服务通信

备注

服务标记 GuestAndHybridManagement 当前不支持在 Azure 沙盒中执行 runbook 作业,仅允许直接在混合 Runbook 辅助角色中执行。

对影响级别 5 (IL5) 的支持

可在 Azure 政府中使用 Azure 自动化混合 Runbook 辅助角色,以下面两种配置中的任何一种来支持影响级别为 5 工作负载:

  • 独立虚拟机。 在部署时,对该计算机使用整个物理主机,从而提供支持 IL5 工作负载所需的必要隔离级别。

  • Azure 专用主机,可提供物理服务器,物理服务器可托管专用于一个 Azure 订阅的一个或多个虚拟机。

备注

通过混合 Runbook 辅助角色进行的计算隔离适用于 Azure 商业云和美国政府云。

混合 Runbook 辅助角色的更新管理地址

除了混合 Runbook 辅助角色所需的标准地址和端口,更新管理还具有网络规划部分下所述的其他网络配置要求。

混合 Runbook 辅助角色上的 Azure Automation State Configuration

可以在混合 Runbook 辅助角色上运行 Azure Automation State Configuration。 若要管理支持混合 Runbook 辅助角色的服务器的配置,必须将这些服务器添加为 DSC 节点。 请参阅启用要通过 Azure Automation State Configuration 进行管理的计算机

混合 Runbook 辅助角色上的 Runbook

可以使用 Runbook 来管理本地计算机上的资源,或者针对部署了用户混合 Runbook 辅助角色的本地环境中的资源运行 Runbook。 在这种情况下,可以选择在混合辅助角色上(而不是在自动化帐户中)运行 Runbook。 在混合 Runbook 辅助角色上运行的 Runbook 与在自动化帐户中运行的 Runbook 具有相同的结构。 请参阅在混合 Runbook 辅助角色上运行 Runbook

混合 Runbook 辅助角色作业

混合 Runbook 辅助角色作业在 Windows 上的本地系统帐户下运行,或在 Linux 上的 nxautomation 帐户下运行。 Azure 自动化处理混合 Runbook 辅助角色上的作业的方式不同于处理 Azure 沙盒中运行的作业的方式。 请参阅Runbook 执行环境

如果混合 Runbook 辅助角色托管计算机重新启动,则任何正在运行的 Runbook 将从头重启,或者从 PowerShell 工作流 Runbook 的最后一个检查点重启。 如果某个 Runbook 作业重启了 3 次以上,则它会暂停。

混合 Runbook 辅助角色的 Runbook 权限

由于在用户混合 Runbook 辅助角色上运行的 Runbook 可访问非 Azure 资源,因此无法使用通常由 Runbook 对 Azure 资源进行身份验证时所用的身份验证机制。 Runbook 可以针对本地资源提供其自己的身份验证,也可以配置使用 Azure 资源的托管标识的身份验证。 还可以指定运行方式帐户,为所有 Runbook 提供用户上下文。

查看系统混合 Runbook 辅助角色

在 Windows 或 Linux 计算机上启用“更新管理”功能之后,可以在 Azure 门户中以清单形式列出系统混合 Runbook 辅助角色组的内容。 你可以在门户中查看最多 2,000 个辅助角色,方法是从所选自动化帐户的左侧窗格的“混合辅助角色组”选项中选择“系统混合辅助角色组”选项卡。

自动化帐户系统混合辅助角色组页

如果混合辅助角色超过 2000 个,则若要获取所有这些辅助角色的列表,可运行以下 PowerShell 脚本:

"Get-AzSubscription -SubscriptionName "<subscriptionName>" | Set-AzContext
$workersList = (Get-AzAutomationHybridWorkerGroup -ResourceGroupName "<resourceGroupName>" -AutomationAccountName "<automationAccountName>").Runbookworker
$workersList | export-csv -Path "<Path>\output.csv" -NoClobber -NoTypeInformation"

后续步骤