补丁组 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

补丁组

重要

补丁组不会用于基于补丁策略的修补操作。有关使用补丁策略的更多信息,请参阅 Quick Setup 中的补丁策略配置

您可以使用补丁组,将托管式节点与 Patch Manager(Amazon Systems Manager 的一项功能)中的特定补丁基准关联。补丁组根据关联的补丁基准规则,帮助确保您将合适的补丁部署到正确的节点集。另外还可以帮助您避免过早地部署补丁(在对补丁进行充分测试之前)。例如,您可以为不同的环境(例如,开发环境、测试环境和生产环境)创建补丁组,并将每个补丁组注册到合适的补丁基准。

运行 AWS-RunPatchBaseline 时,您可以使用托管式节点 ID 或标签将托管式节点设为目标。SSM Agent 和 Patch Manager 会基于您添加到托管式节点的补丁组值评估要使用的补丁基准。

您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 标签创建补丁组。与其他跨 Systems Manager 的标记方案不同,必须使用标签键Patch GroupPatchGroup定义补丁组。请注意,此键区分大小写。您可以指定任何值来帮助您识别和定位该组中的资源,例如“web servers”或“US-EAST-PROD”,但键必须是 Patch GroupPatchGroup

创建补丁组和标记托管式节点后,可以使用补丁基准注册补丁组。将补丁组注册到补丁基准可确保补丁组内的节点使用关联的补丁基准中定义的规则。

有关如何创建补丁组并将补丁组与补丁基准关联的更多信息,请参阅 创建和管理补丁组将补丁组添加到补丁基准

要查看使用 Amazon Command Line Interface (Amazon CLI) 创建补丁基准和补丁组的示例,请参阅 教程:使用 Amazon CLI 修补服务器环境。有关使用 Amazon EC2 标签的信息,请参阅《Amazon EC2 用户指南》中的标记您的 Amazon EC2 资源

工作方式

当系统运行将补丁基准应用于托管式节点的任务时,SSM Agent 会验证是否为该节点定义了补丁组值。如果该节点已分配给一个补丁组,Patch Manager 会验证哪个补丁基准注册到了该组。如果找到了该组的补丁基准,Patch Manager 将通知 SSM Agent 使用关联的补丁基准。如果没有为补丁组配置节点,Patch Manager 会自动通知 SSM Agent 使用当前配置的默认补丁基准。

重要

一个托管式节点只能在一个补丁组中。

对每个操作系统类型,一个补丁组只能注册一个补丁基准。

如果在实例上启用 Allow tags in instance metadata(允许在实例元数据中使用标签)选项,则无法将 Patch Group 标签(带空格)应用于 Amazon EC2 实例。允许在实例元数据中使用标签会导致标签密钥名称不得包含空格。如果在 EC2 实例元数据中允许使用标签,则必须使用标签键 PatchGroup(不带空格)。

图 1:修补操作流程的一般示例

下图显示了 Systems Manager 在将 Run Command 任务发送到您的服务器实例集以使用 Patch Manager 进行修补时执行的流程的一般示例。这些流程决定了在修补操作中使用哪些补丁基准。(当维护时段配置为使用 Patch Manager 发送命令进行修补时,会使用类似的流程。)

整个流程如下图所示。

用于确定在执行修补操作时要使用哪些补丁基准的 Patch Manager 工作流。

在本示例中,我们有三组 Windows Server EC2 实例,其应用了以下标签:

EC2 实例组 标签

组 1

key=OS,value=Windows

key=PatchGroup,value=DEV

组 2

key=OS,value=Windows

组 3

key=OS,value=Windows

key=PatchGroup,value=QA

在本示例中,我们还有这两个 Windows Server 补丁基准:

补丁基准 ID 默认 关联的补丁组

pb-0123456789abcdef0

Default

pb-9876543210abcdef0

DEV

使用 Run Command( Amazon Systems Manager 的一个功能)和 Patch Manager 扫描或安装补丁的一般流程,如下所示:

  1. 发送修补命令:使用 Systems Manager 控制台、SDK、 Amazon Command Line Interface (Amazon CLI) 或 Amazon Tools for Windows PowerShell 使用文档 AWS-RunPatchBaseline 发送 Run Command 任务。该图显示了将标签 key=OS,value=Windows 指定为目标执行修补托管实例的 Run Command 任务。

  2. 补丁基准确定:SSM Agent 验证应用到 EC2 实例的补丁组标签,并查询 Patch Manager 查找相应的补丁基准。

    • 与补丁基准关联的匹配的补丁组值:

      1. 在组 1 中的 EC2 实例上安装的 SSM Agent 收到步骤 1 中发出的命令后开始修补操作。SSM Agent 验证 EC2 实例是否应用了补丁组标签值 DEV 并查询 Patch Manager 以查找关联的补丁基准。

      2. Patch Manager 验证补丁基准 pb-9876543210abcdef0 是否关联了补丁组 DEV 并通知 SSM Agent。

      3. SSM Agent 根据在 pb-9876543210abcdef0 中配置的批准规则和例外从 Patch Manager 检索补丁基准快照,然后继续执行下一步。

    • 未将补丁组标签添加到实例:

      1. 在组 2 中的 EC2 实例上安装的 SSM Agent 收到步骤 1 中发出的命令后开始修补操作。SSM Agent 验证 EC2 实例是否未应用 Patch GroupPatchGroup 标签,并因此 SSM Agent 查询 Patch Manager 以查找默认的 Windows 补丁基准。

      2. Patch Manager 验证默认的 Windows Server 补丁基准是否是 pb-0123456789abcdef0 并通知 SSM Agent。

      3. SSM Agent 根据在默认的补丁基准 pb-0123456789abcdef0 中配置的批准规则和例外从 Patch Manager 检索补丁基准快照,然后继续执行下一步。

    • 没有与补丁基准关联的匹配的补丁组值:

      1. 在组 3 中的 EC2 实例上安装的 SSM Agent 收到步骤 1 中发出的命令后开始修补操作。SSM Agent 验证 EC2 实例是否应用了补丁组标签值 QA 并查询 Patch Manager 以查找关联的补丁基准。

      2. Patch Manager 没有找到关联了补丁组 QA 的补丁基准。

      3. Patch Manager 通知 SSM Agent 使用默认的 Windows 补丁基准 pb-0123456789abcdef0

      4. SSM Agent 根据在默认的补丁基准 pb-0123456789abcdef0 中配置的批准规则和例外从 Patch Manager 检索补丁基准快照,然后继续执行下一步。

  3. 补丁扫描或安装:确定要使用的合适的补丁基准后,SSM Agent 将根据步骤 1 中指定的操作值开始扫描或安装补丁。扫描或安装的补丁由在 Patch Manager 提供的补丁基准快照中定义的批准规则和补丁例外确定。