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.
Utilisation de paramètres dans Parameter Store utilisant Run Command commands
Vous pouvez travailler avec des paramètres dans Run Command, une capacité de AWS Systems Manager. Pour de plus amples informations, veuillez consulter AWS Systems Manager Run Command.
Exécuter un paramètre String à l'aide de la console
La procédure suivante vous guide à travers le processus d'exécution d'une commande utilisant un paramètre String
.
Pour exécuter un paramètre de chaîne à l'aide de Parameter Store
Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/
. Dans le volet de navigation, choisissez Run Command.
-
Sélectionnez Run Command (Exécuter la commande).
-
Dans la liste Command document (Document de commande), sélectionnez
AWS-RunPowerShellScript
(Windows) ouAWS-RunShellScript
(Linux). -
Pour Command parameters (Paramètres de commande), entrez
echo {{ssm:
. olpPar exemple :parameter-name
}}echo {{ssm:/Test/helloWorld}}
. 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.
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.
-
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.
-
(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 permettent d'écrire les données dans un compartiment S3 sont celles du profil d'instance (pour les EC2 instances) ou du rôle de IAM service (machines activées par des hybrides) attribué à l'instance, et non celles de l'IAMutilisateur effectuant cette tâche. Pour plus d'informations, consultez Configurer les autorisations d'instance requises pour Systems Manager ou Créer un rôle de IAM service 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 IAM service associé au nœud géré dispose des autorisations nécessaires pour écrire dans ce compartiment.
Dans la section SNSdes notifications, si vous souhaitez que des notifications soient envoyées concernant le statut de l'exécution de la commande, cochez la case Activer SNS les notifications.
Pour plus d'informations sur la configuration des SNS notifications Amazon pour Run Command, voir Surveillance des changements de statut de Systems Manager à l'aide SNS des notifications Amazon.
-
Cliquez sur Exécuter.
-
Sur la page Command ID (ID de commande) dans la zone Targets and outputs (Cibles et sorties) sélectionnez le bouton en regard de l'ID d'un nœud dans lequel vous avez exécuté la commande, puis sélectionnez View output (Afficher la sortie). Vérifiez que la sortie de la commande est la valeur que vous avez fournie pour le paramètre, par exemple,
This is my first parameter
.
Exécutez un paramètre à l'aide du AWS CLI
Exemple 1 : commande simple
L'exemple de commande suivant inclut un paramètre Systems Manager appelé DNS-IP
. La valeur de ce paramètre est simplement l'adresse IP d'un nœud. Cet exemple utilise une commande AWS Command Line Interface (AWS CLI) pour faire écho à la valeur du paramètre.
La commande renvoie des informations telles que les suivantes.
{ "Command": { "CommandId": "c70a4671-8098-42da-b885-89716EXAMPLE", "DocumentName": "AWS-RunShellScript", "DocumentVersion": "1", "Comment": "", "ExpiresAfter": "2023-12-26T15:19:17.771000-05:00", "Parameters": { "commands": [ "echo {{ssm:DNS-IP}}" ] }, "InstanceIds": [], "Targets": [ { "Key": "instanceids", "Values": [ "i-02573cafcfEXAMPLE" ] } ], "RequestedDateTime": "2023-12-26T14:09:17.771000-05:00", "Status": "Pending", "StatusDetails": "Pending", "OutputS3Region": "us-east-2", "OutputS3BucketName": "", "OutputS3KeyPrefix": "", "MaxConcurrency": "50", "MaxErrors": "0", "TargetCount": 0, "CompletedCount": 0, "ErrorCount": 0, "DeliveryTimedOutCount": 0, "ServiceRole": "", "NotificationConfig": { "NotificationArn": "", "NotificationEvents": [], "NotificationType": "" }, "CloudWatchOutputConfig": { "CloudWatchLogGroupName": "", "CloudWatchOutputEnabled": false }, "TimeoutSeconds": 600, "AlarmConfiguration": { "IgnorePollAlarmFailure": false, "Alarms": [] }, "TriggeredAlarms": [] } }
Une fois l’exécution d’une commande terminée, vous pouvez afficher plus d’informations à son sujet à l’aide des commandes suivantes :
-
get-command-invocation : affiche des informations détaillées sur l’exécution de la commande.
-
list-command-invocations : affiche l’état d’exécution des commandes sur un nœud géré spécifique.
-
list-commands : affiche l’état d’exécution des commandes sur les nœuds gérés.
Exemple 2 : déchiffrer une valeur de paramètre SecureString
L'exemple de commande suivant utilise un SecureString
paramètre nommé SecurePassword. La commande utilisée dans le champ parameters
récupère et déchiffre la valeur du paramètre SecureString
, puis réinitialise le mot de passe administrateur local sans avoir à le transmettre en texte clair.
Exemple 3 : référencer un paramètre dans un SSM document
Vous pouvez également référencer les paramètres de Systems Manager dans la section Paramètres d'un SSM document, comme illustré dans l'exemple suivant.
{ "schemaVersion":"2.0", "description":"Sample version 2.0 document v2", "parameters":{ "commands" : { "type": "StringList", "default": ["{{ssm:
parameter-name
}}"] } }, "mainSteps":[ { "action":"aws:runShellScript", "name":"runShellScript", "inputs":{ "runCommand": "{{commands}}" } } ] }
Ne confondez pas la syntaxe similaire pour les paramètres locaux utilisée dans la runtimeConfig
section des SSM documents avec Parameter Store paramètres. Un paramètre local est différent d'un paramètre Systems Manager. Vous pouvez distinguer les paramètres locaux des paramètres Systems Manager par l'absence du préfixe ssm:
.
"runtimeConfig":{ "aws:runShellScript":{ "properties":[ { "id":"0.aws:runShellScript", "runCommand":"{{ commands }}", "workingDirectory":"{{ workingDirectory }}", "timeoutSeconds":"{{ executionTimeout }}"
Note
SSMles documents ne prennent pas en charge les références aux SecureString
paramètres. Cela signifie que pour utiliser SecureString
des paramètres avec, par exemple, Run Command, vous devez récupérer la valeur du paramètre avant de la transmettre à Run Command, comme le montrent les exemples suivants.