Création d’une règle qui se déclenche sur un événement Amazon Aurora - Amazon Aurora

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.

Création d’une règle qui se déclenche sur un événement Amazon Aurora

Grâce à Amazon EventBridge, vous pouvez automatiser les services AWS et répondre à des événements système tels que des problèmes de disponibilité d’application ou des modifications de ressources.

Tutoriel : journaliser les changements d’état de l’instance de base de données à l’aide d’Amazon EventBridge

Dans ce tutoriel, vous créez une fonction AWS Lambda qui enregistre les changements d’état d’une instance . Vous créez ensuite une règle qui exécute la fonction chaque fois qu’il y a un changement d’état d’une instance de base de données RDS existante. Le didacticiel suppose que vous avez d’une petite instance de test en cours d’exécution, que vous pouvez arrêter momentanément.

Important

N’appliquez pas ce tutoriel à une instance de base de données de production en cours d’exécution.

Étape 1 : création d’une fonction AWS Lambda

Créez une fonction Lambda pour enregistrer les événements de changement d’état. Vous spécifiez cette fonction lors de la création de votre règle.

Pour créer une fonction Lambda
  1. Ouvrez la console AWS Lambda à l’adresse https://console.aws.amazon.com/lambda/.

  2. Si vous utilisez Lambda pour la première fois, une page de bienvenue s’affiche. Sélectionnez Pour commencer. Sinon, choisissez Créer la fonction.

  3. Choisissez Créer à partir de scratch.

  4. Sur la page Create function (Créer une fonction), procédez de la façon suivante :

    1. Saisissez un nom et une description pour la fonction Lambda. Par exemple, nommez la fonction RDSInstanceStateChange.

    2. Dans Runtime, sélectionnez Node.js 16x.

    3. Pour Architecture, choisissez x86_64.

    4. Pour Execution role (Rôle d’exécution), effectuez l’une des opérations suivantes :

      • Choisissez Create a new role with basic Lambda permissions (Créer un rôle avec les autorisations Lambda standard).

      • Pour Existing role (Rôle existant), sélectionnez Use an existing role (Utiliser un rôle existant). Choisissez le rôle que vous voulez utiliser.

    5. Choisissez Créer une fonction.

  5. Sur la page RDSInstanceStateChange, procédez comme suit :

    1. Dans Code source (Source de code), sélectionnez index.js.

    2. Dans le panneau index.js, supprimez le code existant.

    3. Saisissez le code suivant :

      console.log('Loading function'); exports.handler = async (event, context) => { console.log('Received event:', JSON.stringify(event)); };
    4. Choisissez Deploy (Déployer).

Étape 2 : création d’une règle

Créez une règle pour exécuter votre fonction Lambda chaque fois que vous lancez une instance Amazon RDS.

Pour créer la règle EventBridge
  1. Ouvrez la console Amazon EventBridge à l’adresse https://console.aws.amazon.com/events/.

  2. Dans le panneau de navigation, choisissez Rules.

  3. Choisissez Create rule.

  4. Saisissez un nom et une description pour la règle. Par exemple, entrez RDSInstanceStateChangeRule.

  5. Sélectionnez Rule with an event pattern (Règle avec un modèle d’événement), puis sélectionnez Next (Suivant).

  6. Pour Source d’événement, choisissez Événements AWS ou événements partenaires EventBridge.

  7. Faites défiler la page vers le bas jusqu’à la section Event pattern (Modèle d’événement).

  8. Pour Event source (Source d’événement), choisissez Services AWS.

  9. Pour Service AWS, choisissez Relational Database Service (RDS).

  10. Pour Event type (Type d’événement), sélectionnez RDS DB Instance Event (événement d’instance de base de données RDS).

  11. Laissez le modèle d’événement par défaut. Ensuite, sélectionnez Suivant.

  12. Pour Types de cibles, choisissez service AWS.

  13. Pour Select a target (Sélectionner une cible), choisissez Lambda Function (Fonction Lambda).

  14. Dans Function (Fonction), choisissez la fonction Lambda que vous avez créée. Ensuite, sélectionnez Suivant.

  15. Dans la rubrique Configure tags (Configurer les balises), sélectionnez Next (Suivant).

  16. Passez en revue les étapes de votre règle. Puis, choisissez Create rule (Créer une règle).

Étape 3 : test de la règle

Pour tester votre règle, arrêtez une instance de base de données RDS. Après avoir attendu quelques minutes que l’instance s’arrête, vous pouvez vérifier que votre fonction Lambda a été appelée.

Pour tester votre règle en arrêtant une instance de base de données
  1. Ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/.

  2. Arrêter une instance de base de données RDS.

  3. Ouvrez la console Amazon EventBridge à l’adresse https://console.aws.amazon.com/events/.

  4. Dans le panneau de navigation, cliquez sur Rules (Règles), puis sur le nom de la règle que vous avez créée.

  5. Dans Détails des règles, choisissez Surveillance.

    Vous êtes ensuite redirigé vers la console Amazon CloudWatch. Si vous n’êtes pas redirigé, cliquez sur Afficher les métriques dans CloudWatch.

  6. Dans All metrics (Toutes les métriques), cliquez sur le nom de la règle que vous avez créée.

    Le graphique doit indiquer que la règle a été appelée.

  7. Dans le panneau de navigation, sélectionnez Groupes de journaux.

  8. Cliquez sur le nom du groupe de journaux pour votre fonction Lambda (/aws/lambda/function-name).

  9. Choisissez le nom du flux de journaux pour afficher les données fournies par la fonction concernant l’instance que vous avez lancée. Vous devez voir un événement reçu semblable à ce qui suit :

    { "version": "0", "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "111111111111", "time": "2021-03-19T19:34:09Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:111111111111:db:testdb" ], "detail": { "EventCategories": [ "notification" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb", "Date": "2021-03-19T19:34:09.293Z", "Message": "DB instance stopped", "SourceIdentifier": "testdb", "EventID": "RDS-EVENT-0087" } }

    Pour voir plus d’exemples d’événements RDS au format JSON, consultez Présentation des événements pour Aurora.

  10. (Facultatif) Lorsque vous avez terminé, vous pouvez ouvrir la console Amazon RDS et lancer l’instance que vous avez arrêtée.