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

Azure 自动化更新管理

Azure 自动化
Azure Log Analytics
Azure Monitor
Azure 资源管理器
Azure 虚拟机

此参考体系结构演示如何设计混合更新管理解决方案,以管理 Microsoft Azure 以及本地 Windows 和 Linux 计算机上的更新。

体系结构

Azure 更新管理是 Azure 自动化的配置组件。Azure 以及本地中的 Windows 和 Linux 计算机将有关缺少更新的评估信息发送到 Log Analytics 工作区。然后,Azure 自动化使用该信息来为自动部署缺失更新创建计划。

下载此体系结构的 Visio 文件

工作流

该体系结构包括以下服务:

  • Log Analytics 工作区:Log Analytics 工作区是一个数据存储库,用于从 Azure、本地或其他云服务提供商中运行的资源收集日志数据。
  • 自动化混合辅助角色解决方案:创建混合 Runbook 辅助角色,在 Azure 和非 Azure 计算机上运行 Azure 自动化 Runbook。
  • 自动化帐户:是一种云服务,可跨 Azure 和非 Azure 环境自动执行配置和管理。
  • 混合 Runbook 辅助角色:是配置有混合 Runbook 辅助角色功能的计算机,其可直接对本地环境的计算机和资源运行 Runbook。
  • 混合 Runbook 辅助角色组:是一组混合 Runbook 辅助角色,可实现高可用性。
  • Runbook:是一项或多项链接活动集合,这些活动将一起自动执行某进程或操作。
  • 本地计算机和 VM:是具有本地 Windows 或 Linux 操作系统的本地计算机和 VM。
  • Azure VM:Azure VM 包括 Azure 中托管的 Windows 或 Linux VM。

组件

方案详细信息

此体系结构的典型用途包括:

  • 使用自动化帐户的更新管理组件在本地和 Azure 中管理更新。
  • 使用计划性部署,在定义的维护时段协调各种更新的安装。

建议

以下建议适用于大多数方案。 遵循这些建议,除非有优先于这些建议的特定要求。

更新管理

更新管理是自动化的配置组件。 Azure 和本地的 Windows 和 Linux 计算机将有关缺少更新的评估信息发送到 Log Analytics 工作区。 然后,Azure 自动化使用该信息为自动部署缺失更新创建计划。

以下步骤强调实际实现:

  1. 创建 Log Analytics 工作区。
  2. 创建自动化帐户。
  3. 链接自动化帐户和 Log Analytics 工作区。
  4. 为 Azure VM 启用更新管理。
  5. 为非 Azure 启用更新管理。

创建 Log Analytics 工作区

在创建 Log Analytics 工作区之前,请确保至少具有 Log Analytics 参与者角色权限。

可以将多个 Log Analytics 工作区用于数据隔离或数据存储地理位置,但可以将 Log Analytics 代理配置为向一个 Log Analytics 工作区报告。 有关详细信息,请在创建工作区之前查看设计 Azure Monitor 日志部署

通过以下步骤创建 Log Analytics 工作区:

  1. 通过 https://portal.azure.com 登录到 Azure 门户。
  2. 在 Azure 门户中,选择“创建资源”。
  3. 在“搜索市场”框中,输入 Log Analytics。 开始输入文本时,会根据输入筛选该列表。 选择“Log Analytics 工作区”。
  4. 选择“创建”,然后配置以下各项:
    1. 如果默认选择不合适,请在下拉列表中选择其他“订阅”。
    2. 对于资源组,选择要使用已设置的现有资源组,还是要创建一个新资源组。
    3. 为新的 Log Analytics 工作区提供唯一名称,例如 HybridWorkspace-yourname
    4. 选择部署的“位置”。
    5. 选择“定价层”以继续执行自定义。
    6. 如果在 2018 年 4 月 2 日后创建的订阅中创建工作区,则它将自动使用“每 GB”定价计划,并且不提供用于选择定价层的选项。 如果是为该时间之前创建的现有订阅创建工作区,或者是为绑定到现有企业协议注册的订阅创建工作区,则可以选择首选定价层。 有关特定层的详细信息,请参阅 Log Analytics 定价详细信息
    7. 选择“标记”,并选择提供资源分类的名称和值。
    8. 选择“查看 + 创建” 。
  5. 在“Log Analytics 工作区”窗格中提供所需的信息后,选择“创建”。

