Temps de stabilisation de la mise à l'échelle d'Amazon EC2 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.

Temps de stabilisation de la mise à l'échelle d'Amazon EC2 Auto Scaling

Important

Comme bonne pratique, nous vous recommandons de ne pas utiliser de politiques de mise à l'échelle simple et de stabilisation de mise à l'échelle. Une politique de suivi des cibles et de mise à l’échelle ou une politique de mise à l’échelle par étapes est meilleure pour mettre à l’échelle les performances. Pour une politique de mise à l'échelle qui modifie proportionnellement la taille de votre groupe Auto Scaling au fur et à mesure que la valeur de la métrique de mise à l'échelle diminue ou augmente, nous vous recommandons de suivre les objectifs par une mise à l'échelle simple ou par étapes.

Lorsque vous créez des politiques de mise à l’échelle simples pour votre groupe Auto Scaling, nous vous recommandons de configurer le temps de stabilisation de mise à l’échelle en même temps.

Une fois que votre groupe Auto Scaling lance ou résilie des instances, il attend la fin du temps de stabilisation avant de commencer toute autre activité de mise à l'échelle initiale. L’objectif du temps de stabilisation est de laisser votre groupe Auto Scaling se stabiliser et de l’empêcher de lancer ou résilier des instances supplémentaires avant que les effets des activités de mise à l’échelle précédentes ne soient visibles.

Par exemple, supposons qu'une politique de mise à l'échelle simple pour l'utilisation du processeur recommande de lancer deux instances. Amazon EC2 Auto Scaling lance deux instances, puis met en pause les activités de mise à l'échelle jusqu'à la fin du temps de stabilisation. À la fin du temps de stabilisation, toutes les activités de mise à l'échelle initiées par des politiques de mise à l'échelle simple peuvent reprendre. Si l'utilisation de la CPU dépasse de nouveau le seuil élevé de l'alarme, le groupe Auto Scaling est de nouveau mis à l'échelle et le temps de stabilisation redevient effectif. Cependant, si les deux instances ont suffi à réduire la valeur de la métrique, le groupe conserve sa taille actuelle.

Considérations

