你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

混合环境中的 Azure 自动化

Azure 自动化
Azure 门户
Azure Monitor
Azure 虚拟机
Azure Arc

重要

Azure 自动化基于代理的用户混合 Runbook 辅助角色(Windows 和 Linux)将于 2024 年 8 月 31 日停用,在此日期之后不再受支持。 必须在 2024 年 8 月 31 日之前将现有基于代理的用户混合 Runbook 辅助角色迁移到基于扩展的辅助角色。 此外,从 2023 年 10 月 1 日开始,无法创建新的基于代理的混合辅助角色。 了解详细信息

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

体系结构

Architecture diagram that shows Azure Automation in a user Hybrid Runbook Worker.

下载此体系结构的 Visio 文件

工作流

混合 Runbook 辅助角色体系结构包括下列内容:

  • 自动化帐户:一种云服务,可跨 Azure 和非 Azure 环境自动执行配置和管理。
  • 混合 Runbook 辅助角色:配置有混合 Runbook 辅助角色功能的计算机,其可直接对本地环境的计算机和资源执行 Runbook。
  • 混合 Runbook 辅助角色组:使用多个混合 Runbook 辅助角色进行分组,实现更高的可用性和缩放,从而运行一组 Runbook。
  • Runbook:一项或多项链接活动集合,这些活动将一起自动执行某进程或操作。 了解详细信息
  • 本地计算机和 VM:托管在专用局域网中的 Windows 或 Linux 本地计算机和 VM。
  • 适用于基于扩展的方法的组件 (V2)
    • 混合 Runbook 辅助角色 VM 扩展:安装在计算机上的小型应用程序。 该应用程序将计算机配置为混合 Runbook 辅助角色。
    • 已启用 Arc 的服务器:利用已启用 Azure Arc 的服务器,可以管理位于 Azure 外部的 Windows 和 Linux 计算机以及虚拟机,无论是在公司网络上还是在其他云提供商上。 这种管理体验旨在与原生 Azure 虚拟机的管理方式保持一致。 了解详细信息
  • 适用于基于代理的方法的组件 (V1)
    • Log Analytics 工作区:Log Analytics 工作区是一个数据存储库,用于从 Azure、本地或其他云服务提供商中运行的资源收集日志数据。
    • 自动化混合辅助角色解决方案:利用该解决方案可创建混合 Runbook 辅助角色,在 Azure 和非 Azure 计算机上运行 Azure 自动化 Runbook。

用户混合 Runbook 辅助角色

Architecture diagram that shows Azure Automation in a user Hybrid Runbook Worker.

下载此体系结构的 Visio 文件

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

系统混合 Runbook 辅助角色

Architecture diagram that shows Azure Automation in a System Hybrid Runbook Worker

下载此体系结构的 Visio 文件

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

在混合 Runbook 辅助角色上的执行作业

在用户混合 Runbook 辅助角色中启动 Runbook 时,可以指定该辅助角色会在其中运行的组。 组中的每个辅助角色都会轮询 Azure 自动化以查看是否有可用作业。 如果作业可用,获取作业的第一个辅助角色将执行该作业。 作业队列的处理时间取决于混合辅助角色硬件配置文件和负载。 不能指定特定的辅助角色。 混合辅助角色使用轮询机制(每 30 秒一次),并遵循先到先服务的顺序。

组件

  • Azure 自动化是用于自动执行云管理任务的一项 Azure 服务。 利用混合 Runbook 辅助角色功能,可以在位于数据中心的计算机上运行 Runbook,以便管理本地资源。
  • Azure Monitor 让你能够完整监视应用程序、基础结构和网络。 Azure Monitor 日志是 Azure Monitor 的一项功能,用于从受监视的资源收集并整理日志和性能数据。 Log Analytics 是 Azure 门户中的一个工具,用于查询日志和分析结果

方案详细信息

混合 Runbook 辅助角色安装方法

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

