

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 : Enregistrez l'état d'un groupe Auto Scaling à l'aide de EventBridge
<a name="eb-log-as-group-state"></a>

Vous pouvez exécuter une fonction [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) qui journalise un [événement](eb-events.md) chaque fois qu’un groupe Auto Scaling lance ou résilie une instance Amazon EC2 qui indique si un événement a abouti.

Pour plus d'informations sur d'autres scénarios utilisant des événements Amazon EC2 Auto Scaling, [consultez la section EventBridge Utiliser pour gérer les événements Auto Scaling](https://docs.aws.amazon.com/autoscaling/latest/userguide/automating-ec2-auto-scaling-with-eventbridge.html) dans *le guide de l'utilisateur d'Amazon EC2 Auto* Scaling.

Dans ce didacticiel, vous créez une fonction Lambda et vous créez une [règle](eb-rules.md) dans la EventBridge console qui appelle cette fonction lorsqu'un groupe Amazon EC2 Auto Scaling lance ou met fin à une instance.

**Topics**
+ [Conditions préalables](#eb-as-prereqs)
+ [Étape 1 : créer une fonction Lambda](#eb-as-create-lambda-function)
+ [Étape 2 : création d’une règle](#eb-as-create-rule)
+ [Étape 3 : test de la règle](#eb-as-test-rule)
+ [Étape 4 : Confirmer la bonne exécution](#success)
+ [Étape 5 : Nettoyer vos ressources](#cleanup)

## Conditions préalables
<a name="eb-as-prereqs"></a>

Pour suivre ce didacticiel, vous aurez besoin des ressources suivantes :
+ Un groupe Auto Scaling. Pour savoir comment en créer un, consultez [Création d’un groupe Auto Scaling à l’aide d’une configuration de lancement](https://docs.aws.amazon.com/autoscaling/latest/userguide/create-asg.html) dans le Guide de l’utilisateur Amazon EC2 Auto Scaling.

## Étape 1 : créer une fonction Lambda
<a name="eb-as-create-lambda-function"></a>

Créez une fonction Lambda pour enregistrer les événements de montée et de diminution en charge de votre groupe Auto Scaling. 

**Pour créer une fonction Lambda**

1. Ouvrez la AWS Lambda console à l'adresse [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Choisissez **Créer une fonction**.

1. Choisissez **Créer à partir de zéro**.

1. Entrez un nom pour la fonction Lambda. Par exemple, nommez la fonction `LogAutoScalingEvent`.

1. Gardez les autres options comme valeurs par défaut et choisissez **Créer une fonction**.

1. Dans l’onglet **Code** de la page de fonction, double-cliquez sur **index.js**.

1. Remplacez le code existant par le code suivant.

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogAutoScalingEvent');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. Choisissez **Deploy** (Déployer).

## Étape 2 : création d’une règle
<a name="eb-as-create-rule"></a>

Créez une règle pour exécuter la fonction Lambda que vous avez créée à l’étape 1. La règle s’exécute lorsque votre groupe Auto Scaling démarre ou arrête une instance.

**Pour créer une règle**

1. Ouvrez la EventBridge console Amazon à l'adresse [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Dans le panneau de navigation, choisissez **Rules**.

1. Choisissez **Créer une règle**.

1. Saisissez un nom et une description pour la règle. Par exemple, nommez la règle `TestRule`

1. 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.

1. Pour **Type de règle**, choisissez **Règle avec un modèle d’événement**.

1. Choisissez **Suivant**.

1. Pour **Source d'événement**, choisissez **Services AWS **.

1. Pour **Event pattern** (Modèle d’événement), procédez comme suit :

   1. Pour **Source d’événement**, sélectionnez **Auto Scaling** dans la liste déroulante.

   1. Pour **Type d’événement**, sélectionnez **Lancement et résiliation d’une instance** dans la liste déroulante.

   1. Choisissez **Tout événement d’instance** et **Tout nom de groupe**.

1. Choisissez **Suivant**.

1. Pour **Types de cibles**, choisissez **service AWS **.

1. Pour **Sélectionner une cible**, choisissez **Fonction Lambda** dans la liste déroulante.

1. 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 `LogAutoScalingEvent`.

1. Choisissez **Suivant**.

1. Choisissez **Suivant**.

1. Consultez les détails de la règle et choisissez **Create rule** (Créer une règle).

## Étape 3 : test de la règle
<a name="eb-as-test-rule"></a>

Vous pouvez tester votre règle en dimensionnant manuellement un groupe Auto Scaling de sorte qu'il lance une instance. Attendez quelques minutes le temps que l’événement de montée en puissance se produise, puis vérifiez que votre fonction Lambda a été invoquée.

**Pour tester votre règle avec un groupe Auto Scaling**

1. Pour augmenter la taille du groupe Auto Scaling, procédez de la manière suivante :

   1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

   1. Dans le volet de navigation, choisissez **Auto Scaling**, puis **Auto Scaling Groups (Groupes Auto Scaling)**.

   1. Cochez la case correspondant à votre groupe Auto Scaling.

   1. Dans l'onglet **Details (Détails)**, choisissez **Edit (Modifier)**. Pour **Desired**, augmentez la capacité souhaitez d'un. Par exemple, si la valeur actuelle est **2**, entrez **3**. La capacité souhaitée doit être inférieure ou égale à la taille maximum du groupe. Si la nouvelle valeur pour **Desired** est supérieure à **Max**, vous devez mettre à jour **Max**. Lorsque vous avez terminé, sélectionnez **Enregistrer**.

1. Pour afficher la sortie de la fonction Lambda, procédez de la manière suivante :

   1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

   1. Dans le panneau de navigation, sélectionnez **Logs** (Journaux).

   1. Sélectionnez le nom du groupe de journaux pour votre fonction Lambda (`/aws/lambda/function-name`).

   1. Sélectionnez le nom du flux de journaux pour afficher les données fournies par la fonction concernant l'instance que vous avez lancée.

1. (Facultatif) Lorsque vous avez terminé, vous pouvez réduire la capacité souhaitée d’une unité, de sorte que le groupe Auto Scaling reprenne sa taille antérieure.

## Étape 4 : Confirmer la bonne exécution
<a name="success"></a>

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 5 : Nettoyer vos ressources
<a name="cleanup"></a>

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**

1. Ouvrez la [page Règles](https://console.aws.amazon.com/events/home#/rules) de la EventBridge console.

1. Sélectionnez la ou les règles que vous avez créées.

1. Sélectionnez **Delete (Supprimer)**.

1. Sélectionnez **Delete (Supprimer)**.

**Pour supprimer la ou les fonctions Lambda**

1. Ouvrez la [page Functions](https://console.aws.amazon.com/lambda/home#/functions) (Fonctions) de la console Lambda.

1. Sélectionnez la ou les fonctions que vous avez créées.

1. Sélectionnez **Actions**, **Supprimer**.

1. Sélectionnez **Supprimer**.