以目前已驗證的使用者身分執行自動化 - AWS Systems Manager

以目前已驗證的使用者身分執行自動化

下列程序說明如何透過 AWS Systems Manager 主控台和 AWS Command Line Interface (AWS CLI) 執行在目前 AWS Identity and Access Management (IAM) 使用者內容中執行的自動化工作流程。在目前 IAM 使用者內容中執行自動化,表示只要 IAM 使用者有執行 Runbook,及 Runbook 所呼叫任何動作的許可,便不需要設定其他 IAM 許可。如果 IAM 使用者有 IAM 中的管理員許可,您便已經具備執行此 Runbook 的許可。

以目前已驗證的使用者身分執行自動化 (主控台)

以下程序說明如何使用 Systems Manager 主控台,以目前已經過身份驗證使用者的身分執行自動化。

以目前已經過身分驗證使用者的身分使用 Runbook

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Automation (自動化),接著選擇 Execute automation (執行自動化)

  3. Automation document (自動化文件) 清單中,選擇 Runbook。在 Document categories (文件類別) 窗格中選擇一個或多個選項,根據 SSM 文件的用途來進行篩選。若要檢視您擁有的 Runbook,請選擇 Owned by me (我所擁有的) 索引標籤。若要檢視與您帳戶共用的 Runbook,請選擇 Shared with me (與我共用的) 索引標籤。若要檢視所有 Runbook,請選擇 All documents (所有文件) 索引標籤。

    注意

    您可以選擇 Runbook 名稱檢視 Runbook 資訊。

  4. Document details (文件詳細資訊) 部分,確認 Document version (文件版本) 設定為您想要執行的版本。系統包括以下版本選項:

    • Default version at runtime (執行時間的預設版本):如果自動化 Runbooks 會定期更新且已指派新的預設版本,請選擇此選項。

    • Latest version at runtime (執行時間的最新版本):如果 Automation Runbook 會定期更新,而您想要執行最近更新的版本,請選擇此選項。

    • 1 Default (1 預設):選擇此選項以執行文件的第一個版本,也是預設版本。

  5. 選擇 Next (下一步)。

  6. Execution Mode (執行模式) 部分,選擇 Simple execution (簡易執行)

    注意

    此程序使用 Simple execution (簡易執行) 模式。不過,您也可以選擇 Rate control (速率控制)Manual execution (手動執行) 並以目前驗證的使用者執行自動化。

  7. Input parameters (輸入參數) 部分,指定所需的輸入。若要以目前驗證的使用者執行自動化,請勿為 AutomationAssumeRole 值指定 IAM 服務角色。

  8. 選擇 Execute (執行)。主控台會顯示自動化的狀態。

以目前已份驗證的使用者的身分執行自動化 (命令列)

以下程序說明如何使用 AWS CLI (在 Linux 或 Windows 上) 或 AWS Tools for PowerShell,以目前已經過身份驗證使用者的身分執行自動化。

以目前已經過身份驗證使用者的身分執行自動化

  1. 如果您尚未安裝並設定 AWS CLI 或 AWS Tools for PowerShell,請進行相應的操作。

    如需相關資訊,請參閱安裝或升級 AWS 命令列工具

  2. 執行以下命令,以目前已經過身份驗證使用者的身分啟動自動化。將每個範例資源預留位置取代為您自己的資訊。

    Linux & macOS
    aws ssm start-automation-execution \ --document-name runbook name \ --parameters runbook parameters
    Windows
    aws ssm start-automation-execution ^ --document-name runbook name ^ --parameters runbook parameters
    PowerShell
    Start-SSMAutomationExecution ` -DocumentName runbook name ` -Parameter runbook parameters

    以下為使用 Runbook AWS-RestartEC2Instance 的範例,可重新啟動指定的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。

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

    系統會傳回相關資訊,如下所示。

    Linux & macOS
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    PowerShell
    4105a4fc-f944-11e6-9d32-0123456789ab
  3. 執行以下命令來擷取自動化的狀態。把自動化執行 ID 取代為您自己的資訊。

    Linux & macOS
    aws ssm describe-automation-executions \ --filter "Key=ExecutionId,Values=automation execution ID"
    Windows
    aws ssm describe-automation-executions ^ --filter "Key=ExecutionId,Values=automation execution ID"
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "automation execution ID"}

    系統會傳回相關資訊,如下所示。

    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                     : {}