Exécuter une automatisation étape par étape - AWS Systems Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécuter une automatisation étape par étape

Les procédures suivantes expliquent comment utiliser la console AWS Systems Manager et l'AWS Command Line Interface (AWS CLI) pour exécuter une automatisation à l'aide du mode d'exécution manuelle. En utilisant le mode d'exécution manuelle, l'automatisation démarre dans un état Waiting (En attente) et s'arrête dans un état Waiting (En attente). Ceci vous permet de contrôler quand l'automatisation se poursuit, ce qui est utile si vous avez besoin de lire le résultat d'une étape avant de continuer.

Le flux de travail Automation s'exécute dans le contexte de l'utilisateur actuel. Cela signifie que vous n'avez pas besoin de configurer d'autorisations IAM supplémentaires tant que vous avez le droit d'utiliser le runbook et les actions qu'il appelle. Si vous disposez des autorisations d'administrateur dans IAM, vous pouvez exécuter cette automatisation.

Exécution d'une automatisation étape par étape (console)

La procédure suivante montre comment utiliser la console Systems Manager pour exécuter manuellement une automatisation étape par étape.

Pour exécuter une automatisation étape par étape
  1. Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, sélectionnez Automation (Automatisation), puis Execute automation (Exécuter l'automatisation).

  3. Dans la liste Automation document (Document Automation), sélectionnez un runbook. Sélectionnez une ou plusieurs options dans le panneau Document categories (Catégories de documents) pour filtrer les documents SSM en fonction de leur but. Pour afficher un runbook vous appartenant, sélectionnez l'onglet Owned by me (M'appartenant). Pour afficher un runbook partagé avec votre compte, sélectionnez l'onglet Shared with me (Partagé avec moi). Pour afficher tous les runbooks, sélectionnez l'onglet All documents (Tous les documents).

    Note

    Vous pouvez consulter les informations sur un runbook en sélectionnant son nom.

  4. Dans la section Document details (Détails du document), vérifiez que l'option Document version (Version de document) correspond à la version que vous souhaitez exécuter. Le système inclut les options de version suivantes :

    • Version par défaut lors de l’exécution : sélectionnez cette option si le runbook d’Automatisation est mis à jour régulièrement et qu’une nouvelle version par défaut est attribuée.

    • Dernière version lors de l’exécution : sélectionnez cette option si le runbook d’Automatisation est mis à jour régulièrement et que vous souhaitez exécuter la dernière version mise à jour.

    • 1 (Par défaut) : sélectionnez cette option pour exécuter la première version du document, qui est la version par défaut.

  5. Sélectionnez Suivant.

  6. Dans la section Execution Mode (Mode d'exécution), sélectionnez Manual execution (Exécution manuelle).

  7. Dans la section Input parameters (Paramètres d'entrée), spécifiez les entrées obligatoires. Le cas échéant, vous pouvez choisir un rôle de service IAM dans la liste AutomationAssumeRole.

  8. Sélectionnez Execute (Exécuter).

  9. Sélectionnez Execute this step (Exécuter cette étape) lorsque vous êtes prêt à commencer à la première étape de l'automatisation. L'automatisation démarre avec l'étape une et s'interrompt avant d'exécuter toutes les étapes suivantes spécifiées dans le runbook que vous avez choisies à l'étape 3 de cette procédure. Si le runbook possède plusieurs étapes, vous devez sélectionner Execute this step (Exécuter cette étape) pour chaque étape afin que l'automatisation continue. Chaque fois que vous sélectionnez Execute this step (Exécuter cette étape) l'action s'exécute.

    Note

    La console affiche le statut de l'automatisation. Si l'automatisation ne parvient pas à exécuter une étape, consultez Résolution des problèmes liés à Systems Manager Automation.

  10. Une fois que vous avez terminé toutes les étapes spécifiées dans le runbook, sélectionnez Complete and view results (Terminer et afficher les résultats) pour terminer l'automatisation et afficher les résultats.

Exécution d'une automatisation étape par étape (ligne de commande)

La procédure suivante explique comment utiliser la AWS CLI (sous Linux, macOS ou Windows) ou les AWS Tools for PowerShell pour exécuter manuellement une automatisation étape par étape.

Pour exécuter une automatisation étape par étape
  1. Installez et configurez l'AWS CLI ou AWS Tools for PowerShell si vous ne l'avez pas déjà fait.

    Pour plus d'informations, consultez la section Installation ou mise à jour de la version la plus récente de l'AWS CLI et Installation d'AWS Tools for PowerShell.

  2. Exécutez la commande suivante pour démarrer une automatisation manuelle. Remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations.

    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

    Voici un exemple d'utilisation du runbook AWS-RestartEC2Instance pour redémarrer l'instance EC2 spécifiée.

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

    Le système retourne des informations telles que les suivantes.

    Linux & macOS
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "ba9cd881-1b36-4d31-a698-0123456789ab"
    }
    PowerShell
    ba9cd881-1b36-4d31-a698-0123456789ab
  3. Exécutez la commande suivante lorsque vous êtes prêt à démarrer la première étape de l'automatisation. Remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations. L'automatisation démarre avec l'étape une et s'interrompt avant d'exécuter toutes les étapes suivantes spécifiées dans le runbook que vous avez choisies à l'étape 1 de cette procédure. Si le runbook comporte plusieurs étapes, vous devez exécuter la commande suivante pour chaque étape pour que l'automatisation continue.

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

    Il n'y a pas de sortie si la commande réussit.

  4. Exécutez la commande suivante pour récupérer le statut de chaque exécution d'étape dans l'automatisation.

    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

    Le système retourne des informations telles que les suivantes.

    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. Exécutez la commande suivante pour terminer l'automatisation une fois que toutes les étapes spécifiées dans le runbook choisi sont terminées. Remplacez chaque example resource placeholder (espace réservé pour les ressources) avec vos propres informations.

    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

    Il n'y a pas de sortie si la commande réussit.