Les considérations suivantes s'appliquent lorsque vous travaillez avec des politiques de mise à l'échelle simples et des temps de stabilisation de mise à l'échelle :

  • Les politiques de suivi de cible et de mise à l'échelle par étapes peuvent lancer une activité évolutive immédiatement sans attendre la fin du temps de stabilisation. Au lieu de cela, chaque fois que votre groupe Auto Scaling lance des instances, les instances individuelles bénéficient d'une période de préchauffage. Pour plus d’informations, consultez Définir la préparation par défaut d'instance d'un groupe Auto Scaling.

  • Lorsqu'une action planifiée démarre à l'heure prévue, elle peut aussi initier une activité de mise à l'échelle immédiatement sans attendre la fin du temps de stabilisation.

  • Si une instance devient défectueuse, Amazon EC2 Auto Scaling n'attend pas la fin du temps de stabilisation avant de la remplacer.

  • Lorsque plusieurs instances lancent ou résilient, le temps de stabilisation (par défaut ou spécifique à la mise à l'échelle) prend effet après la fin du lancement ou de la résiliation de la dernière instance.

  • Lorsque vous mettez manuellement votre groupe Auto Scaling à l'échelle, la valeur par défaut ne consiste pas à attendre la fin du temps de stabilisation. Toutefois, vous pouvez annuler ce comportement et respecter le temps de recharge par défaut lorsque vous utilisez le AWS CLI ou un SDK pour effectuer une mise à l'échelle manuelle.

  • Par défaut, Elastic Load Balancing attend 300 secondes avant de terminer le processus de désinscription (drainage de la connexion). Si le groupe se trouve derrière un équilibreur de charge Elastic Load Balancing, il attend que les instances terminales se désenregistrent avant de commencer le temps de stabilisation.

Les hooks de cycle de vie peuvent entraîner des retards supplémentaires.

Si un hook de cycle de vie est appelé, le temps de stabilisation commence une fois que vous avez terminé l'action du cycle de vie ou une fois le temps d'expiration terminé. Prenons l'exemple d'un groupe Auto Scaling avec un hook de cycle de vie pour le lancement de l'instance. Lorsque l'application connaît une hausse de la demande, le groupe lance une instance pour ajouter de la capacité. En raison de la présence d'un hook de cycle de vie, l'instance est dans un état d'attente et les activités de mise à l'échelle dues à des politiques de mise à l'échelle simple sont suspendues. Lorsque l'instance a comme statut InService, le temps de stabilisation démarre. À la fin du temps de stabilisation, les activités de politiques de mise à l'échelle simple reprennent.

Lorsque Elastic Load Balancing est activé, à des fins de dimensionnement, le délai de recharge commence lorsque l'instance sélectionnée pour être résiliée commence à drainer la connexion (délai de désenregistrement). La période de recharge n'attend pas la fin de la vidange de la connexion ou la fin du cycle de vie du hook pour terminer son action. Cela signifie que toutes les activités de mise à l'échelle dues à de simples politiques de mise à l'échelle peuvent reprendre dès que le résultat de l'événement évolutif se reflète dans la capacité du groupe. Sinon, attendre la fin des trois activités (drainage de la connexion, hook de cycle de vie et temps de stabilisation) augmenterait considérablement le temps nécessaire au groupe Auto Scaling pour interrompre la mise à l’échelle.

Modifier le temps de stabilisation par défaut

Vous ne pouvez pas définir le temps de stabilisation par défaut lorsque vous créez un groupe Auto Scaling dans la console Amazon EC2 Auto Scaling. Par défaut, ce temps de stabilisation est fixé à 300 secondes (5 minutes). Au besoin, vous pouvez le mettre à jour une fois le groupe créé.

Pour modifier le temps de stabilisation par défaut (console)

Après avoir créé le groupe Auto Scaling, sur l'onglet Details (Détails), choisissez Advanced configurations (Configurations avancées), Edit (Modifier). Pour Default cooldown (Temps de stabilisation par défaut), choisissez le temps que vous souhaitez en fonction des besoins de la période de démarrage de votre instance ou d'autres applications.

Pour modifier le temps de stabilisation par défaut (AWS CLI)

Utilisez les commandes suivantes pour modifier le temps de stabilisation par défaut des groupes Auto Scaling nouveaux ou existants. Si le temps de stabilisation par défaut n'est pas défini, la valeur par défaut de 300 secondes est utilisée.

Pour confirmer la valeur du temps de stabilisation par défaut, utilisez la commande describe-auto-scaling-groups.

Définir un temps de stabilisation pour des politiques de mise à l'échelle simples particulières

Par défaut, toutes les politiques de mise à l'échelle simple utilisent le temps de stabilisation par défaut défini pour le groupe Auto Scaling. Pour définir un temps de stabilisation spécifique à des politiques de mise à l'échelle simples, utilisez le paramètre de stabilisation facultatif lorsque vous créez ou mettez à jour une politique. Lorsqu'un temps de stabilisation est spécifié pour une politique, il remplace le temps de stabilisation par défaut.

Un temps de stabilisation spécifique à politique de mise à l'échelle est souvent utilisé avec une politique de mise à l'échelle horizontale. Cette politique résilie les instances, Amazon EC2 Auto Scaling a donc besoin de moins de temps pour déterminer s'il doit résilier des instances supplémentaires. La résiliation d'instances doit être une opération beaucoup plus rapide que le lancement d'instances. Le temps de stabilisation par défaut de 300 secondes est donc trop long. Dans ce cas, un temps de stabilisation spécifique à une politique de mise à l'échelle avec une valeur inférieure pour votre politique de mise à l'échelle horizontale peut vous aider à réduire les coûts en permettant au groupe de diminuer plus rapidement.

Pour créer ou mettre à jour des politiques de mise à l'échelle simples dans la console, choisissez l'onglet Automatic scaling (Scalabilité automatique) après avoir créé le groupe. Pour créer ou mettre à jour des politiques de dimensionnement simples à l'aide de AWS CLI, utilisez la commande put-scaling-policy. Pour plus d’informations, consultez Politiques de mise à l'échelle simple et par étapes.