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.
Utilisez des hooks de cycle de vie avec un pool de chaleur dans le groupe Auto Scaling
Les instances du groupe d'instances pré-initialisées gèrent leur propre cycle de vie indépendant, ce qui vous permet de créer l'action personnalisée appropriée pour chaque transition. Ce cycle de vie est conçu pour vous aider à appeler des actions dans un service cible (par exemple, une fonction Lambda) pendant qu'une instance est encore en cours d'initialisation et avant qu'elle ne soit mise en service.
Note
Les opérations d'API que vous utilisez pour ajouter et gérer des hooks de cycle de vie et des actions de cycle de vie complètes ne sont pas modifiées. Seul le cycle de vie de l'instance est modifié.
Pour plus d'informations sur l'ajout d'un hook de cycle de vie, consultez Ajoutez des hooks de cycle de vie à votre groupe Auto Scaling. Pour plus d'informations sur l'exécution d'une action de cycle de vie, consultez Réaliser une action du cycle de vie dans un groupe Auto Scaling.
Pour les instances entrant dans le groupe d'instances pré-initialisées, vous aurez peut-être besoin d'un hook de cycle de vie pour l'une des raisons suivantes :
-
Vous souhaitez lancer des EC2 instances à partir d'une AMI dont l'initialisation prend beaucoup de temps.
-
Vous souhaitez exécuter des scripts de données utilisateur pour démarrer les EC2 instances.
Pour les instances quittant le groupe d'instances pré-initialisées, vous aurez peut-être besoin d'un hook de cycle de vie pour l'une des raisons suivantes :
-
Vous pouvez utiliser un peu plus de temps pour préparer les EC2 instances en vue de leur utilisation. Par exemple, certains de vos services pourraient devoir démarrer lorsqu'une instance redémarre pour que votre application puisse fonctionner correctement.
-
Vous souhaitez pré-remplir les données du cache pour vous assurer qu'un nouveau serveur n'est pas lancé avec un cache vide.
-
Vous souhaitez enregistrer de nouvelles instances en tant qu'instances gérées auprès de votre service de gestion de la configuration.
Transitions de l'état du cycle de vie pour les instances dans un groupe d'instances pré-initialisées
Une instance Auto Scaling peut passer par plusieurs états dans le cadre de son cycle de vie.
Le schéma suivant montre la transition entre les états Auto Scaling lorsque vous utilisez un groupe d'instances pré-initialisées :

¹ Cet état varie en fonction du paramètre d'état du groupe d'instances pré-initialisées. Si l'état du groupe est défini sur Running
, alors cet état est à la place Warmed:Running
. Si l'état du groupe est défini sur Hibernated
, alors cet état est à la place Warmed:Hibernated
.
Lorsque vous ajoutez des hooks de cycle de vie, tenez compte des éléments suivants :
-
Lorsqu'un hook de cycle de vie est configuré pour l'action
autoscaling:EC2_INSTANCE_LAUNCHING
du cycle de vie, une instance nouvellement lancée s'arrête d'abord pour effectuer une action personnalisée lorsqu'elle atteint l'étatWarmed:Pending:Wait
, puis de nouveau lorsque l'instance redémarre et atteint l'étatPending:Wait
. -
Lorsqu'un hook de cycle de vie est configuré pour l'action
EC2_INSTANCE_TERMINATING
du cycle de vie, une instance en cours de résiliation s'arrête pour effectuer une action personnalisée lorsqu'elle atteint l'étatTerminating:Wait
. Toutefois, si vous spécifiez une politique de réutilisation des instances pour renvoyer les instances dans le groupe d'instances pré-initialisées à grande échelle au lieu de les arrêter, une instance qui y revient s'arrête pour effectuer une action personnalisée à l'étatEC2_INSTANCE_TERMINATING
pour l'action de cycle de vieWarmed:Pending:Wait
. -
Si la demande adressée à votre application épuise le pool de chaleur, Amazon EC2 Auto Scaling peut lancer des instances directement dans le groupe Auto Scaling tant que le groupe n'a pas encore atteint sa capacité maximale. Si les instances se lancent directement dans le groupe, elles ne sont mises en attente pour effectuer une action personnalisée à l'état
Pending:Wait
. -
Pour contrôler la durée pendant laquelle une instance reste en état d'attente avant de passer à l'état suivant, configurez votre action personnalisée de manière à utiliser la commande complete-lifecycle-action. Avec les hooks liés au cycle de vie, les instances restent en état d'attente soit jusqu'à ce que vous informiez Amazon EC2 Auto Scaling que l'action de cycle de vie spécifiée est terminée, soit jusqu'à la fin du délai imparti (une heure par défaut).
Ce qui suit résume le processus d'un événement de montée en puissance.

Lorsque les instances atteignent un état d'attente, Amazon EC2 Auto Scaling envoie une notification. Des exemples de ces notifications sont disponibles dans la EventBridge section de ce guide. Pour de plus amples informations, veuillez consulter Exemples d’événements et de modèles de groupe chaud.
Cibles de notification prises en charge
Amazon EC2 Auto Scaling permet de définir les cibles de notification suivantes pour les notifications relatives au cycle de vie :
-
EventBridge règles
-
Rubriques Amazon SNS
-
Files d'attente Amazon SQS
Important
N'oubliez pas que si vous avez un script (cloud-init) de données utilisateur dans votre modèle de lancement ou configuration de lancement qui configure vos instances lors de leur lancement, vous n'avez pas besoin de notifications pour effectuer des actions personnalisées sur vos instances qui sont lancées ou relancées.
Les sections suivantes contiennent des liens vers la documentation décrivant comment configurer les cibles de notification :
EventBridge règles : pour exécuter du code lorsqu'Amazon EC2 Auto Scaling met une instance en état d'attente, vous pouvez créer une EventBridge règle et spécifier une fonction Lambda comme cible. Pour appeler différentes fonctions Lambda en fonction de différentes notifications de cycle de vie, vous pouvez créer plusieurs règles et associer chaque règle à un modèle d'événement et à une fonction Lambda spécifiques. Pour de plus amples informations, veuillez consulter Créez des EventBridge règles pour les événements en piscine chaude.
Rubriques Amazon SNS : pour recevoir une notification lorsqu'une instance est mise en état d'attente, vous créez une rubrique Amazon SNS, puis configurez le filtrage des messages Amazon SNS pour fournir des notifications de cycle de vie différemment en fonction d'un attribut de message. Pour de plus amples informations, veuillez consulter Recevoir des notifications à l'aide d'Amazon SNS.
Files d'attente Amazon SQS : pour configurer un point de livraison pour les notifications de cycle de vie où un consommateur pertinent peut les récupérer et les traiter, vous pouvez créer une file d'attente Amazon SQS et un consommateur de file d'attente qui traite les messages de la file d'attente SQS. Si vous souhaitez que le consommateur de file d'attente traite différemment les notifications de cycle de vie en fonction d'un attribut de message, vous devez également configurer le consommateur de file d'attente pour analyser le message, puis agir sur le message lorsqu'un attribut spécifique correspond à la valeur souhaitée. Pour de plus amples informations, veuillez consulter Recevoir des notifications à l'aide d'Amazon SQS.