Utiliser la fonctionnalité Run Command pour envoyer une commande qui renvoie des notifications de statut
Les procédures suivantes montrent comment utiliser l'AWS Command Line Interface (AWS CLI) ou la console AWS Systems Manager pour envoyer une commande via Run Command, une des fonctionnalités de AWS Systems Manager, configurée pour renvoyer des notifications de statut.
Envoi d'une tâche Run Command qui renvoie des notifications (console)
Utilisez la procédure suivante pour envoyer via la fonctionnalité Run Command une commande qui est configurée pour renvoyer des notifications de statut à l'aide de la console Systems Manager.
Pour envoyer une commande qui renvoie des notifications (console)
Ouvrez la console AWS Systems Manager à l'adresse https://console.aws.amazon.com/systems-manager/
. Dans le panneau de navigation, sélectionnez Run Command.
-
Sélectionnez Run Command (Exécuter la commande).
-
Dans la liste Command document (Document de commande), sélectionnez un document Systems Manager.
-
Dans la section Command parameters (Paramètres de la commande), indiquez des valeurs pour les paramètres requis.
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 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 les sections Configurer des autorisations d’instance requises pour Systems Manager et Créer un rôle de service IAM pour un environnement hybride. En outre, si le compartiment S3 spécifié se trouve sur un autre Compte AWS, assurez-vous que le profil d'instance ou la fonction de service IAM associé au nœud géré dispose des autorisations nécessaires pour écrire dans ce compartiment.
-
Dans la section SNS Notifications (Notifications SNS), sélectionnez Enable SNS notifications (Activer les notifications SNS).
-
Dans la section IAM Role (Rôle IAM), choisissez l'ARN du rôle IAM Amazon SNS que vous avez créé au cours de la tâche 3 dans Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS.
-
Dans le champ SNS topic (Rubrique SNS), saisissez l'ARN de la rubrique Amazon SNS à utiliser.
-
Pour Event notifications (Notifications d'événement), sélectionnez les événements pour lesquels vous souhaitez recevoir des notifications.
-
Pour Change notifications (Notification de modification), choisissez de recevoir des notifications uniquement pour le résumé des commandes (Command status changes (Changements d'état des commandes)) ou pour chaque copie d'une commande envoyée à plusieurs nœuds (Command status on each instance changes (L'état des commandes sur chaque instance change)).
-
Cliquez sur Exécuter.
-
Recherchez un message d'Amazon SNS dans votre messagerie et ouvrez l'e-mail. L'envoi de l'e-mail peut prendre plusieurs minutes à Amazon SNS.
Envoi d'une tâche Run Command qui renvoie des notifications (interface de ligne de commande)
Utilisez la procédure suivante pour envoyer via la fonctionnalité Run Command une commande qui est configurée afin de renvoyer des notifications de statut à l'aide de l'AWS CLI.
Pour envoyer une commande qui renvoie des notifications (interface de ligne de commande)
-
Ouvrez la AWS CLI.
-
Spécifiez les paramètres de la commande suivante pour cibler les nœuds en fonction des ID de nœud géré.
aws ssm send-command --instance-ids "
ID-1, ID-2
" --document-name "Name
" --parameters'{"commands":["input"]}'
--service-role"SNSRoleARN"
--notification-config '{"NotificationArn":"SNSTopicName
","NotificationEvents":["All
"],"NotificationType":"Command
"}'Voici un exemple.
aws ssm send-command --instance-ids "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
Autres commandes
Spécifiez les paramètres de la commande suivante pour cibler les instances gérées en utilisant des balises.
aws ssm send-command --targets "Key=tag:
TagName
,Values=TagKey
" --document-name "Name
" --parameters'{"commands":["input"]}'
--service-role"SNSRoleARN"
--notification-config '{"NotificationArn":"SNSTopicName
","NotificationEvents":["All
"],"NotificationType":"Command
"}'Voici un exemple.
aws ssm send-command --targets "Key=tag:Environment,Values=Dev" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
-
Appuyez sur Entrée.
-
Recherchez un message d'Amazon SNS dans votre messagerie et ouvrez l'e-mail. L'envoi de l'e-mail peut prendre plusieurs minutes à Amazon SNS.
Pour plus d’informations, consultez la section send-command dans la référence des commandes AWS CLI.