AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建关联

此部分介绍如何使用 AWS Systems Manager 控制台、AWS Command Line Interface (AWS CLI) 或 AWS Tools for Windows PowerShell 创建 状态管理器 关联。

重要

以下过程用于创建与 CommandPolicy 文档的关联。有关创建使用 Automation 文档的关联的信息,请参阅使用 状态管理器 通过触发器运行 Automation 工作流程

创建 状态管理器 关联时,关联立即在指定的实例或目标上运行。在初始执行后,关联根据定义的计划和以下规则按间隔运行:

  • 关联仅在间隔开始时处于在线状态的实例上运行。将跳过离线实例。

  • 状态管理器 在间隔期间会尝试在所有已配置的实例上运行关联。

  • 如果在间隔期间未运行某一关联(例如,由于并发值限制了一次可以处理关联的实例数),状态管理器 将尝试在下一个间隔期间运行该关联。

  • 状态管理器 会记录所有已跳过间隔的历史记录。可在 Execution History (执行历史记录) 选项卡上查看历史记录。

创建关联 (控制台)

以下过程介绍了如何使用 Systems Manager 控制台创建使用目标和速率控制的 状态管理器 关联。

创建 状态管理器 关联

  1. 通过以下网址打开 AWS Systems Manager 控制台:https://console.amazonaws.cn/systems-manager/

  2. 在导航窗格中,选择 状态管理器,然后选择 Create association (创建关联)

  3. Name (名称) 字段中指定名称。您可以自由选择,但我们建议您这样做。可帮助您记住关联用途的名称。例如,可为具有特定用途的关联指定 Automatically_update_AWSPVDrivers_on_us-west-2_instances。名称不得包含空格。

  4. 文档列表中,选择文档名称旁边的选项。使用搜索栏右侧的数字可查看更多文档。

  5. 对于 Parameters (参数),请指定所需的输入参数。

  6. 对于 Targets (目标),选择一个选项。有关使用目标的信息,请参阅将目标和速率控制与 状态管理器 关联结合使用

    注意

    如果使用标签在一个或多个目标实例上创建关联,然后从某一实例中删除标签,则该实例将不再运行该关联。该实例不再与 状态管理器 文档关联。

  7. Specify schedule (指定计划) 部分中,选择 On Schedule (按计划)No schedule (无计划)。如果选择 On Schedule (按计划),则可使用提供的按钮为关联创建 cron 或 rate 计划。

  8. Advanced options (高级选项) 部分中:

    • Compliance severity (合规性严重级别) 中,选择关联的严重级别。合规性报告指示关联状态是合规还是不合规以及您在此处指示的严重级别。有关更多信息,请参阅 关于 状态管理器 关联合规性

  9. Rate control (速率控制) 部分,配置用于在托管实例队列中运行 状态管理器 关联的选项。有关使用速率控制的信息,请参阅将目标和速率控制与 状态管理器 关联结合使用

    Concurrency (并发) 部分中,选择一个选项:

    • 选择 targets (目标) 输入可同时运行关联的目标的绝对数量。

    • 选择 percentage (百分比) 输入可同时运行关联的目标集的百分比。

    Error threshold (错误阈值) 部分中,选择一个选项:

    • 选择 errors (错误) 以输入允许的错误绝对数量,超过该数量后 状态管理器 停止对其他目标运行关联。

    • 选择 percentage (百分比) 以输入 允许的错误百分比,超过该百分比后 状态管理器 停止对其他目标运行关联。

  10. Output options (输出选项) 部分中,如果要将创建关联的命令的输出写入到 Amazon S3 存储桶,请选择 Enable writing output to S3 (启用将输出写入 S3)

  11. 选择创建关联

创建关联 (CLI)

使用以下格式来创建 AWS CLI 命令,该命令创建一个 状态管理器 关联。

注意

如果您使用 AWS CLI 创建关联,请使用 --Targets 参数定位关联的实例。请勿使用 --InstanceID 参数。--InstanceID 参数是一个旧参数。

aws ssm create-association --targets Key=tag:TagKey,Values=TagValue --name document_name --schedule "cron_or_rate_expression" --parameters (if any)

以下示例在标有 "Environment,Linux" 的实例上创建关联。该关联在每个星期日凌晨 2:00 使用 AWS-UpdateSSMAgent 文档更新目标实例上的 SSM 代理。对于合规性报告,为该关联分配中等严重级别。

aws ssm create-association --association-name Update_SSM_Agent_Linux --targets Key=tag:Environment,Values=Linux --name AWS-UpdateSSMAgent --compliance-severity "MEDIUM" --schedule "cron(0 2 ? * SUN *)"

以下示例通过指定通配符值 (*) 来定位实例 ID。这使 Systems Manager 可以在当前账户和 AWS 区域的所有 实例上创建关联。

aws ssm create-association --association-name Update_SSM_Agent_Linux --name "AWS-UpdateSSMAgent" --targets "Key=instanceids,Values=*" --compliance-severity "MEDIUM" --schedule "cron(0 2 ? * SUN *)"

注意

如果使用标签在一个或多个目标实例上创建关联,然后从某一实例中删除标签,则该实例将不再运行该关联。该实例不再与 状态管理器 文档关联。

创建关联 (PowerShell)

使用以下格式来创建 AWS Tools for PowerShell 命令,该命令创建一个 状态管理器 关联。

注意

如果您使用 AWS Tools for Windows PowerShell 创建关联,请使用 -Target 参数定位关联的实例。请勿使用 -InstanceID 参数。-InstanceID 参数是一个旧参数。

New-SSMAssociation -AssociationName document_name -Target Targets -ScheduleExpression "cron_or_rate_expression" -Parameters (if any)

以下示例在标有 "Environment,Linux" 的实例上创建关联。该关联在每个星期日凌晨 2:00 使用 AWS-UpdateSSMAgent 文档更新目标实例上的 SSM 代理。对于合规性报告,为该关联分配中等严重级别。

$Target = New-Object Amazon.SimpleSystemsManagement.Model.Target $Target.Key = "tag:Environment" $Target.Values = "Linux" New-SSMAssociation -AssociationName Update_SSM_Agent_Linux -Name AWS-UpdateSSMAgent -Target $Target -ScheduleExpression "cron(0 2 ? * SUN *)" -ComplianceSeverity MEDIUM

以下示例通过指定通配符值 (*) 来定位实例 ID。这使 Systems Manager 可以在当前账户和 AWS 区域的所有 实例上创建关联。

$Target = New-Object Amazon.SimpleSystemsManagement.Model.Target $Target.Key = "InstanceIds" $Target.Values = "*" New-SSMAssociation -AssociationName Update_SSM_Agent_All -Name AWS-UpdateSSMAgent -Target $Target

注意

如果使用标签在一个或多个目标实例上创建关联,然后从某一实例中删除标签,则该实例将不再运行该关联。该实例不再与 状态管理器 文档关联。