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.
Tutoriel : Création d'une EventBridge règle qui réagit aux AWS API appels via CloudTrail
Vous pouvez utiliser EventBridge les règles d'Amazon pour réagir aux API appels passés par un AWS service qui sont enregistrés par AWS CloudTrail.
Dans ce didacticiel, vous allez créer une AWS CloudTrailpiste, une fonction Lambda et une règle dans la EventBridge console. La règle invoque la fonction Lambda lorsqu'une instance EC2 Amazon est arrêtée.
Étapes :
Étape 1 : Création d'un AWS CloudTrail parcours
Si vous disposez déjà d’un journal de suivi configuré, passez directement à l’étape 2.
Pour créer un journal de suivi
Ouvrez la CloudTrail console à l'adresse https://console.aws.amazon.com/cloudtrail/
. -
Choisissez Trails (Suivis), Create trail (Créer un suivi).
-
Dans Trail name, tapez un nom pour le journal.
-
Pour Emplacement de stockage, choisissez Créer un compartiment S3.
-
Dans le AWS KMS champ alias, tapez un alias pour la KMS clé.
-
Choisissez Suivant.
-
Choisissez Suivant.
-
Choisissez Create trail (Créer un journal de suivi).
Étape 2 : Créer une fonction AWS Lambda
Créez une fonction Lambda pour enregistrer les événements d'APIappel.
Pour créer une fonction Lambda
Ouvrez la AWS Lambda console à l'adresse https://console.aws.amazon.com/lambda/
. -
Choisissez Créer une fonction.
-
Choisissez Créer à partir de zéro.
-
Saisissez un nom et une description pour la fonction Lambda. Par exemple, nommez la fonction
LogEC2StopInstance
. -
Gardez les autres options comme valeurs par défaut et choisissez Créer une fonction.
-
Dans l’onglet Code de la page de fonction, double-cliquez sur index.js.
-
Remplacez le code existant par le code suivant.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2StopInstance'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Choisissez Deploy (Déployer).
Étape 3 : Créer une règle
Créez une règle pour exécuter la fonction Lambda que vous avez créée à l'étape 2 chaque fois que vous arrêtez une instance AmazonEC2.
Pour créer une règle
Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/
. -
Dans le volet de navigation, choisissez Règles.
-
Choisissez Créer une règle.
-
Saisissez un nom et une description pour la règle. Par exemple, nommez la règle
TestRule
-
Pour Event bus (Bus d'événement), sélectionnez le bus d'événement que vous souhaitez associer à cette règle. Si vous souhaitez que cette règle mette en correspondance les événements en provenance de votre compte, sélectionnez Par défaut. Lorsqu'un service AWS de votre compte émet un événement, il accède toujours au bus d'événement par défaut de votre compte.
-
Pour Type de règle, choisissez Règle avec un modèle d’événement.
-
Choisissez Suivant.
-
Pour Source d'événement, choisissez Services AWS .
-
Pour Event pattern (Modèle d’événement), procédez comme suit :
-
Pour Source de l'événement, EC2sélectionnez dans la liste déroulante.
-
Pour le type d'événement, sélectionnez AWS APIAppeler via CloudTrail dans la liste déroulante.
-
Choisissez Opération(s) spécifique(s) et entrez
StopInstances
.
-
-
Choisissez Suivant.
-
Pour Types de cibles, choisissez service AWS .
-
Pour Sélectionner une cible, choisissez Fonction Lambda dans la liste déroulante.
-
Pour Fonction, sélectionnez la fonction Lambda que vous avez créée dans la section Étape 1 : Créer une fonction Lambda. Dans cet exemple, sélectionnez
LogEC2StopInstance
. -
Choisissez Suivant.
-
Choisissez Suivant.
-
Consultez les détails de la règle et choisissez Create rule (Créer une règle).
Étape 4 : Tester la règle
Vous pouvez tester votre règle en arrêtant une EC2 instance Amazon à l'aide de la EC2 console Amazon. Attendez quelques minutes que l'instance s'arrête, puis vérifiez vos AWS Lambda métriques sur la CloudWatch console pour vérifier que votre fonction s'est exécutée.
Pour tester votre règle en arrêtant une instance
Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/
. -
Lancez une instance. Pour plus d'informations, consultez Launch Your Instance dans le guide de EC2 l'utilisateur Amazon.
-
Arrêtez l’instance. Pour plus d'informations, consultez la section Stop and Start Your Instance dans le guide de EC2 l'utilisateur Amazon.
-
Pour afficher la sortie de la fonction Lambda, procédez de la manière suivante :
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Dans le panneau de navigation, sélectionnez Logs (Journaux).
-
Sélectionnez le nom du groupe de journaux pour votre fonction Lambda (
/aws/lambda/
).function-name
-
Sélectionnez le nom du flux de journaux pour afficher les données fournies par la fonction concernant l'instance que vous avez arrêtée.
-
(Facultatif) Lorsque vous avez terminé, mettez fin à l'instance arrêtée. Pour plus d'informations, consultez la section Résiliation de votre instance dans le guide de EC2 l'utilisateur Amazon.
Étape 5 : Confirmer la bonne exécution
Si vous voyez l'événement Lambda dans les CloudWatch journaux, cela signifie que vous avez terminé ce didacticiel avec succès. Si l'événement ne figure pas dans vos CloudWatch journaux, commencez le dépannage en vérifiant que la règle a été créée avec succès et, si la règle semble correcte, vérifiez que le code de votre fonction Lambda est correct.
Étape 6 : Nettoyer vos ressources
Vous pouvez maintenant supprimer les ressources que vous avez créées pour ce didacticiel, sauf si vous souhaitez les conserver. En supprimant AWS les ressources que vous n'utilisez plus, vous évitez des frais inutiles sur votre AWS compte.
Pour supprimer la ou les EventBridge règles
-
Ouvrez la page Règles
de la EventBridge console. -
Sélectionnez la ou les règles que vous avez créées.
-
Sélectionnez Delete.
-
Sélectionnez Delete.
Pour supprimer la ou les fonctions Lambda
-
Ouvrez la page Functions
(Fonctions) de la console Lambda. -
Sélectionnez la ou les fonctions que vous avez créées.
-
Sélectionnez Actions, Supprimer.
-
Sélectionnez Supprimer.
Pour supprimer le ou les CloudTrail parcours
-
Ouvrez la page Trails
de la CloudTrail console. -
Sélectionnez le ou les journaux de suivi que vous avez créés.
-
Sélectionnez Delete.
-
Sélectionnez Supprimer.