创建自动化帐户

将自动化混合辅助角色解决方案添加到 Log Analytics 工作区后,继续创建自动化帐户。 请参阅链接的 Log Analytics 工作区的支持区域,选择自动化帐户和 Log Analytics 工作区的区域。 请务必基于区域映射文档创建自动化帐户,最好与 Log Analytics 工作区位于同一资源组中。

使用下列过程创建自动化帐户:

  1. 在 Azure 门户中,选择“创建资源”。
  2. 在“搜索市场”框中,输入“自动化”。 开始输入文本时,会根据输入筛选该列表。 选择“自动化”,然后选择“创建”。
  3. 选择“创建”,然后配置以下各项:
    1. 为自动化帐户提供名称,例如 hybrid-auto。
    2. 如果默认选择不合适,请在下拉列表中选择其他“订阅”。
    3. 对于资源组,请选择要在其中创建自动化帐户的同一资源组。
    4. 根据区域映射文档选择“位置”。
    5. 创建 Azure 运行方式帐户是可选的,因为只支持向 Azure 进行身份验证,以管理自动化 Runbook 中的 Azure 资源。
  4. 在“添加自动化帐户”窗格中提供所需信息后,选择“创建”。

自动化帐户使用在 Log Analytics 工作区中部署的混合 Runbook 辅助角色组件。 在本地计算机上部署 Log Analytics 代理之前,必须先集成这些服务。 目前,多个区域支持 Log Analytics 工作区和自动化帐户之间的映射。 有关详细信息,请参阅链接的 Log Analytics 工作区支持的区域

使用以下过程链接自动化帐户和 Log Analytics 工作区:

  1. 在 Azure 门户中,选择“所有服务”,然后输入“自动化”。 开始输入文本时,会根据输入筛选该列表。 选择“自动化帐户”,然后选择之前创建的自动化帐户。
  2. 在“自动化帐户”窗格的“更新管理”部分中的“更新管理”。
  3. 在“更新管理”窗格中,配置以下项:
    1. 如果默认选择不合适,请在下拉列表中选择其他“订阅”。
    2. 对于 Log Analytics 工作区,请选择现有的 Log Analytics 工作区;例如,HybridWorkspace-yourname。
  4. 在“更新管理”窗格中提供所需信息后,选择“启用”。

为 Azure VM 启用更新管理

使用以下工具为 Azure VM 启用更新管理:

使用以下过程为 Azure VM 启用更新管理:

  1. 在 Azure 门户中,选择“所有服务”,然后输入“自动化”。 开始输入文本时,会根据输入筛选该列表。 选择“自动化帐户”,然后选择之前创建的自动化帐户。
  2. 在“自动化帐户”窗格的“更新管理”部分中的“更新管理”。
  3. 在“更新管理”窗格中,选择“添加 Azure VM”,选择一个或多个已准备好进行更新管理的 VM,然后选择“启用”。

部署 Log Analytics 代理并连接到 Log Analytics 工作区

部署混合 Runbook 辅助角色组件属于部署 Log Analytics 代理的一部分。

如果使用 Azure VM 测试解决方案,则可以使用适用于 LinuxWindows 的 VM 扩展在现有 Log Analytics 工作区中安装 Log Analytics 代理并注册 VM。 还可以使用 Azure 自动化 Desired State Configuration、Windows PowerShell 脚本,或者使用 VM 的资源管理器模板来部署代理。 有关详细信息,请参阅将 Windows 计算机连接到 Azure Monitor

对于非 Azure VM,请在环境中的物理 Windows 和 Linux 计算机或 VM 上使用手动或自动化过程部署代理。

对于 Windows 计算机,请将代理配置为使用传输层安全性 (TLS) 1.2 协议与 Log Analytics 服务通信。 有关部署过程的详细说明,请参阅将 Windows 计算机连接到 Azure Monitor

可以按以下方式部署适用于 Linux 的 Log Analytics 代理:

  • 通过使用包含 Debian 和 Red Hat 包管理器 (RPM) 的 shell 脚本捆绑包为每个代理组件进行手动部署。 如果 Linux 计算机没有连接到 Internet,并且将通过 Log Analytics 网关与 Log Analytics 服务通信,则建议采用此方式。
  • 通过使用计算机连接到 Internet 时托管在 GitHub 上的包装脚本来进行部署。

