Pourquoi la fenêtre de maintenance Systems Manager me renvoie-t-elle le message d'erreur « Aucune instance dans la balise » ?

Dernière mise à jour : 29/04/2021

J'ai créé une fenêtre de maintenance qui exécute une Run Command AWS Systems Manager ciblant les balises d'instances Amazon Elastic Compute Cloud (Amazon EC2). Lorsque la commande s'exécute, je reçois un message « Aucune instance dans la balise ». Comment puis-je résoudre ce problème ?

Brève description

Lorsque vous exécutez une fenêtre de maintenance ciblant des instances qui utilisent des balises d'instances Amazon EC2, les ID d'instances des instances gérées se résolvent lors de l'exécution de la commande. L'ID d'instance ne se résout pas en tant que cible si l'instance n'est pas identifiée comme étant en ligne à Systems Manager. Lorsqu'une fenêtre de maintenance ne parvient pas à résoudre les cibles d'ID d'instance, le message « Aucune instance dans la balise » s'affiche.

Le message « Aucune instance dans la balise » s'affiche également lorsque la balise de ressource EC2 et la balise enregistrée comme cible de fenêtre de maintenance ne correspondent pas. Systems Manager utilise une méthode de correspondance de chaînes pour résoudre les correspondances entre les cibles et balises. Par conséquent, les balises sont sensibles à la casse et aux caractères. Tout espace supplémentaire entré dans la balise de ressource EC2 ou dans la balise cible de la fenêtre de maintenance entraîne l'affichage du message « Aucune instance dans la balise ».

Solution

Pour dépanner une instance qui n'est pas identifiée comme étant en ligne, consultez Pourquoi mon instance EC2 n'apparaît-elle pas sous Instances gérées dans la console Systems Manager ?

Pour identifier une balise non appariée, utilisez AWS CloudTrail afin d'isoler la valeur exacte transmise par la fenêtre de maintenance.

  1. Ouvrez la console CloudTrail, puis choisissez Historique des événements pour afficher les événements de la région dans laquelle vous avez créé la fenêtre de maintenance.
  2. Sélectionnez le filtre déroulant de recherche Nom de l'événement. Pour Saisir un nom d'événement, saisissez SendCommand afin d'afficher tous les événements de l'API Run Command. Il est recommandé de définir le filtre de temps sur l'heure à laquelle la fenêtre de maintenance s'est exécutée.
  3. Choisissez le nom de l'événement lié à un hyperlien pour afficher l'appel d'API au format JSON.
  4. Accédez à la section « cibles » de l'appel d'API pour afficher les valeurs exactes de balise transmises à partir de la fenêtre de maintenance. Ensuite, comparez la valeur de balise d'appel d'API à la balise d'instance EC2 affectée à votre instance.
  5. Mettez à jour les cibles de la fenêtre de maintenance ou la balise d'instance EC2 afin que les deux valeurs correspondent exactement.