Réaliser une action du cycle de vie dans un groupe Auto Scaling - Amazon EC2 Auto Scaling

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.

Réaliser une action du cycle de vie dans un groupe Auto Scaling

Lorsqu'un groupe Auto Scaling répond à un événement de cycle de vie, il met l'instance en attente et envoie une notification d'événement. Pendant que l'instance est en attente, vous pouvez exécuter une action personnalisée.

Il est utile d’effectuer l’action du cycle de vie avec le résultat CONTINUE si vous terminez avant l’expiration du délai imparti. Si vous n’effectuez pas l’action du cycle de vie, le hook de cycle de vie passe au statut que vous avez indiqué pour le résultat par défaut une fois le délai expiré.

Effectuer une action de cycle de vie (manuel)

La procédure suivante s'applique à l'interface de ligne de commande et n'est pas prise en charge dans la console. Les informations qui doivent être remplacées, comme l'ID de l'instance ou le nom d'un groupe Auto Scaling, sont en italique.

Pour exécuter une action de cycle de vie (AWS CLI)
  1. Si vous avez besoin de plus de temps pour effectuer l'action personnalisée, utilisez la record-lifecycle-action-heartbeatcommande pour relancer le délai d'attente et maintenir l'instance en état d'attente. Par exemple, si la valeur d'attente est d'1 heure, et que vous appelez cette commande après 30 minutes, l'instance reste en état d'attente pendant 1 heure supplémentaire, soit un total de 90 minutes.

    Vous pouvez spécifier le jeton d'action du cycle de vie que vous avez reçu avec la notification, comme indiqué dans la commande suivante.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Alternativement, vous pouvez spécifier l'ID de l'instance que vous avez reçu avec la notification, comme indiqué dans la commande suivante.

    aws autoscaling record-lifecycle-action-heartbeat --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg --instance-id i-1a2b3c4d
  2. Si vous terminez l'action personnalisée avant la fin du délai imparti, utilisez la complete-lifecycle-actioncommande afin que le groupe Auto Scaling puisse continuer à lancer ou à arrêter l'instance. Vous pouvez spécifier le jeton de l'action du cycle de vie, comme illustré dans la commande suivante.

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --lifecycle-hook-name my-launch-hook --auto-scaling-group-name my-asg \ --lifecycle-action-token bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635

    Sinon, vous pouvez spécifier l'ID de l'instance, comme illustré dans la commande suivante.

    aws autoscaling complete-lifecycle-action --lifecycle-action-result CONTINUE \ --instance-id i-1a2b3c4d --lifecycle-hook-name my-launch-hook \ --auto-scaling-group-name my-asg

Effectuer une action de cycle de vie (automatique)

Si vous disposez d'un script de données utilisateur qui configure vos instances après leur lancement, vous n'avez pas besoin d'effectuer manuellement les actions du cycle de vie. Vous pouvez ajouter la complete-lifecycle-actioncommande au script. Le script peut récupérer l'ID d'instance à partir des métadonnées d'instance et signaler à Amazon EC2 Auto Scaling lorsque les scripts d'amorçage se sont terminés correctement.

Si ce n'est pas le cas, mettez à jour le script pour récupérer l'ID de l'instance à partir de ses métadonnées. Pour plus d'informations, consultez la section Récupérer les métadonnées d'une instance dans le guide de l'utilisateur Amazon EC2.

Si vous utilisez Lambda, vous pouvez également configurer un rappel dans le code de votre fonction pour laisser le cycle de vie de l'instance se poursuivre si l'action personnalisée réussit. Pour plus d’informations, consultez Didacticiel : configurer un hook de cycle de vie qui appelle une fonction Lambda.