Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS - 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.

Surveillance des changements d'état du Systems Manager à l'aide des notifications Amazon SNS

Note

Les rubriques FIFO d'Amazon Simple Notification Service ne sont pas prises en charge.

Vous pouvez configurer Amazon Simple Notification Service (Amazon SNS) de sorte à envoyer des notifications sur le statut des commandes que vous envoyez à l'aide de Run Command ou Maintenance Windows, qui sont des fonctionnalités de AWS Systems Manager. Amazon SNS coordonne et gère la réception ou l'envoi de notifications aux points de terminaison ou aux clients abonnés aux rubriques Amazon SNS. Vous pouvez recevoir une notification chaque fois qu'une commande change de statut ou passe à un statut spécifique, par exemple, Échec ou Expiré. Lorsque vous envoyez une commande à plusieurs nœuds, vous pouvez recevoir une notification pour chaque copie de la commande envoyée à un nœud spécifique. Chaque copie s'appelle un appel.

Amazon SNS peut envoyer des notifications HTTP ou HTTPS POST, par e-mail (SMTP, texte brut ou format JSON) ou via un message publié dans une file d'attente Amazon Simple Queue Service (Amazon SQS). Pour plus d'informations, consultez Qu'est-ce qu'Amazon SNS ? dans le Guide du développeur Amazon Simple Notification Service. Pour voir des exemples de la structure des données JSON incluses dans la notification Amazon SNS fournie par Maintenance Windows et Run Command, consultez Exemple de notifications Amazon SNS pour AWS Systems Manager.

Configurer les notifications Amazon SNS pour AWS Systems Manager

Run Command et les tâches Maintenance Windows qui sont enregistrées auprès d'une fenêtre de maintenance peuvent envoyer des notifications Amazon SNS pour les tâches de commande dont le statut devient l'un des suivants :

  • En cours

  • Réussite

  • Échec

  • Expiré

  • Annulé

Pour de plus amples informations sur les conditions qui entraînent ces changements de statut, consultez la section Comprendre les états des commandes.

Note

Les commandes envoyées à l'aide de la fonctionnalité Run Command signalent également les statuts Annulation en cours et En suspens. Ces statuts ne sont pas capturés par les notifications Amazon SNS.

Résumé de commandes associé aux notifications Amazon SNS

Si vous configurez Run Command ou une tâche Run Command dans votre fenêtre de maintenance pour les notifications Amazon SNS, Amazon SNS envoie des messages récapitulatifs qui incluent les informations suivantes.

Champ Type Description

eventTime

Chaîne

Heure à laquelle l'événement a été initié. L'horodatage est important, car Amazon SNS ne garantit pas l'ordre de transmission des messages. Exemple : 2016-04-26T13:15:30Z

documentName

Chaîne

Nom du document SSM utilisé pour exécuter cette commande.

commandId

Chaîne

ID généré par la fonctionnalité Run Command une fois que la commande a été envoyée.

expiresAfter

Date

Si la date d'expiration est atteinte et que la commande n'a pas encore démarré, l'exécution n'a pas lieu.

outputS3BucketName

Chaîne

Le compartiment Amazon Simple Storage Service (Amazon S3) dans lequel les réponses à l'exécution de la commande doivent être stockées.

outputS3KeyPrefix

Chaîne

Chemin du répertoire Amazon S3 à l'intérieur du compartiment dans lequel les réponses à l'exécution de la commande doivent être stockées.

requestedDateTime

Chaîne

Heure et date auxquelles la demande a été envoyée à ce nœud spécifique.

instanceIds

StringList

Nœuds qui étaient ciblés par la commande.

Note

Les ID d'instance ne sont inclus dans le message récapitulatif que si la tâche Run Command ciblait directement les ID d'instance. Les ID d'instance ne sont pas inclus dans le message récapitulatif si la tâche Run Command a été émise en utilisant un ciblage en fonction des balises.

status

Chaîne

Statut de la commande.

Notifications Amazon SNS basées sur les appels

Si vous envoyez une commande à plusieurs nœuds, Amazon SNS peut envoyer des messages concernant chaque copie ou appel de la commande. Les messages incluent les informations suivantes.

Champ Type Description

eventTime

Chaîne

Heure à laquelle l'événement a été initié. L'horodatage est important, car Amazon SNS ne garantit pas l'ordre de transmission des messages. Exemple : 2016-04-26T13:15:30Z