平台 说明
基于扩展 (V2) 通过使用混合 Runbook 辅助角色 VM 扩展安装,无需依赖于向 Azure Monitor Log Analytics 工作区报告的 Log Analytics 代理的报告活动。 这是建议采用的方法,它能实现无缝加入且便于管理。
基于代理 (V1) 在 Log Analytics 代理完成向 Azure Monitor Log Analytics 工作区的报告后安装。

混合辅助角色可与两个平台共存:“基于代理(V1)”和“基于扩展(V2)” 。 如果在已运行“基于代理(V1)”平台的混合辅助角色上安装“基于扩展(V2)”平台,则会在组中看到两个混合 Runbook 辅助角色条目。 一个条目使用“基于扩展(V2)”平台,另一个使用“基于代理(V1)”平台 。 了解详细信息

Runbook 辅助角色类型

有两种类型的 Runbook 辅助角色:系统和用户。

“系统”支持由“更新管理”功能使用的隐藏 runbook。 Runbook 旨在用于在 Windows 和 Linux 计算机上安装用户指定的更新。 此类型的混合 Runbook 辅助角色不是混合 Runbook 辅助角色组的成员,因此不会运行面向 Runbook 辅助角色组的 Runbook。

“用户”支持预期在 Windows 和 Linux 计算机上直接运行的用户定义的 Runbook,这些 Runbook 是一个或多个 Runbook 辅助角色组的成员。

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

基于代理 (V1) 的混合 Runbook 辅助角色依赖于 Log Analytics 代理向 Azure Monitor Log Analytics 工作区报告。 该工作区不只是用于收集计算机中的监视数据,还可以用于下载安装基于代理的混合 Runbook 辅助角色所需的组件。 启用 Azure 自动化更新管理后,连接到 Log Analytics 工作区的任何计算机都会自动配置为系统混合 Runbook 辅助角色。

可能的用例

  • 如需直接在现有 Azure 虚拟机 (VM) 或本地已启用 Arc 的服务器上执行 Azure 自动化 Runbook。
  • 克服 Azure 自动化沙盒限制。 常见方案包括对云作业执行超过三小时限制的长时间运行操作、执行资源密集型自动化操作、与在本地或混合环境中运行的本地服务交互,以及运行需要提升权限的脚本等。
  • 由于治理和安全性原因,克服了对在 Azure 中保存数据的组织限制。 即使不能在云中执行自动化作业,但你也可以在作为混合 Runbook 辅助角色加入的本地计算机上运行它们。
  • 针对在本地、混合或多云环境中运行的多个非 Azure 资源自动执行操作。 可以将其中一台计算机作为混合 Runbook 辅助角色加入,并在其余本地计算机上以自动化为目标。
  • 如需通过 Azure 虚拟网络 (VNet) 以私密方式访问其他服务,而无需打开到 Internet 的出站连接,可以在连接到 Azure 虚拟网络的混合辅助角色上执行 Runbook。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述

  • 含配置混合辅助角色的多台计算机的混合 Runbook 辅助角色可提供高可用性,因为 Runbook 将仅在运行和且健康状况良好的服务器上启动。
  • 基于扩展的 (V1) 混合 Runbook 辅助角色仅支持用户混合 Runbook 辅助角色类型,不包括更新管理功能所需的系统混合 Runbook 辅助角色。
  • 以下内容仅适用于基于代理的方法 (V1)。 目前,多个区域支持 Log Analytics 工作区和自动化帐户之间的映射。 详细信息请参阅链接 Log Analytics 工作区支持的区域

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

  • 在自动化中加密敏感资产:Azure 自动化帐户可包含凭据、证书、连接和可能由 Runbook 使用的加密变量等敏感资产。 默认情况下,每个安全资产都使用为各自动化帐户生成的数据加密密钥加密。 这些密钥使用帐户加密密钥 (AEK) 在 Azure 自动化中加密并存储,AEK 可以存储在密钥保管库中,供想用自己的密钥管理加密的客户使用。 默认情况下,AEK 使用 Microsoft 托管的密钥加密。 使用以下准则在Azure 自动化中进行安全资产加密
  • Runbook 权限:默认情况下,混合 Runbook 辅助角色的 Runbook 权限在部署它们的计算机系统上下文中运行。 Runbook 向本地资源提供自身的身份验证。 可以通过使用 Azure 资源的托管标识或指定运行方式帐户为所有 Runbook 提供用户上下文来配置身份验证。
  • 网络规划
    • 如果使用代理服务器在 Azure 自动化与运行混合 Runbook 辅助角色的计算机之间通信,请确保能够访问相关资源。 来自混合 Runbook 辅助角色和自动化服务的请求的超时为 30 秒。 三次尝试后,请求失败。
    • 混合 Runbook 辅助角色需要通过 TCP 端口 443 进行出站 Internet 访问才能与自动化通信。 如果使用防火墙来限制对 Internet 的访问,则必须将防火墙配置为允许访问。 对于基于代理 (V1) 的计算机(具有受限 Internet 访问权限),请使用 Log Analytics 网关配置与 Azure 自动化 和 Azure Log Analytics 工作区的通信。
    • 配置基于扩展的 Linux 混合 runbook 辅助角色时,CPU 配额限制为 5%。 Windows 基于扩展的混合 Runbook 辅助角色没有此类限制。
  • 适用于自动化的 Azure 安全基线适用于自动化的 Azure 安全基线包含有关如何提高安全配置以按照最佳做法指南保护资产的建议。

成本优化

成本优化是关于寻找减少不必要开支和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述

  • Azure 自动化成本按分钟计算作业执行费用。 每个月前 500 分钟的流程自动化免费。 使用 Azure 定价计算器估算成本。 有关 Azure 自动化定价模型的详细信息,请参阅自动化定价
  • 对于基于代理的方法 (V1),Azure Log Analytics 工作区可能会产生与存储在 Azure Log Analytics 中的日志数据量相关的额外成本。 定价模型基于消耗情况。 成本与数据引入和数据保留有关。 将数据引入 Azure Log Analytics 时,请使用容量预留或即用即付模型,其中每月每个计费帐户有 5 GB (GB) 免费。 前 31 天的数据保留免费。 有关 Log Analytics 的定价模型,请参阅 Azure Monitor 定价

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅卓越运营支柱概述

可管理性

  • 与基于代理的方法 (V1) 相比,基于扩展的方法 (V2) 通过以下方式实现便捷管理:
    • 与混合 Runbook 辅助角色的 ARM 标识进行本机集成,通过策略和模板提供大规模治理的灵活性。
    • 集中控制和管理标识和资源凭据,因为它使用的是 Microsoft Entra ID 提供的 VM 系统分配标识。
    • 加入和解除混合 Runbook 辅助角色时,Azure 和非 Azure 计算机的统一体验。
  • 仅适用于基于代理的方法 (V1):
    • 如需通过 Windows 计算机上运行的混合辅助角色加速部署 Log Analytics 代理,请使用 PowerShell 脚本 New-OnPremiseHybridWorker.ps1
    • 在本地基础结构中部署多个代理可以使用命令行脚本进行安排,并使用组策略或 System Center Configuration Manager 进行部署。

DevOps

  • Azure 自动化可实现与常用源代码管理系统、Azure DevOps 和 GitHub 集成。 通过源代码管理,可以集成现有开发环境,其中包含之前在独立环境中测试过的脚本和自定义代码。
  • 有关如何将 Azure 自动化与源代码管理环境集成的信息,请参阅使用源代码管理集成

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

首席作者:

若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。

后续步骤

Azure 自动化的详细信息:

详细了解 Azure Monitor 和 Monitor 日志: