运行简单的 Automation - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

运行简单的 Automation

以下过程介绍了如何使用 AWS Systems Manager 控制台和 AWS Command Line Interface (AWS CLI) 运行简单的系统管理器自动化。自动化在当前 AWS Identity and Access Management (IAM) 用户的上下文中运行。这意味着,只要您有权运行 Runbook 以及 Runbook 调用的任何操作,就无需配置其他 IAM 权限。如果您在 IAM 中拥有管理员权限,则已有权运行此 Automation。

注意

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

运行简单的自动化(控制台)

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

运行简单的 Automation

  1. 以下网址打开 AWS Systems Manager 控制台:https://console.aws.amazon.com/systems-manager/

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

  3. 自动化文档列表中,选择 Runbook。选择文档类别窗格可根据 SSM 文档的用途过滤它们。要查看您拥有的 Runbook,请选择我拥有的” 选项卡。要查看与您的帐户共享的 Runbook,请选择与我共享” 选项卡。要查看所有运行手册,请选择所有文档” 选项卡。

    注意

    可以通过选择一个运行手册名称来查看有关该手册的信息。

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

    • 运行时的默认版本:如果定期更新 Automation Runbook 并指定新的默认版本,请选择此选项。

    • 运行时最新版本:如果定期更新 Automation Runbook,并且需要运行最新更新版本,请选择此选项。

    • 1(默认值):选择此选项可运行文档的第一个版本(默认版本)。

  5. 选择 Next

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

  7. Input parameters (输入参数) 部分中,指定所需的输入。或者,您也可以从AutomationAssumeRole列出。

  8. 选择 Execute (执行)

控制台将显示 Automation 的状态。如果 Automation 无法运行,请参阅Automation Automation Automation

运行简单的 Automation(命令行)

以下过程介绍了如何使用 AWS CLI(在 Linux 或 Windows 上)或适用于 PowerShell 的 AWS 工具来运行简单的自动化。

运行简单的 Automation

  1. 安装并配置 AWS CLI 或适用于 PowerShell 的 AWS 工具(如果尚未执行该操作)。

    想要了解有关信息,请参阅安装或升级 AWS 命令行工具

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

    Linux & macOS
    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

    下面是 Runbook 的使用示例AWS-RestartEC2Instance重新启动指定的 EC2 实例。

    Linux & macOS
    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"}

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

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

    Linux & macOS
    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"}

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

    Linux & macOS
    {
        "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                     : {}