documentName

Chaîne

Nom du document Systems Manager (document SSM) utilisé pour exécuter cette commande.

requestedDateTime

Chaîne

Heure et date auxquelles la demande a été envoyée à ce nœud spécifique.

commandId

Chaîne

ID généré par la fonctionnalité Run Command une fois que la commande a été envoyée.

instanceId

Chaîne

Instance qui était ciblée par la commande.

status

Chaîne

Statut de la commande pour cet appel.

Pour configurer les notifications Amazon SNS en cas de changement de statut d'une commande, effectuez les tâches suivantes.

Note

Si vous ne configurez pas les notifications Amazon SNS pour votre fenêtre de maintenance, vous pouvez ignorer la tâche 5 décrite plus loin dans cette rubrique.

Tâche 1 : Créer une rubrique Amazon SNS et s'y abonner

Une rubrique Amazon SNS est un canal de communication utilisé par des tâches Run Command et Run Command, qui sont enregistrées auprès d'une fenêtre de maintenance, pour envoyer des notifications relatives au statut de vos commandes. Amazon SNS prend en charge différents protocoles de communication, notamment HTTP/S, les e-mails et d'autres Services AWS comme Amazon Simple Queue Service (Amazon SQS). Pour commencer, nous vous recommandons de commencer par le protocole de messagerie. Pour obtenir des informations sur la création d'une rubrique, consultez Création d'une rubrique Amazon SNS dans le Guide du développeur Amazon Simple Notification Service.

Note

Une fois que vous avez créé la rubrique, copier l'ARN de la rubrique ou prenez-en note. Vous devez spécifier cet ARN lorsque vous envoyez une commande qui est configurée pour renvoyer des notifications de statut.

Une fois que vous avez créé la rubrique, vous devez vous y abonner en spécifiant un Point de terminaison. Si vous avez choisi le protocole de messagerie, le point de terminaison est l'adresse e-mail à laquelle vous souhaitez recevoir des notifications. Pour plus d'informations sur l'abonnement à une rubrique, consultez Abonnement à une rubrique Amazon SNS dans le Guide du développeur Amazon Simple Notification Service.

