Exécuter une opération automatisée grâce à Systems Manager Automation - 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 opération automatisée grâce à Systems Manager Automation

Lorsque vous exécutez une automatisation, celle-ci est exécutée par défaut dans le cas de l'utilisateur qui a lancé l'exécution. Cela signifie, par exemple, que si votre utilisateur dispose d'autorisations d'administration, l'automatisation est exécutée avec les autorisations d'administrateur et un accès total aux ressources configurées par l'automatisation. Pour des raisons de sécurité, nous vous recommandons d'exécuter l'automatisation en utilisant un rôle de service IAM, connu dans ce cas sous le nom de rôle d'assumer, configuré avec la politique gérée Amazon SSMAutomation Role. Afin d'utiliser différents runbooks, vous devrez peut-être ajouter des politiques IAM supplémentaires à votre rôle d'utilisateur. L'utilisation d'un rôle de service IAM pour exécuter une automatisation est nommée administration déléguée.

Lorsque vous utilisez un rôle de service, l'automatisation peut être exécuté sur les ressources AWS , mais l'utilisateur qui a exécuté l'automatisation dispose d'un accès restreint (ou nul) à ces ressources. Par exemple, vous pouvez configurer un rôle de service et l'utiliser avec Automation pour redémarrer une ou plusieurs instances Amazon Elastic Compute Cloud (Amazon EC2). L'automatisation est un outil de AWS Systems Manager. L'automatisation redémarre les instances, mais le rôle de service n'autorise pas l'utilisateur à accéder à ces instances.

Vous pouvez spécifier un rôle de service lorsque vous exécutez une automatisation, ou vous pouvez créer des runbooks personnalisés et spécifier le rôle de service directement dans le runbook. Si vous spécifiez un rôle de service au moment de l'exécution ou dans un runbook, le service est alors exécuté dans le contexte du rôle de service spécifié. Si vous ne spécifiez aucun rôle de service, le système crée une session temporaire dans le contexte de l'utilisateur et exécute l'automatisation.

Note

Vous devez spécifier un rôle de service pour l'automatisation qui sera probablement exécutée pendant plus de 12 heures. Si vous lancez une exécution d'automatisation de longue durée dans le contexte d'un utilisateur, la session temporaire de ce dernier expire après 12 heures.

L'administration déléguée garantit un niveau de sécurité élevé et le contrôle de vos ressources AWS . Il permet également une expérience d'audit améliorée parce que des actions sont effectuées par rapport à vos ressources par un rôle de service central au lieu de plusieurs comptes IAM.

Avant de commencer

Avant d'effectuer les procédures suivantes, vous devez créer le rôle de service IAM et configurer une relation de confiance pour Automation, un outil dans AWS Systems Manager. Pour de plus amples informations, veuillez consulter Tâche 1 : Création d'un rôle de service pour Automation.

La procédure suivante décrit la méthode d'utilisation de la console Systems Manager afin d'exécuter une simple automatisation.

Exécution d'une automatisation simple (console)

La procédure suivante décrit comment utiliser la console Systems Manager pour exécuter une simple automatisation.

Pour exécuter une automatisation simple
  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. 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 Simple execution (Exécution simple).

  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 service IAM dans la AutomationAssumeRoleliste.

  8. (Facultatif) Choisissez une CloudWatch alarme à appliquer à votre automatisation à des fins de surveillance. Pour associer une CloudWatch alarme à votre automatisation, le principal IAM qui lance l'automatisation doit être autorisé à effectuer l'iam:createServiceLinkedRoleaction. Pour plus d'informations sur les CloudWatch alarmes, consultez la section Utilisation des CloudWatch alarmes Amazon. Notez que l'activation de votre alarme arrête l'automatisation. Si vous l'utilisez AWS CloudTrail, vous verrez l'appel d'API dans votre historique.

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

La console affiche le statut de l'automatisation. Si l'exécution de l'automatisation échoue, consultez Résolution des problèmes liés à Systems Manager Automation.

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

La procédure suivante décrit comment utiliser AWS CLI (sous Linux ou Windows) ou Outils AWS pour PowerShell comment exécuter une automatisation simple.

Pour exécuter une automatisation simple
  1. Installez et configurez le AWS CLI ou le Outils AWS pour 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' Outils AWS pour PowerShell.

  2. Exécutez la commande suivante pour démarrer une automatisation simple. Remplacez chaque example resource placeholder par vos propres informations.

    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

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

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

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

    Linux & macOS
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    Windows
    {
        "AutomationExecutionId": "4105a4fc-f944-11e6-9d32-0123456789ab"
    }
    PowerShell
    4105a4fc-f944-11e6-9d32-0123456789ab
  3. Exécutez la commande suivante pour récupérer le statut de l'automatisation.

    Linux & macOS
    aws ssm describe-automation-executions \ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    Windows
    aws ssm describe-automation-executions ^ --filter "Key=ExecutionId,Values=4105a4fc-f944-11e6-9d32-0123456789ab"
    PowerShell
    Get-SSMAutomationExecutionList | ` Where {$_.AutomationExecutionId -eq "4105a4fc-f944-11e6-9d32-0123456789ab"}

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

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