Exécution de documents à partir d'emplacements distants - 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écution de documents à partir d'emplacements distants

Vous pouvez exécuter des documents AWS Systems Manager (SSM) depuis des sites distants en utilisant le document SSM AWS-RunDocument prédéfini. Ce document prend en charge l'exécution de documents SSM stockés aux emplacements suivants :

  • GitHubRéférentiels publics et privés (GitHub Enterprisenon pris en charge)

  • Compartiments Amazon S3

  • Systems Manager

Bien que vous puissiez également exécuter des documents distants en utilisant State Manager ou Automation, les fonctionnalités de AWS Systems Manager, la procédure suivante décrit uniquement comment exécuter des documents SSM distants AWS Systems Manager Run Command à l'aide de la console Systems Manager.

Note

AWS-RunDocument peut servir à exécuter des documents SSM de type commande, mais pas d'autres types du genre runbooks Automation. AWS-RunDocument utilise aws:downloadContent. Pour plus d'informations sur le plugin aws:downloadContent, consultez aws:downloadContent.

Avant de commencer

Avant d'exécuter un document distant, vous devez effectuer les tâches suivantes :

  • Créez un document Command SSM et enregistrez-le dans un emplacement distant. Pour de plus amples informations, consultez Création du contenu du document SSM.

  • Si vous envisagez d'exécuter un document distant stocké dans un GitHub référentiel privé, vous devez créer un SecureString paramètre Systems Manager pour votre jeton d'accès GitHub de sécurité. Vous ne pouvez pas accéder à un document distant dans un GitHub dépôt privé en transmettant manuellement votre jeton via SSH. Le jeton d'accès doit être transmis en tant que paramètre Systems Manager SecureString. Pour plus d'informations sur la création d'un paramètre SecureString, consultez Création de paramètres Systems Manager.

Exécuter un document distant (console)

Pour exécuter un document distant
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, sélectionnez Run Command.

  3. Sélectionnez Run Command (Exécuter la commande).

  4. Dans la liste Document, sélectionnez AWS-RunDocument.

  5. Dans Paramètres de commande, pour Type de source, sélectionnez une option.

    • Si vous le souhaitez GitHub, spécifiez les informations sur la source au format suivant :

      { "owner": "owner_name", "repository": "repository_name", "path": "path_to_document", "getOptions":"branch:branch_name", "tokenInfo": "{{ssm-secure:secure-string-token}}" }

      Par exemple :

      { "owner":"TestUser", "repository":"GitHubTestExamples", "path":"scripts/python/test-script", "getOptions":"branch:exampleBranch", "tokenInfo":"{{ssm-secure:my-secure-string-token}}" }
      Note

      getOptions sont des options supplémentaires pour récupérer le contenu d'une branche autre que master ou d'un commit spécifique dans le référentiel. getOptions peut être omise si vous utilisez la dernière validation dans la branche maître. Le paramètre branch n'est requis que si votre document SSM est stocké dans une branche autre que master.

      Pour utiliser la version d'un document SSM dans un commit particulier de votre référentiel, utilisez commitID avec getOptions au lieu de branch. Par exemple :

      "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
    • Si vous sélectionnez S3, spécifiez les informations source au format suivant :

      {"path":"URL_to_document_in_S3"}

      Par exemple :

      {"path":"https://s3.amazonaws.com/DOC-EXAMPLE-BUCKET/scripts/ruby/mySSMdoc.json"}
    • Si vous sélectionnez SSMDocument, spécifiez les informations source au format suivant :

      {"name": "document_name"}

      Par exemple :

      {"name": "mySSMdoc"}
  6. Dans le champ Document Parameters (Paramètres du document), saisissez les paramètres du document SSM distant. Par exemple, si vous exécutez le document AWS-RunPowerShell, vous pouvez spécifier ce qui suit :

    {"commands": ["date", "echo \"Hello World\""]}

    Si vous exécutez le document AWS-ConfigureAWSPack, vous pouvez spécifier ce qui suit :

    { "action":"Install", "name":"AWSPVDriver" }
  7. Dans la section Targets (Cibles), sélectionnez les nœuds gérés sur lesquels vous souhaitez exécuter cette opération en spécifiant des balises, en sélectionnant des instances ou des appareils de périphérie manuellement ou en spécifiant un groupe de ressources.

    Astuce

    Si, contrairement à vos attentes, un nœud géré ne figure pas dans la liste, consultez Résolution des problèmes de disponibilité des nœuds gérés pour obtenir des conseils de dépannage.

  8. Pour Autres paramètres :

    • Pour Comment (Commentaire), saisissez des informations à propos de cette commande.

    • Pour Délai (secondes), précisez le nombre de secondes durant lesquelles le système doit attendre avant de mettre en échec l'exécution de la commande globale.

  9. Pour Rate control (Contrôle de débit) :

    • Dans Concurrency (Simultanéité), spécifiez un nombre ou un pourcentage de nœuds gérés sur lesquels exécuter simultanément la commande.

      Note

      Si vous avez sélectionné des cibles en spécifiant les balises appliquées aux nœuds gérés ou en spécifiant des groupes de ressources AWS , et que vous n'êtes pas certain du nombre de nœuds gérés ciblés, limitez le nombre de cibles autorisées à exécuter simultanément le document en indiquant un pourcentage.

    • Dans Error threshold (Seuil d'erreur), indiquez quand arrêter l'exécution de la commande sur les autres nœuds gérés après l'échec de celle-ci sur un certain nombre ou un certain pourcentage de nœuds. Si, par exemple, vous spécifiez trois erreurs, Systems Manager cesse d'envoyer la commande à la réception de la quatrième erreur. Les nœuds gérés sur lesquels la commande est toujours en cours de traitement peuvent également envoyer des erreurs.

  10. (Facultatif) Pour Output options (Options de sortie), pour enregistrer la sortie de la commande dans un fichier, cochez la case Write command output to an S3 bucket (Écrire la sortie de commande vers un compartiment S3). Saisissez les noms de compartiment et de préfixe (dossier) dans les zones.

    Note

    Les autorisations S3 qui accordent la possibilité d'écrire les données dans un compartiment S3 sont celles du profil d'instance (pour les instances EC2) ou de la fonction du service IAM (pour les machines activées par un système hybride) attribués à l'instance, et non celles de l'utilisateur IAM qui effectue cette tâche. Pour plus d'informations, consultez Configurer les autorisations d'instance requises pour Systems Manager ou Créer un rôle de service IAM pour un environnement hybride. En outre, si le compartiment S3 spécifié se trouve dans un autre compartiment Compte AWS, assurez-vous que le profil d'instance ou le rôle de service IAM associé au nœud géré dispose des autorisations nécessaires pour écrire dans ce compartiment.

  11. Dans la section SNS notifications (Notifications SNS), si vous souhaitez envoyer des notifications sur le statut d'exécution des commandes, cochez la case Enable SNS notifications (Activer les notifications SNS).

    Pour plus d'informations sur la configuration des notifications Amazon SNS pour Run Command, consultez Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS.

  12. Cliquez sur Exécuter.

Note

Pour plus d'informations sur le redémarrage des serveurs et des instances en appelant des scripts à l'aide de Run Command, consultez Gestion des redémarrages lors de l'exécution de commandes.