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

运行简单的 Automation 工作流程

以下过程介绍了如何使用 AWS Systems Manager 控制台、AWS Command Line Interface (AWS CLI) 和 AWS Tools for Windows PowerShell 运行简单的 Systems Manager Automation 工作流程。工作流程在当前 AWS Identity and Access Management (IAM) 用户的环境中运行。这意味着只要您有权运行 Automation 文档和此文档调用的任何操作,就无需配置其他 IAM 权限。如果您在 IAM 中拥有管理员权限,则已有权运行此 Automation 工作流程。

注意

有关如何运行使用 IAM 服务角色或更高级的委托管理形式的 Automation 工作流程的信息,请参阅使用不同的安全模型运行 Automation 工作流程

运行简单的 Automation 工作流程(控制台)

以下过程介绍了如何使用 Systems Manager 控制台运行简单的 Automation 工作流程。

运行简单的 Automation 工作流程

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

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

  3. Automation document (自动化文档) 列表中,选择一个文档。在 Document categories (文档类别) 窗格中选择一个或多个选项,以根据其用途筛选 SSM 文档。要查看您拥有的文档,请选择 Owned by me (我拥有的) 选项卡。要查看与您的账户共享的文档,请选择 Shared with me (与我共享) 选项卡。要查看所有文档,请选择 All documents (所有文档) 选项卡。

    注意

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

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

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

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

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

  5. 选择 Next

  6. 执行模式部分中,选择简单执行

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

  8. 选择 Execute (执行)

控制台将显示 Automation 执行的状态。如果 Automation 无法运行,请参阅排除 Systems Manager Automation 的故障

运行简单的 Automation 工作流程(命令行)

以下过程介绍了如何使用 AWS CLI(在 Linux 或 Windows 上)或 AWS Tools for PowerShell 运行简单的 Automation 工作流程。

运行简单的 Automation 工作流程

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

    有关更多信息,请参阅 安装或升级 AWS CLIInstall or Upgrade the AWS Tools for PowerShell

  2. 运行以下命令以启动一个简单的 Automation 工作流程。

    LinuxWindowsPowerShell
    Linux
    aws ssm start-automation-execution \ --document-name DocumentName \ --parameters ParametersRequiredByDocument
    Windows
    aws ssm start-automation-execution ^ --document-name DocumentName ^ --parameters ParametersRequiredByDocument
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName DocumentName ` -Parameter ParametersRequiredByDocument

    以下是使用 AWS-RestartEC2Instance 文档重新启动指定 EC2 实例的示例。

    LinuxWindowsPowerShell
    Linux
    aws ssm start-automation-execution \ --document-name "AWS-RestartEC2Instance" \ --parameters "InstanceId=i-1234567890abcdef0"
    Windows
    aws ssm start-automation-execution ^ --document-name "AWS-RestartEC2Instance" ^ --parameters "InstanceId=i-1234567890abcdef0"
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName AWS-RestartEC2Instance ` -Parameter @{"InstanceId"="i-1234567890abcdef0"}

    系统将返回类似于以下内容的信息。

    LinuxWindowsPowerShell
    Linux
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    PowerShell
    4105a4fc-f944-11e6-9d32-0123456789ab
  3. 运行以下命令以检索 Automation 工作流程的状态。

    LinuxWindowsPowerShell
    Linux
    aws ssm describe-automation-executions \ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    Windows
    aws ssm describe-automation-executions ^ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "4105a4fc-f944-11e6-9d32-0123456789ab"}

    系统将返回类似于以下内容的信息。

    LinuxWindowsPowerShell
    Linux
    {
        "AutomationExecutionMetadataList": [
            {
                "AutomationExecutionStatus": "InProgress",
                "CurrentStepName": "stopInstances",
                "Outputs": {},
                "DocumentName": "AWS-RestartEC2Instance",
                "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab",
                "DocumentVersion": "1",
                "ResolvedTargets": {
                    "ParameterValues": [],
                    "Truncated": false
                },
                "AutomationType": "Local",
                "Mode": "Auto",
                "ExecutionStartTime": 1564600648.159,
                "CurrentAction": "aws:changeInstanceState",
                "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
                "LogFile": "",
                "Targets": []
            }
        ]
    }
    Windows
    {
        "AutomationExecutionMetadataList": [
            {
                "AutomationExecutionStatus": "InProgress",
                "CurrentStepName": "stopInstances",
                "Outputs": {},
                "DocumentName": "AWS-RestartEC2Instance",
                "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab",
                "DocumentVersion": "1",
                "ResolvedTargets": {
                    "ParameterValues": [],
                    "Truncated": false
                },
                "AutomationType": "Local",
                "Mode": "Auto",
                "ExecutionStartTime": 1564600648.159,
                "CurrentAction": "aws:changeInstanceState",
                "ExecutedBy": "arn:aws:sts::123456789012:assumed-role/Administrator/Admin",
                "LogFile": "",
                "Targets": []
            }
        ]
    }
    PowerShell
    AutomationExecutionId       : 4105a4fc-f944-11e6-9d32-0123456789ab
    AutomationExecutionStatus   : InProgress
    AutomationType              : Local
    CurrentAction               : aws:changeInstanceState
    CurrentStepName             : startInstances
    DocumentName                : AWS-RestartEC2Instance
    DocumentVersion             : 1
    ExecutedBy                  : arn:aws:sts::123456789012:assumed-role/Administrator/Admin
    ExecutionEndTime            : 1/1/0001 12:00:00 AM
    ExecutionStartTime          : 7/31/2019 7:17:28 PM
    FailureMessage              : 
    LogFile                     : 
    MaxConcurrency              : 
    MaxErrors                   : 
    Mode                        : Auto
    Outputs                     : {}
    ParentAutomationExecutionId : 
    ResolvedTargets             : Amazon.SimpleSystemsManagement.Model.ResolvedTargets
    Target                      : 
    TargetMaps                  : {}
    TargetParameterName         : 
    Targets                     : {}