Exécutez 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écutez une automatisation étape par étape

Les procédures suivantes décrivent comment utiliser la AWS Systems Manager console et AWS Command Line Interface (AWS CLI) pour exécuter une automatisation en 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'IAMautorisations supplémentaires tant que vous êtes autorisé à utiliser le runbook et toutes les actions appelées par le runbook. Si vous avez des autorisations d'administrateurIAM, vous êtes déjà autorisé à 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 AWS Systems Manager console à 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. Choisissez une ou plusieurs options dans le volet Catégories de documents pour filtrer SSM les documents en fonction de leur objectif. 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. Vous pouvez éventuellement choisir un rôle de IAM service dans la AutomationAssumeRoleliste.

  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 décrit comment utiliser AWS CLI (sous Linux ou Windows) ou comment AWS Tools for PowerShell exécuter manuellement une automatisation étape par étape. macOS

Pour exécuter une automatisation étape par étape
  1. Installez et configurez le AWS CLI ou le AWS Tools for PowerShell, si ce n'est 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 chacun example resource placeholder 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'EC2instance 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 chacun example resource placeholder 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 chacun example resource placeholder 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.