必须将 Log Analytics 代理配置为使用 Log Analytics 工作区的工作区 ID 和密钥与 Log Analytics 工作区通信。

使用以下过程部署 Log Analytics 代理并连接到 Log Analytics 工作区:

  1. 在 Azure 门户中,搜索并选择“Log Analytics 工作区”。
  2. 在 Log Analytics 工作区列表中,选择代理用于报告的工作区。
  3. 选择“代理管理”。
  4. 将工作区 ID 和主密钥复制并粘贴到常用编辑器。
  5. 在 Log Analytics 工作区中,从先前浏览到的“Windows 服务器”页,根据 Windows 操作系统的处理器体系结构选择相应的“下载 Windows 代理”版本。
  6. 运行安装程序在计算机上安装该代理。
  7. 在“欢迎”页上,选择“下一步”。
  8. 在“许可条款”页面上阅读许可协议,然后选择“我接受”。
  9. 在“目标文件夹”页面上更改或保留默认安装文件夹,然后选择“下一步”。
  10. 在“代理安装选项”页上,选择将代理连接到 Azure Log Analytics,然后选择“下一步”。
  11. 在“Azure Log Analytics”页上执行以下步骤:
    1. 粘贴前面复制的“工作区 ID”和“工作区密钥(主密钥)”。 如果计算机向 Microsoft Azure 政府云中的 Log Analytics 工作区报告,请在“Azure 云”下拉列表中选择“Azure 美国政府”。
    2. 如果计算机需要通过代理服务器来与 Log Analytics 服务通信,请选择“高级”,然后提供代理服务器的 URL 和端口号。 如果代理服务器要求身份验证,请输入用于在代理服务器上进行身份验证的用户名和密码,并选择“下一步”。
  12. 提供所需的配置设置后,选择“下一步”。

为非 Azure 计算机启用更新管理

在非 Azure 计算机上启用更新管理具有以下先决条件:

  • 部署 Log Analytics 代理并连接到 Log Analytics 工作区。

前面的过程说明了如何配置这些先决条件。

在本地计算机上安装 Log Analytics 代理后,使用以下过程在 Azure 门户中启用更新管理:

  1. 在 Azure 门户中,选择“所有服务”,然后输入“自动化”。 开始输入文本时,会根据输入筛选该列表。 选择“自动化帐户”,然后选择之前创建的自动化帐户。
  2. 在“自动化帐户”窗格的“更新管理”部分中的“更新管理”。
  3. 在“更新管理”窗格中,选择“管理计算机”,然后选择列出并已配置为将日志数据发送到 Log Analytics 工作区的计算机。
  4. 选择“启用”以完成非 Azure 计算机上的更新管理配置。

更新管理托管的每个 Windows 计算机都会作为自动化帐户的一个“系统混合辅助角色组”列在“混合辅助角色组”窗格中。 仅使用这些组部署更新,而不适用于将 Runbook 用于自动化任务的组。

注意事项

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

可管理性

管理 Azure VM 和非 Azure 计算机的更新

自动化帐户的“更新管理”部分中会显示 Azure VM 和非 Azure 计算机需要的所有缺失更新的更新评估。

使用 Azure 门户或使用 PowerShell 计划更新部署,这会创建链接到 Patch-MicrosoftOMSComputers Runbook 的计划资产。

使用以下过程来计划新的更新部署:

  1. 在自动化帐户中,转到“更新管理”下的“更新管理”,然后选择“安排更新部署” 。

  2. 在“新建更新部署”下的“名称”框中输入部署的唯一名称。

  3. 选择更新部署的目标操作系统。

  4. 在“要更新的组”窗格中,定义一个组合了订阅、资源组、位置和标记的查询,以生成要包括在部署中的 Azure VM 动态组。 要了解详细信息,请参阅将动态组与更新管理配合使用

  5. 在“要更新的计算机”窗格,选择已保存的搜索、已导入的组或者从下拉菜单中选择“计算机”,然后选择各个计算机。

  6. 使用“更新分类”下拉菜单为产品指定更新分类

  7. 使用“包括/排除更新”窗格来选择要部署的特定更新。

  8. 选择“计划”设置以定义更新部署将在计算机上运行的时间。

  9. 使用“定期”框指定是部署一次还是使用定期计划,然后选择“确定”。

  10. 在“前脚本 + 后脚本(预览)”区域,选择要在部署前和部署后运行的脚本。 若要了解详细信息,请参阅管理前脚本和后脚本

  11. 使用“维护时段(分钟)”框来指定安装更新的允许时长。

  12. 使用“重新启动选项”框指定部署过程中处理重新启动的方式。

  13. 配置部署计划后,选择“创建”。

