Eseguire manualmente un'automazione - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eseguire manualmente un'automazione

Le procedure seguenti descrivono come utilizzare la console di AWS Systems Manager e AWS Command Line Interface (AWS CLI) per eseguire un'automazione utilizzando la modalità di esecuzione manuale. Con questa modalità manuale, l'automazione viene avviata in stato Waiting (Attesa) e torna in stato Waiting (Attesa) nelle pause tra una fase e l'altra. Ciò consente di controllare l'avanzamento dell'automazione, il che si dimostra utile se si deve verificare il risultato di una fase prima di continuare.

L'automazione viene eseguita nel contesto dell'utente corrente. Ciò significa che non è necessario configurare autorizzazioni IAM aggiuntive a condizione di disporre dell'autorizzazione necessaria per eseguire il runbook e qualsiasi operazione chiamata dal runbook. Se disponi delle autorizzazioni dell'amministratore in IAM, disponi già dell'autorizzazione per eseguire l'automazione.

Procedura dettagliata per l'esecuzione di un'automazione (console)

La procedura seguente mostra come utilizzare la console Systems Manager per eseguire manualmente un'automazione passo dopo passo.

Per eseguire un'automazione passo dopo passo
  1. Apri la console di AWS Systems Manager all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel pannello di navigazione, scegliere Automation (Automazione), quindi Execute automation (Esegui automazione).

  3. Nell'elenco Automation document (Documento di automazione), scegliere un runbook. Scegli una o più opzioni nel pannello Document categories (Categorie di documenti) per filtrare i documenti SSM in base al loro scopo. Per visualizzare un runbook di cui si è proprietari, scegliere la scheda Owned by me (Posseduta da me). Per visualizzare un runbook condiviso con l'account, scegliere la scheda Shared with me (Condiviso con me). Per visualizzare tutti i runbook, scegliere la scheda All documents (Tutti i documenti).

    Nota

    È possibile visualizzare informazioni su un runbook scegliendo il nome del runbook.

  4. Nella sezione Document details (Dettagli documento) verificare che l'opzione Document version (Versione documento) sia impostata sulla versione che si desidera eseguire. Il sistema include le seguenti opzioni di versione:

    • Versione predefinita al runtime: scegli questa opzione se il runbook di Automazione viene aggiornato periodicamente e viene assegnata una nuova versione predefinita.

    • Ultima versione al runtime: scegli questa opzione se il runbook di automazione viene aggiornato periodicamente e si desidera che venga eseguita la versione aggiornata più di recente.

    • 1 (predefinita): scegli questa opzione per eseguire la prima versione del documento (quella predefinita).

  5. Seleziona Successivo.

  6. Nella sezione Execution Mode (Modalità esecuzione), scegliere Manual Execution (Esecuzione manuale).

  7. Nella sezione Input parameters (Parametri di input) specifica i parametri obbligatori. Facoltativamente, è possibile scegliere un ruolo di servizio IAM dall'elenco AutomationAssumeRole.

  8. Scegliere Execute (Esegui).

  9. Scegliere Execute this step (Esegui questa fase) per avviare la prima fase dell'automazione. L'automazione procede con la fase uno e si interrompe prima di eseguire le fasi di automazione successive specificate nel runbook scelto nella fase 3 di questa procedura. Se il runbook include più fasi, è necessario selezionare Execute this step (Esegui questa fase) per ogni fase per consentire all'automazione di continuare. Ogni volta che si sceglie Execute this step (Esegui questa fase) l'operazione viene eseguita.

    Nota

    La console visualizza lo stato dell'automazione. Se l'automazione non è in grado di eseguire una fase, consulta Risoluzione dei problemi dl servizio di automazione di Systems Manager.

  10. Dopo aver completato tutte le fasi indicate nel runbook, scegliere Complete and view results (Completa e visualizza i risultati) per completare l'automazione e visualizzare i risultati.

Procedura dettagliata per l'esecuzione di un'automazione (riga di comando)

La procedura seguente descrive come utilizzare AWS CLI (su Linux, macOS o su Windows) o AWS Tools for PowerShell per eseguire un'automazione graduale.

Per eseguire un'automazione in maniera dettagliata
  1. Se non è già stato fatto, installare e configurare AWS CLI o AWS Tools for PowerShell.

    Per informazioni, consulta le pagine Installazione o aggiornamento della versione più recente di AWS CLI e Installazione di AWS Tools for PowerShell.

  2. Esegui il comando seguente per avviare un'automazione manuale. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni.

    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

    Di seguito è riportato un esempio di utilizzo del runbook AWS-RestartEC2Instance per riavviare l'istanza EC2 specificata.

    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"}

    Il sistema restituisce informazioni simili alle seguenti.

    Linux & macOS
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    PowerShell
    ba9cd881-1b36-4d31-a698-0123456789ab
  3. Esegui il comando seguente quando hai tutto pronto per avviare la prima fase dell'automazione. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni. L'automazione procede con la fase uno e si interrompe prima di eseguire le fasi successive specificate nel runbook scelto nella fase 1 di questa procedura. Se il runbook dispone di più fasi, è necessario eseguire il comando seguente per ogni fase affinché proceda l'automazione.

    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"}

    Se il comando va a buon fine, non viene generato output.

  4. Esegui il comando seguente per recuperare lo stato di ciascuna esecuzione di fase nell'automazione.

    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

    Il sistema restituisce informazioni simili alle seguenti.

    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. Esegui il comando seguente per completare l'automazione al termine di tutte le fasi specificate all'interno del runbook scelto. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni.

    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

    Se il comando va a buon fine, non viene generato output.