Executar uma automação passo a passo - AWS Systems Manager

Executar uma automação passo a passo

Os procedimentos a seguir descrevem como usar o console do AWS Systems Manager e a AWS Command Line Interface (AWS CLI) para executar uma automação usando o modo de execução manual. Usando o modo de execução manual, a automação é iniciada em um status Waiting (Aguardando) e faz uma pausa no status Waiting (Aguardando) entre cada etapa. Isso permite que você controle quando automação deve prosseguir, o que é útil quando for necessário revisar o resultado de uma etapa antes de continuar.

A automação é executada no contexto do usuário atual. Isso significa que você não precisa configurar outras permissões do IAM, desde que tenha permissão para usar o runbook e qualquer ação chamada pelo runbook. Se você tiver permissões de administrador no IAM, isso significa que você já tem permissão para executar essa automação.

Executar uma automação passo a passo (console)

O procedimento a seguir mostra como usar o console do Systems Manager para executar manualmente uma automação passo a passo.

Para executar uma automação passo a passo
  1. Abra o console AWS Systems Manager em https://console.aws.amazon.com/systems-manager/.

  2. No painel de navegação, selecione Automation e Execute automation (Executar automação).

  3. Na lista Automation document (Documento do Automation), escolha um runbook. Escolha uma ou mais opções no painel Document categories (Categorias de documentos) para filtrar documentos SSM de acordo com sua finalidade. Para visualizar um runbook que você tenha, escolha a guia Owned by me (De minha propriedade). Para visualizar um runbook compartilhado com sua conta, escolha a guia Shared with me (Compartilhado comigo). Para visualizar todos os runbooks, escolha a guia All documents (Todos os documentos).

    nota

    Você pode visualizar informações sobre um runbook, selecionando o nome dele.

  4. Na seção Document details (Detalhes do documento), verifique se Document version (Versão do documento) está definida como a versão que você quer executar. O sistema inclui as seguintes opções de versão:

    • Versão padrão no runtime: escolha essa opção se o runbook do Automation for atualizado periodicamente e uma nova versão padrão for atribuída.

    • Versão mais recente no runtime: escolha essa opção se o runbook do Automation for atualizado periodicamente e se você quiser executar a versão mais recente.

    • 1 (padrão): escolha esta opção para executar a primeira versão do documento, que é a versão padrão.

  5. Escolha Próximo.

  6. Na seção Execution mode (Modo de execução), escolha Manual execution (Execução manual).

  7. Na seção Input parameters (Parâmetros de entrada), especifique as entradas necessárias. Opcionalmente, você pode escolher uma função de serviço do IAM na lista AutomationAssumeRole.

  8. Clique em Executar.

  9. Selecione Execute this step (Execute esta etapa) quando estiver pronto para iniciar a primeira etapa da automação. A automação prossegue com a etapa 1 e pausa antes de executar qualquer etapa subsequente especificada no runbook que você escolheu na etapa 3 deste procedimento. Se o runbook tiver várias etapas, você deverá selecionar Execute this step (Executar esta etapa) em cada etapa para que a automação prossiga. Cada vez que você escolher Execute this step (Executar esta etapa) a ação será executada.

    nota

    O console exibe o status da automação. Se a automação não executar uma etapa, consulte Solução de problemas do Systems Manager Automation.

  10. Depois de concluir todas as etapas especificadas no runbook, escolha Complete and view results (Concluir e visualizar os resultados) para concluir a automação e visualizar os resultados.

Executar uma automação passo a passo (linha de comando)

O procedimento a seguir descreve como usar a AWS CLI (no Linux, macOS ou no Windows) ou o AWS Tools for PowerShell para executar manualmente uma automação passo a passo.

Para executar uma automação passo a passo
  1. Instale e configure a AWS CLI ou o AWS Tools for PowerShell, caso ainda não o tenha feito.

    Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI e Instalar o AWS Tools for PowerShell.

  2. Execute o comando a seguir para iniciar uma automação manual. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

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

    Este é um exemplo que usa o runbook AWS-RestartEC2Instance para reiniciar a instância do EC2 especificada.

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

    O sistema retorna informações como estas.

    Linux & macOS
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    PowerShell
    ba9cd881-1b36-4d31-a698-0123456789ab
  3. Execute o comando a seguir quando estiver pronto para iniciar a primeira etapa da automação. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações. A automação prossegue com a etapa 1 e pausa antes de executar qualquer etapa subsequente especificada no runbook que você escolheu na etapa 1 deste procedimento. Se o runbook tiver várias etapas, você deverá executar o seguinte comando para cada etapa, para que a automação prossiga.

    Linux & macOS
    aws ssm send-automation-signal \ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab \ --signal-type StartStep \ --payload StepName="stopInstances"
    Windows
    aws ssm send-automation-signal ^ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab ^ --signal-type StartStep ^ --payload StepName="stopInstances"
    PowerShell
    Send-SSMAutomationSignal ` -AutomationExecutionId ba9cd881-1b36-4d31-a698-0123456789ab ` -SignalType StartStep -Payload @{"StepName"="stopInstances"}

    Não haverá saída se o comando for bem-sucedido.

  4. Execute o comando a seguir para recuperar o status da execução de cada etapa na automação.

    Linux & macOS
    aws ssm describe-automation-step-executions \ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab
    Windows
    aws ssm describe-automation-step-executions ^ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab
    PowerShell
    Get-SSMAutomationStepExecution ` -AutomationExecutionId ba9cd881-1b36-4d31-a698-0123456789ab

    O sistema retorna informações como estas.

    Linux & macOS
    {
        "StepExecutions": [
            {
                "StepName": "stopInstances",
                "Action": "aws:changeInstanceState",
                "ExecutionStartTime": 1557167178.42,
                "ExecutionEndTime": 1557167220.617,
                "StepStatus": "Success",
                "Inputs": {
                    "DesiredState": "\"stopped\"",
                    "InstanceIds": "[\"i-02573cafcfEXAMPLE\"]"
                },
                "Outputs": {
                    "InstanceStates": [
                        "stopped"
                    ]
                },
                "StepExecutionId": "654243ba-71e3-4771-b04f-0123456789ab",
                "OverriddenParameters": {},
                "ValidNextSteps": [
                    "startInstances"
                ]
            },
            {
                "StepName": "startInstances",
                "Action": "aws:changeInstanceState",
                "ExecutionStartTime": 1557167273.754,
                "ExecutionEndTime": 1557167480.73,
                "StepStatus": "Success",
                "Inputs": {
                    "DesiredState": "\"running\"",
                    "InstanceIds": "[\"i-02573cafcfEXAMPLE\"]"
                },
                "Outputs": {
                    "InstanceStates": [
                        "running"
                    ]
                },
                "StepExecutionId": "8a4a1e0d-dc3e-4039-a599-0123456789ab",
                "OverriddenParameters": {}
            }
        ]
    }
    Windows
    {
        "StepExecutions": [
            {
                "StepName": "stopInstances",
                "Action": "aws:changeInstanceState",
                "ExecutionStartTime": 1557167178.42,
                "ExecutionEndTime": 1557167220.617,
                "StepStatus": "Success",
                "Inputs": {
                    "DesiredState": "\"stopped\"",
                    "InstanceIds": "[\"i-02573cafcfEXAMPLE\"]"
                },
                "Outputs": {
                    "InstanceStates": [
                        "stopped"
                    ]
                },
                "StepExecutionId": "654243ba-71e3-4771-b04f-0123456789ab",
                "OverriddenParameters": {},
                "ValidNextSteps": [
                    "startInstances"
                ]
            },
            {
                "StepName": "startInstances",
                "Action": "aws:changeInstanceState",
                "ExecutionStartTime": 1557167273.754,
                "ExecutionEndTime": 1557167480.73,
                "StepStatus": "Success",
                "Inputs": {
                    "DesiredState": "\"running\"",
                    "InstanceIds": "[\"i-02573cafcfEXAMPLE\"]"
                },
                "Outputs": {
                    "InstanceStates": [
                        "running"
                    ]
                },
                "StepExecutionId": "8a4a1e0d-dc3e-4039-a599-0123456789ab",
                "OverriddenParameters": {}
            }
        ]
    }
    PowerShell
    Action: aws:changeInstanceState
    ExecutionEndTime     : 5/6/2019 19:45:46
    ExecutionStartTime   : 5/6/2019 19:45:03
    FailureDetails       : 
    FailureMessage       : 
    Inputs               : {[DesiredState, "stopped"], [InstanceIds, ["i-02573cafcfEXAMPLE"]]}
    IsCritical           : False
    IsEnd                : False
    MaxAttempts          : 0
    NextStep             : 
    OnFailure            : 
    Outputs              : {[InstanceStates, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
    OverriddenParameters : {}
    Response             : 
    ResponseCode         : 
    StepExecutionId      : 8fcc9641-24b7-40b3-a9be-0123456789ab
    StepName             : stopInstances
    StepStatus           : Success
    TimeoutSeconds       : 0
    ValidNextSteps       : {startInstances}
  5. Execute o comando a seguir para concluir a automação depois que todas as etapas especificadas no runbook escolhido tiverem sido concluídas. Substitua cada espaço reservado para recurso de exemplo por suas próprias informações.

    Linux & macOS
    aws ssm stop-automation-execution \ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab \ --type Complete
    Windows
    aws ssm stop-automation-execution ^ --automation-execution-id ba9cd881-1b36-4d31-a698-0123456789ab ^ --type Complete
    PowerShell
    Stop-SSMAutomationExecution ` -AutomationExecutionId ba9cd881-1b36-4d31-a698-0123456789ab ` -Type Complete

    Não haverá saída se o comando for bem-sucedido.