已完成更新部署的结果显示在“历史记录”选项卡上的“更新管理”窗格中。

配置 Windows 更新设置

Azure 更新管理依赖于 Windows 更新客户端,从 Windows 更新(默认设置)或 Windows Server Update Server 下载和安装更新。 配置 Windows 更新客户端设置,使用以下方法连接到 Windows Server Update Services (WSUS):

  • 本地组策略编辑器
  • 组策略
  • PowerShell
  • 直接编辑注册表

有关详细信息,请参阅如何配置 Windows 更新设置

将更新管理与 Microsoft Endpoint Configuration Manager 集成

软件更新管理周期可与 Microsoft Endpoint Configuration Manager 集成,供使用此产品的客户管理电脑、服务器和移动设备。

若要将软件更新管理与 Endpoint Configuration Manager 集成,请先将 Endpoint Configuration Manager 与 Azure Monitor 日志集成,并在 Log Analytics 工作区中导入集合。

有关详细信息,请参阅将 Configuration Manager 连接到 Azure Monitor

若要管理本地计算机上的更新,请使用:

  • Endpoint Configuration Manager 客户端。
  • 配置为向启用了更新管理的 Log Analytics 工作区报告的 Log Analytics 代理。
  • 配置为与 WSUS 通信或有权访问 Microsoft 更新的 Windows 代理。

若要使用 Endpoint Configuration Manager 管理计算机上的更新,请在 Endpoint Configuration Manager 计算机上部署以下角色:

  • 管理点。 此站点系统角色使用包含配置设置和服务位置信息的策略来管理客户端。
  • 分发点。 这包含客户端的源文件。
  • 软件更新点。 这是托管 WSUS 的服务器上的一个角色。

使用以下方法管理软件更新:

  • Endpoint Configuration Manager
  • Azure 自动化

可以从 System Center Updates Publisher (SCUP) 提供的自定义存储库中部署 Windows 计算机上的合作伙伴更新。 SCUP 可以在独立 WSUS 中导入自定义更新,也可以与 Endpoint Configuration Manager 集成。

有关详细信息,请参阅将更新管理与 Windows Endpoint Configuration Manager 集成

使用 PowerShell 脚本来部署 Log Analytics 代理

如需通过 Windows 计算机上运行的混合辅助角色来加速部署 Log Analytics 代理,请使用 PowerShell 脚本 New-OnPremiseHybridWorker.ps1。 脚本:

  • 安装所需的模块。
  • 使用 Azure 帐户登录。
  • 验证是否存在指定的资源组和自动化帐户。
  • 创建对自动化帐户属性的引用。
  • 如果未指定,请创建 Azure Monitor Log Analytics 工作区。
  • 在工作区中启用自动化解决方案。
  • 下载并安装适用于 Windows 操作系统的 Log Analytics 代理。
  • 将计算机注册为混合 Runbook 辅助角色。

在本地基础结构中部署许多代理时,可以通过使用命令行脚本和组策略或 Endpoint Configuration Manager 进行协调。

对 Azure 和非 Azure 计算机使用动态组

Azure VM 的动态组基于以下组合筛选 VM:

  • 订阅
  • 资源组
  • 位置
  • Tags

非 Azure 计算机的动态组使用保存的搜索来筛选计算机以部署更新。 可以使用以下方法创建保存的搜索(也称为计算机组):

  • 日志查询。 使用 Azure 数据资源管理器来定义逻辑表达式以筛选计算机。
  • Active Directory 域服务。 在 Log Analytics 工作区中为 Active Directory 域的任何成员创建组。
  • Endpoint Configuration Manager。 将计算机集合从 Endpoint Configuration Manager 导入 Log Analytics 工作区。
  • WSUS。 在 WSUS 服务器中创建的组可以导入到 Log Analytics 工作区中。