Amazon SNS envoie un e-mail de confirmation à partir d'AWS Notifications à l'adresse e-mail que vous spécifiez. Ouvrez cet e-mail et sélectionnez le lien Confirm subscription (Confirmer l'abonnement).

Vous recevrez un message d'accusé de réception d'AWS. Amazon SNS est maintenant configuré pour recevoir des notifications et envoyer la notification par e-mail à l'adresse spécifiée.

Tâche 2 : Créer une politique IAM pour les notifications Amazon SNS

Utilisez la procédure suivante afin de créer une politique AWS Identity and Access Management (IAM) personnalisée qui fournit les autorisations nécessaires pour lancer des notifications Amazon SNS.

Pour créer une politique IAM personnalisée pour les notifications Amazon SNS
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, choisissez Policies, puis Create Policy. (Si un bouton Get Started (Mise en route) est affiché, sélectionnez-le, puis sélectionnez Create Policy [Créer une politique].)

  3. Sélectionnez l'onglet JSON.

  4. Remplacez le contenu par défaut par la commande suivante :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:sns-topic-name" } ] }

    region représente l'identifiant d'une Région AWS prise en charge par AWS Systems Manager, telle que us-east-2 pour la région USA Est (Ohio). Pour obtenir une liste des valeurs region prises en charge, consultez la colonne Région dans la rubrique Points de terminaison de service Systems Manager de la Référence générale d'Amazon Web Services.

    account-id représente l'identifiant à 12 chiffres de votre Compte AWS au format 123456789012.

    sns-topic-name représente le nom de la rubrique Amazon SNS que vous souhaitez utiliser pour publier des notifications.

  5. Sélectionnez Suivant : Étiquettes.

  6. (Facultatif) Ajoutez une ou plusieurs paires clé-valeur d'identification afin d'organiser, de suivre ou de contrôler l'accès pour cette politique.

  7. Choisissez Next: Review (Suivant : Vérification).

  8. Sur la page Examiner une politique, dans le champ Nom, saisissez un nom pour la politique en ligne. Par exemple : my-sns-publish-permissions.

  9. (Facultatif) Dans le champ Description, saisissez une description pour la politique.

  10. Sélectionnez Créer une politique.

Tâche 3 : Créer un rôle IAM pour les notifications Amazon SNS

Utilisez la procédure suivante afin de créer un rôle IAM pour les notifications Amazon SNS. Ce rôle de service est utilisé par Systems Manager pour initier des notifications Amazon SNS. Dans toutes les procédures suivantes, ce rôle est appelé rôle IAM Amazon SNS.

Pour créer un rôle de service IAM pour les notifications Amazon SNS
  1. Connectez-vous à l’outil AWS Management Console, puis ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de la console IAM, sélectionnez Roles (Rôles), puis Create role (Créer un rôle).

  3. Choisissez le type de rôle du Service AWS, puis choisissez Systems Manager.

  4. Choisissez le cas d'utilisation de Systems Manager. Ensuite, choisissez Next (Suivant).

  5. Sur la page Attacher des politiques d'autorisations, cochez la case située à gauche du nom de la politique personnalisée que vous avez créée à la tâche 2. Par exemple : my-sns-publish-permissions.

  6. (Facultatif) Définissez une limite d'autorisations. Il s'agit d'une fonctionnalité avancée disponible pour les rôles de service, mais pas les rôles liés à un service.

    Développez la section Permissions boundary (Limite d'autorisations) et sélectionnez Use a permissions boundary to control the maximum role permissions (Utiliser une limite d'autorisations pour contrôler le nombre maximum d'autorisations de rôle). IAM inclut une liste des politiques gérées par AWS et des politiques gérées par le client dans votre compte. Sélectionnez la politique à utiliser pour la limite d'autorisations ou choisissez Créer une politique pour ouvrir un nouvel onglet de navigateur et créer une nouvelle politique de bout en bout. Pour plus d'informations, consultez Création de politiques IAM dans le Guide de l'utilisateur IAM. Une fois la politique créée, fermez cet onglet et revenez à l'onglet initial pour sélectionner la politique à utiliser pour la limite d'autorisations.

  7. Choisissez Next (Suivant).

  8. Si possible, saisissez un nom de rôle ou le suffixe d'un nom de rôle vous permettant d'identifier l'objectif du rôle. Les noms de rôle doivent être uniques dans votre Compte AWS. Ils ne sont pas sensibles à la casse. Par exemple, vous ne pouvez pas créer deux rôles nommés PRODROLE et prodrole. Différentes entités peuvent référencer le rôle et il n'est donc pas possible de modifier son nom après sa création.

  9. (Facultatif) Pour Description, saisissez une description pour le nouveau rôle.

  10. Choisissez Edit (Modifier) dans les sections Step 1: Select trusted entities (Étape 1 : sélection d'entités de confiance) ou Step 2: Select permissions (Étape 2 : sélection d'autorisations) pour modifier les cas d'utilisation et les autorisations pour le rôle.

  11. (Facultatif) Ajoutez des métadonnées à l'utilisateur en associant les balises sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balises dans IAM, consultez la rubrique Balisage des ressources IAM dans le Guide de l'utilisateur IAM.

  12. Passez en revue les informations du rôle, puis choisissez Créer un rôle.

  13. Choisissez le nom du rôle, puis copiez ou notez la valeur de Role ARN (ARN du rôle). Cet Amazon Resource Name (ARN) pour le rôle est utilisé lorsque vous envoyez une commande configurée pour renvoyer des notifications Amazon SNS.

  14. La page Summary (Récapitulatif) s'ouvre.

Tâche 4 : Configuration de l'accès utilisateur

Si des autorisations d'administrateur sont attribuées à une entité IAM (utilisateur, rôle ou groupe), l'utilisateur ou le rôle a accès à Run Command et Maintenance Windows, des fonctionnalités AWS Systems Manager.

Pour les entités sans autorisations d'administrateur, un administrateur doit accorder les autorisations suivantes à l'entité IAM :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/sns-role-name" } ] }

Pour activer l'accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Pour configurer l'accès utilisateur et associer la politique iam:PassRole à un compte utilisateur
  1. Dans le panneau de navigation IAM, sélectionnez Users (Utilisateurs), puis le compte utilisateur à configurer.

  2. Sous l'onglet Permissions (Autorisations), dans la liste des politiques, vérifiez que la politique AmazonSSMFullAccess est répertoriée ou qu'une politique comparable autorise le compte à accéder à Systems Manager.

  3. Sélectionnez Ajouter une politique en ligne.

  4. Dans la page Créer une politique, sélectionnez l'onglet Éditeur visuel.

  5. Sélectionnez Choose a service (Sélectionner un service), puis IAM.

  6. Pour Actions (Actions), dans la zone de texte Filter actions (Filtrer les actions), saisissez PassRole, puis sélectionnez la case à cocher en regard de PassRole.

  7. Pour Resources (Ressources), vérifiez que Specific (Spécifique) est sélectionné, puis sélectionnez Add ARN (Ajouter un ARN).

  8. Dans le champ Specify ARN for role (Spécifier l'ARN du rôle), collez l'ARN du rôle IAM Amazon SNS que vous avez copié à la fin de la tâche 3. Le système remplit automatiquement les champs Account (Compte) et Role name with path (Nom du rôle avec chemin d'accès).

  9. Choisissez Add (Ajouter).

  10. Sélectionnez Review policy (Examiner une politique).

  11. Sur la page Review Policy (Examiner une politique), saisissez un nom, puis choisissez Create Policy (Créer une politique).

Tâche 5 : Attachement de la politique iam:PassRole à votre rôle de fenêtre de maintenance

Lorsque vous enregistrez une tâche Run Command auprès d'une fenêtre de maintenance, vous spécifiez un Amazon Resource Name (ARN) de rôle de service. Ce rôle de service est utilisé par Systems Manager pour exécuter des tâches enregistrées auprès de la fenêtre de maintenance. Pour configurer les notifications Amazon SNS pour une tâche Run Command enregistrée, attachez une politique iam:PassRole au rôle de service de fenêtre de maintenance spécifié. Si vous n'avez pas l'intention de configurer la tâche enregistrée pour les notifications Amazon SNS, vous pouvez ignorer cette tâche.

La politique iam:PassRole autorise le rôle de service Maintenance Windows à transmettre le rôle IAM Amazon SNS créé au cours de la tâche 3 au service Amazon SNS. La procédure suivante montre comment attacher la politique iam:PassRole au rôle de service Maintenance Windows.

Note

Utilisez un rôle de service personnalisé pour votre fenêtre de maintenance afin d'envoyer des notifications concernant les tâches Run Command enregistrées. Pour plus d'informations, consultez Configuration de Maintenance Windows.

Si vous devez créer une fonction du service personnalisée pour les tâches de la fenêtre de maintenance, consultez la rubrique Utiliser la console pour configurer les autorisations pour les fenêtres de maintenance.

Pour attacher la politique iam:PassRole au rôle Maintenance Windows
  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, sélectionnez Roles (Rôles), puis sélectionnez le rôle IAM Amazon SNS créé au cours de la tâche 3.

  3. Copiez le Role ARN (ARN de rôle) ou notez-le et revenez à la section Roles (Rôles) de la console IAM.

  4. Sélectionnez le rôle de service Maintenance Windows personnalisé que vous avez créé depuis la liste Role name (Nom de rôle).

  5. Sous l'onglet Permissions (Autorisations), vérifiez que la politique AmazonSSMMaintenanceWindowRole est répertoriée ou qu'une politique comparable accorde à la fenêtre de maintenance l'autorisation d'accéder à l'API Systems Manager. Si ce n'est pas le cas, choisissez Attacher des politiques pour l'attacher.

  6. Choisissez Add permissions, Create inline policy (Ajouter des autorisations, Créer une politique en ligne).

  7. Sélectionnez l'onglet Visual Editor.

  8. Pour Service, sélectionnez IAM.

  9. Pour Actions (Actions), dans la zone de texte Filter actions (Filtrer les actions), saisissez PassRole, puis sélectionnez la case à cocher en regard de PassRole.

  10. Pour Ressources, sélectionnez Spécifique, puis Ajouter un ARN.

  11. Dans la zone Specify ARN for role (Spécifier l'ARN pour le rôle), collez l'ARN du rôle IAM Amazon SNS créé dans la tâche 3, puis sélectionnez Add (Ajouter).

  12. Sélectionnez Review policy (Examiner une politique).

  13. Sur la page Examiner une politique indiquez un nom pour la politique PassRole, puis sélectionnez Créer une politique.