示例:向维护时段注册目标 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例:向维护时段注册目标

您可以使用节点 ID 将单个节点注册为目标,如 步骤 2:将目标节点注册到维护时段 (Amazon CLI) 中所示。您还可以使用此页面的命令格式将一个或多个节点注册为目标。

一般情况下,有两种方法用于标识您要用作维护时段目标的节点:指定各个节点和使用资源标签。资源标签方法提供了更多选项,如示例 2-3 中所示。

您也可以指定一个或多个资源组作为维护时段的目标。资源组可包含节点和许多其他类型的受支持的 Amazon 资源。接下来的示例 4 和 5 演示如何将资源组添加到您的维护时段目标。

注意

如果将单个维护时段任务注册到多个目标,则其任务调用将按顺序进行,而不是并行发生。如果您的任务必须同时在多个目标上运行,请为每个目标分别注册一个任务,并为每个任务分配相同的优先级。

有关创建和管理资源组的更多信息,请参阅 Amazon Resource Groups 用户指南中的什么是资源组?,以及 Amazon 新闻博客中的 Amazon 的资源组和标记

有关 Maintenance Windows(一项 Amazon Systems Manager 功能)限额的信息,除以下示例中指定的信息外,请参阅 Amazon Web Services 一般参考 中的 Systems Manager 服务限额

示例 1:使用节点 ID 注册多个目标

在本地计算机上运行以下命令,使用多个节点的节点 ID 将它们注册为目标。将每个示例资源占位符替换为您自己的信息。

Linux & macOS
aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --resource-type "INSTANCE" \ --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE"
Windows
aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE ^ --resource-type "INSTANCE" ^ --target "Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE

建议使用:在首次将唯一一组节点注册到任何维护时段,并且这些节点共享公用节点标签时最有用。

配额:您总共可以为每个维护时段目标指定最多 50 个节点。

示例 2:使用应用到节点的资源标签注册目标

在本地计算机上运行以下命令,注册所有已使用您分配的键值对标记的节点。将每个示例资源占位符替换为您自己的信息。

Linux & macOS
aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --resource-type "INSTANCE" \ --target "Key=tag:Region,Values=East"
Windows
aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --resource-type "INSTANCE" ^ --target "Key=tag:Region,Values=East"

建议使用:在首次将唯一一组节点注册到任何维护时段,并且这些节点共享公用节点标签时最有用。

配额:您总共可以为每个目标指定最多 5 个键/值对。如果您指定了多个键/值对,则必须使用您指定的所有 标签键和值来标记节点,才能将该节点包含在目标组中。

注意

您可以使用标签键Patch GroupPatchGroup来标记一组节点并向节点分配通用键值,例如 my-patch-group。(如果在 EC2 实例元数据中允许使用标签,则必须使用 PatchGroup,且不能使用空格。)Patch Manager 是 Systems Manager 的一项功能,用于评估节点上的 Patch GroupPatchGroup 键,以帮助确定适用的补丁基准。如果您的任务将运行 AWS-RunPatchBaseline SSM 文档(或传统 AWS-ApplyPatchBaseline SSM 文档),则在将目标注册到维护时段时,可以指定相同的Patch GroupPatchGroup键值对。例如:--target "Key=tag:PatchGroup,Values=my-patch-group。这样做可让您使用维护时段,在已经与相同补丁基准关联的一组节点上更新补丁。有关更多信息,请参阅关于补丁组

示例 3:使用一组标签键(无标签值)注册目标

在本地计算机上运行以下命令,注册所有已分配有一个或多个标签键的节点(不考虑其键值)。将每个示例资源占位符替换为您自己的信息。

Linux & macOS
aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --resource-type "INSTANCE" \ --target "Key=tag-key,Values=Name,Instance-Type,CostCenter"
Windows
aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --resource-type "INSTANCE" ^ --target "Key=tag-key,Values=Name,Instance-Type,CostCenter"

建议使用:当您想要通过指定多个标签(无值),而非仅指定一个标签键或标签键值对来将节点设为目标时很有用。

配额:您总共可以为每个目标指定最多 5 个标签键。如果您指定了多个标签键,则必须使用您指定的所有标签键来标记节点,才能将该节点包含在目标组中。

示例 4:使用资源组名称注册目标

在本地计算机上运行以下命令,注册指定的资源组,而不管其包含的资源类型。将 mw-0c50858d01EXAMPLE 替换为您自己的信息。如果分配给维护时段的任务不会在此资源组中包含的某资源类型上执行操作,则系统可能会报告错误。尽管存在这些错误,但找到了支持的资源类型的任务仍会继续运行。

Linux & macOS
aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --resource-type "RESOURCE_GROUP" \ --target "Key=resource-groups:Name,Values=MyResourceGroup"
Windows
aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --resource-type "RESOURCE_GROUP" ^ --target "Key=resource-groups:Name,Values=MyResourceGroup"

建议使用:当您想要将资源组快速指定为目标而不评估维护时段是否将其所有资源类型设为目标时,或者当您知道资源组仅包含任务对其执行操作的资源类型时,此选项很有用。

限额:您只能将一个资源组指定为目标。

示例 5:通过筛选资源组中的资源类型来注册目标

在本地计算机上运行以下命令,只注册属于您所指定的资源组的某些资源类型。将 mw-0c50858d01EXAMPLE 替换为您自己的信息。使用此选项,即使您为属于资源组的资源类型添加任务,但如果尚未将资源类型显式添加到筛选器,则任务也不会运行。

Linux & macOS
aws ssm register-target-with-maintenance-window \ --window-id "mw-0c50858d01EXAMPLE" \ --resource-type "RESOURCE_GROUP" \ --target "Key=resource-groups:Name,Values=MyResourceGroup" \ "Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::Instance,AWS::ECS::Cluster"
Windows
aws ssm register-target-with-maintenance-window ^ --window-id "mw-0c50858d01EXAMPLE" ^ --resource-type "RESOURCE_GROUP" ^ --target "Key=resource-groups:Name,Values=MyResourceGroup" ^ "Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::Instance,AWS::ECS::Cluster"

建议使用:当您希望严格控制维护时段可在其上运行操作的 Amazon 资源的类型时,或者当您的资源组包含大量资源类型而您希望在维护时段日志中避免不必要的错误报告时,这非常有用。

限额:您只能将一个资源组指定为目标。