有关如何创建计算机组以筛选计算机进行更新部署的详细信息,请参阅 Azure Monitor 日志查询中的计算机组

可伸缩性

Azure 自动化的每次更新部署最多可以处理 1,000 台计算机。 如果希望更新 1000 台以上计算机,可以将更新拆分为多个更新计划。 请参阅 Azure 订阅和服务限制、配额和约束条件

可用性

  • 目前,多个区域支持 Log Analytics 工作区和自动化帐户之间的映射。 有关详细信息,请参阅链接的 Log Analytics 工作区支持的区域
  • 支持的客户端类型:在 Azure 或本地环境中运行的 Windows 和 Linux 计算机支持更新评估和修补。 目前,Windows 客户端不受支持。 有关受支持的客户端列表,请参阅支持的客户端类型

安全性

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

  • 更新管理权限:自动化的更新管理组件和 Monitor 的 Log Analytics 工作区组件可以使用 Azure 基于角色的访问控制 (Azure RBAC),其 Azure 资源管理器中具有内置角色。 为了分离职责,可以将这些角色分配给不同的用户、组和安全主体。 有关自动化帐户中角色的列表,请参阅管理角色权限和安全性
  • 在自动化中加密敏感资产:自动化帐户可包含凭据、证书和可能由 Runbook 使用的加密变量等敏感资产。 默认情况下,每个安全资产都使用为各自动化帐户生成的数据加密密钥加密。 这些密钥使用帐户加密密钥在自动化中加密并存储,帐户加密密钥可以存储在 Azure 密钥保管库中,供想用自己的密钥管理加密的客户使用。 默认情况下,使用 Microsoft 管理的密钥对帐户加密密钥进行加密。 使用以下准则在Azure 自动化中进行安全资产加密
  • 混合 Runbook 辅助角色的 Runbook 权限:默认情况下,混合 Runbook 辅助角色的 Runbook 权限在部署它们的计算机系统上下文中运行。 Runbook 向本地资源提供自身的身份验证。 可以通过使用 Azure 资源的托管标识或指定运行方式帐户为所有 Runbook 提供用户上下文来配置身份验证。
  • 网络规划:混合 Runbook 辅助角色需要通过 TCP 端口 443 进行出站 Internet 访问才能与自动化通信。 对于具有受限 Internet 访问权限的计算机,可以使用 Log Analytics 网关配置与自动化和 Azure Log Analytics 工作区的通信。
  • 适用于自动化的 Azure 安全基线:适用于自动化的 Azure 安全基线包含有关如何提高整体安全性以按照最佳做法指南保护资产的建议。

DevOps

  • 可以通过 REST API 以编程方式计划更新部署。 有关详细信息,请参阅软件更新配置 - 创建
  • Azure 自动化可实现与 Azure DevOps 和 GitHub 等常用源代码管理系统之间的集成。 通过源代码管理,可以集成现有开发环境,其中包含之前在独立环境中测试过的脚本和自定义代码。
  • 更多有关如何将自动化与源代码管理环境集成的信息,请参阅使用源代码管理集成

成本优化

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

  • 使用 Azure 定价计算器估算成本。 有关自动化定价模型的详细信息,请参阅自动化定价
  • Azure 自动化成本按分钟执行的作业或每个节点的配置管理进行定价。 每个月,可以在 5 个节点上和前 500 分钟内免费进行过程自动化和配置管理。
  • Azure Log Analytics 工作区会可能产生更多与 Azure Log Analytics 中存储的日志数据量相关的成本。 基于消耗量进行定价,且成本与数据引入和数据保留相关联。 将数据引入 Azure Log Analytics 时,请使用产能预留或即用即付模型,其中每月每个计费帐户有 5 GB (GB) 免费。 前 31 天的数据保留免费。
  • 使用 Azure 定价计算器估算成本。 有关 Log Analytics 定价模型的详细信息,请参阅 Azure Monitor 定价

作者

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

首席作者:

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

后续步骤

Azure 自动化的详细信息: