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

Amazon vous permet EventBridge d'automatiser les AWS services et de répondre aux événements du système tels que les problèmes de disponibilité des applications ou les modifications des ressources.

Tutoriel : Consigner les modifications de l'état d'une instance de base de données à l'aide EventBridge

Dans ce didacticiel, vous allez créer une AWS Lambda fonction 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 AWS Lambda fonction

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 AWS Lambda console à 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 InstanceStateChange page RDS, 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 EventBridge règle
  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, choisissez Règles.

  3. Choisissez Créer une règle.

  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. Dans Source de l'événement, choisissez AWS des événements ou des événements EventBridge partenaires.

  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 AWS services.

  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 EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  4. Dans le volet 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 redirigé vers la CloudWatch console Amazon. Si vous n'êtes pas redirigé, cliquez sur Afficher les statistiques 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 Vue d'ensemble 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.