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

运行使用目标和速率控制的 Automation 工作流程

AWS Systems Manager 让您能够通过使用目标在 AWS 资源队列上运行 Automation 工作流程。此外,您还可以通过指定并发值和错误阈值来控制 Automation 在整个队列上的执行。并发值确定允许同时运行 Automation 的资源数量。错误阈值确定在 Systems Manager 停止将工作流程发送到其他资源之前允许 Automation 执行失败的次数。并发和错误阈值功能统称为速率控制

有关并发和错误阈值的更多信息,请参阅 关于并发和错误阈值。有关目标的更多信息,请参阅 关于目标

以下过程介绍如何使用 Systems Manager 控制台和 AWS CLI 运行具有目标和速率控制的 Automation 工作流程。

运行具有目标和速率控制的 Automation(控制台)

运行具有目标和速率控制的 Automation(控制台)

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

  2. 在导航窗格中,选择 Automation (自动化),然后选择 Execute automation (执行自动化)

  3. 自动化文档列表中,选择文档名称旁边的选项。要查看更多 Automation 文档,请使用搜索栏或搜索栏右侧的数字。

    注意

    可以通过选择文档名称来查看有关文档的信息。

  4. Document details (文档详细信息) 部分中,验证文档版本已设置为要运行的版本。系统包括以下版本选项:

    • Default version at runtime (运行时的默认版本):如果定期更新 Automation 文档并指定新的默认版本,请选择此选项。

    • 运行时的最新版本:如果定期更新自动化文档,并且需要运行最新更新版本,请选择此选项。

    • 1 (默认):选择此选项可运行文档的第一个版本,这是默认设置。

  5. 选择 Next

  6. Execution Mode (执行模式) 部分,选择 Rate Control (速率控制)。如果要使用目标和速率控制,则必须使用此模式或 Multi-account and Region (多账户和多区域)

  7. 目标部分中,选择希望如何定位要在其中运行自动化的 AWS 资源。这些选项是必需的。

    1. 使用 Parameter (参数) 列表选择一个参数。Parameter (参数) 列表中的项目由此过程开始时选择的 Automation 文档中的参数确定。通过选择参数,可以定义在其上运行 Automation 工作流程的资源的类型。

    2. 使用 Targets (目标) 列表选择设置目标资源的方式。如果选择使用 AWS Resource Groups将资源设置为目标,请从 Resource Group (资源组) 列表中选择组的名称。

      如果选择使用标签将资源设置为目标,请在提供的字段中输入标签键和(可选)标签值。选择 Add (添加)

  8. Input parameters (输入参数) 部分中,指定所需的输入。(可选)您可以从 AutomationAssumeRole 列表中选择一个 IAM 服务角色。

    注意

    您可能不需要选择 Input parameters (输入参数) 部分中的某些选项。原因是您使用标签或资源组定位资源。例如,如果选择了 AWS-RestartEC2Instance 文档,则无需在 Input parameters (输入参数) 部分中指定或选择实例 ID。Automation 执行过程通过使用您指定的标签或资源组来定位要重新启动的实例。

  9. 使用 Rate control (费率控制) 部分中的选项限制可在每个账户/区域对中运行自动化的 AWS 资源的数量。

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

    • 选择 targets (目标) 输入可同时运行 Automation 工作流程的目标的绝对数量。

    • 选择 percentage (百分比) 输入可同时运行 Automation 工作流程的目标集的百分比。

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

    • 选择 errors (错误) 输入 Automation 停止将工作流程发送到其他资源之前允许的错误的绝对数量。

    • 选择 percentage (百分比) 输入 Automation 停止将工作流程发送到其他资源之前允许的错误的百分比。

  11. 选择 Execute (执行)

运行具有目标和速率控制的 Automation (AWS CLI)

运行具有目标和速率控制的 Automation (AWS CLI)

  1. 安装并配置 AWS CLI(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 AWS CLI,然后对其进行配置

  2. 运行以下命令以查看文档列表。

    aws ssm list-documents

    记下要运行的 Automation 文档的名称。

  3. 运行以下命令以查看有关 Automation 文档的详细信息。记下要用于 --target-parameter-name 选项的参数名称(例如,InstanceId)。此参数确定在其上运行 Automation 的资源的类型。

    aws ssm describe-document --name document_name
  4. 创建一个要运行的使用目标和速率控制选项的命令。以下是一些帮助您了解各种选项用法的 AWS CLI 模板命令。

    使用标签设置目标

    aws ssm start-automation-execution --document-name document_name --targets Key=tag:key_name,Values=value --target-parameter-name parameter_name --parameters "input_parameter_name1=input_parameter_value1,input_parameter_name2=input_parameter_value2" --max-concurrency 10 --max-errors 25%

    使用参数值设置目标

    aws ssm start-automation-execution --document-name document_name --target-parameter-name parameter_name --targets Key=ParameterValues,Values=value_1,value_2,value_3 --parameters "input_parameter_name1=input_parameter_value1" --max-concurrency 50% --max-errors 10%

    使用 AWS Resource Groups设置目标

    aws ssm start-automation-execution --document-name document_name --target-parameter-name parameter_name --targets Key=ResourceGroup,Values=Resource_Group_name --max-concurrency 1 --max-errors 0

    该命令将会返回执行 ID。请将该 ID 复制到剪贴板。您可以使用此 ID 查看工作流程的状态。

    {
        "AutomationExecutionId": "ID"
    }
  5. 运行以下命令以查看工作流程执行情况。

    aws ssm describe-automation-executions
  6. 要查看有关执行进度的详细信息,请运行以下命令。

    aws ssm get-automation-execution --automation-execution-id ID

    注意

    您也可以在控制台中监控工作流程的状态。在执行列表中,选择您刚才运行的执行,然后选择步骤选项卡。该选项卡将显示工作流操作的状态。