Politiques de mise à l'échelle par étapes et simples pour 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.

Politiques de mise à l'échelle par étapes et simples pour Amazon EC2 Auto Scaling

Le dimensionnement par étapes et les politiques de dimensionnement simples permettent d'ajuster la capacité de votre groupe Auto Scaling par incréments prédéfinis en fonction des CloudWatch alarmes. Vous pouvez définir des stratégies de mise à l’échelle distinctes pour gérer la montée en puissance (augmentation de la capacité) et la mise à l’échelle horizontale (diminution de la capacité) en cas de dépassement d’un seuil d’alarme.

Grâce à la mise à l'échelle par étapes et à la mise à l'échelle simple, vous créez et gérez les CloudWatch alarmes qui déclenchent le processus de dimensionnement. Lorsqu'une alarme est violée, Amazon EC2 Auto Scaling initie la politique de dimensionnement associée à cette alarme.

Nous vous recommandons vivement d'utiliser des politiques de dimensionnement du suivi des cibles afin de vous adapter à des indicateurs tels que l'utilisation moyenne du processeur ou le nombre moyen de demandes par cible. Les métriques qui diminuent lorsque la capacité augmente et augmentent lorsque la capacité diminue peuvent être utilisées pour monter ou diminuer en charge proportionnellement le nombre d'instances utilisant le suivi de cible. Cela permet de s'assurer qu'Amazon EC2 Auto Scaling suit de près la courbe des demandes pour vos applications. Pour plus d’informations, consultez Politiques de suivi des objectifs de la mise à l'échelle.

Comment fonctionnent les politiques de mise à l'échelle par étapes

Pour utiliser le step scaling, vous devez d'abord créer une CloudWatch alarme qui surveille une métrique pour votre groupe Auto Scaling. Définissez la métrique, la valeur de seuil et le nombre de périodes d’évaluation qui déterminent le déclenchement d’une alarme. Créez ensuite une politique d'échelonnement qui définit comment redimensionner votre groupe lorsque le seuil d'alarme est dépassé.

Ajoutez les ajustements par étapes dans la stratégie. Vous pouvez définir différents ajustements par étapes en fonction de la taille du déclenchement de l’alarme. Par exemple :

  • Diminution de 10 instances si la métrique d'alarme atteint 60 %

  • Diminution de 30 instances si la métrique d'alarme atteint 75 %

  • Diminution de 40 instances si la métrique d'alarme atteint 85 %

Lorsque le seuil d'alarme est dépassé pendant le nombre de périodes d'évaluation spécifié, Amazon EC2 Auto Scaling applique les ajustements d'étape définis dans la politique. Les ajustements peuvent se poursuivre pour d’autres déclenchements d’alarme jusqu’à ce que l’état de l’alarme revienne à OK.

Chaque instance dispose d'une période de préchauffage afin d'éviter que les activités de dimensionnement ne soient trop réactives aux modifications survenant sur de courtes périodes. Vous pouvez éventuellement configurer la période de préchauffage pour votre politique de dimensionnement. Toutefois, nous recommandons d'utiliser le préchauffage de l'instance par défaut pour faciliter la mise à jour de toutes les politiques de dimensionnement lorsque le temps de préchauffage change. Pour plus d’informations, consultez Définir la préparation par défaut d'instance d'un groupe Auto Scaling.

Les politiques de dimensionnement simples sont similaires aux politiques de dimensionnement par étapes, sauf qu'elles sont basées sur un seul ajustement de mise à l'échelle, avec un délai de recharge entre chaque activité de dimensionnement. Pour plus d’informations, consultez Politiques de mise à l'échelle simples.

Ajustements d'étape pour la mise à l'échelle par étapes

Lorsque vous créez une politique de mise à l'échelle par étapes, vous spécifiez un ou plusieurs ajustements par étapes qui redimensionnent automatiquement le nombre d'instances de manière dynamique en fonction de la taille du seuil de l'alarme. Chaque ajustement par étapes précise ce qui suit :

  • Une limite inférieure pour la valeur de la métrique

  • Une limite supérieure pour la valeur de la métrique

  • L'ampleur de la mise à l'échelle, en fonction du type d'ajustement de la mise à l'échelle

CloudWatch agrège les points de données métriques en fonction des statistiques de la métrique associée à votre CloudWatch alarme. En cas de violation de l’alarme, la stratégie de mise à l’échelle appropriée est appelée. Amazon EC2 Auto Scaling applique le type d'agrégation aux points de données métriques les plus récents provenant CloudWatch (par opposition aux données métriques brutes). Il compare cette valeur de métrique regroupée aux limites supérieures et inférieures définies par les ajustements d'étape afin de déterminer l'ajustement d'étape à réaliser.

Vous spécifiez les limites supérieure et inférieure par rapport au seuil d'une utilisation hors limites. Supposons, par exemple, que vous ayez défini une CloudWatch alarme et une politique de scale-out lorsque la métrique est supérieure à 50 %. Vous avez ensuite défini une deuxième alarme et une stratégie de mise à l’échelle horizontale pour les cas où la métrique est inférieure à 50 %. Vous avez effectué une série d'ajustements par étapes avec un type d'ajustement PercentChangeInCapacity (ou pourcentage du groupe dans la console) pour chaque politique :

Exemple : ajustements par étapes pour la politique d'évolutivité horizontale
Limite inférieure Limite supérieure Ajustement

0 USD

10

0 USD

10

20

10

20

null

30

Exemple : ajustements par étapes pour la politique de mise à l'échelle horizontale
Limite inférieure Limite supérieure Ajustement

-10

0

0

-20

-10

-10

null

-20

-30

La configuration de mise à l'échelle suivante est ainsi créée.

Metric value -infinity 30% 40% 60% 70% infinity ----------------------------------------------------------------------- -30% | -10% | Unchanged | +10% | +30% -----------------------------------------------------------------------

Supposons maintenant que vous utilisiez cette configuration de dimensionnement sur un groupe Auto Scaling qui possède à la fois une capacité actuelle et une capacité souhaitée de 10. Les points suivants résument le comportement de la configuration de mise à l'échelle par rapport à la capacité souhaitée et actuelle du groupe :

  • La capacité actuelle et souhaitée est conservée, tandis que la valeur de la métrique regroupée est supérieure à 40 et inférieure à 60.

  • Si la valeur métrique atteint 60, la capacité souhaitée du groupe augmente d'1 instance pour atteindre 11 instances, en fonction du deuxième ajustement par étapes de la politique d'évolutivité horizontale (ajoutez 10 pour cent de 10 instances). Une fois que la nouvelle instance est en cours d'exécution et que le temps de préchauffage spécifié a expiré, la capacité actuelle du groupe passe à 11 instances. Si la valeur de la métrique s'élève à 70 même après cette augmentation de capacité, la capacité désirée du groupe augmente de 3 nouvelles instances, soit 14 instances. Le comportement est basé sur l'ajustement de la troisième étape de la politique d'évolutivité horizontale (ajouter 30 % des 11 instances, soit 3,3 instances, arrondies à 3 instances).

  • Si la valeur de métrique atteint 40, la capacité souhaitée du groupe est réduite d'1 instance pour atteindre 13 instances, en fonction du deuxième ajustement d'étape de la politique de mise à l'échelle horizontale (enlevez 10 pour cent de 14 instances, 1.4 instances arrondies à 1). Si la valeur de la métrique tombe à 30 même après cette diminution de capacité, la capacité désirée du groupe diminue de 3 instances, soit 10 instances. Le comportement est basé sur l'ajustement de la troisième étape de la politique de mise à l'échelle horizontale (supprimer 30 % des 13 instances, soit 3,9 instances, arrondies à 3 instances).

Lorsque vous spécifiez les ajustements d'étape pour votre politique de mise à l'échelle, notez les points suivants :

  • Si vous utilisez le AWS Management Console, vous spécifiez les limites supérieure et inférieure sous forme de valeurs absolues. Si vous utilisez le AWS CLI ou un SDK, vous spécifiez les limites supérieure et inférieure par rapport au seuil de violation.

  • Les plages d'ajustements d'étape peuvent se chevaucher ou avoir un écart.

  • Un seul ajustement d'étape peut avoir une limite inférieure null (infini négatif). Si un seul ajustement d'étape possède une limite inférieure négative, un ajustement d'étape avec une limite inférieure null doit donc exister.

  • Un seul ajustement d'étape peut avoir une limite supérieure null (infini positif). Si un seul ajustement d'étape possède une limite supérieure positive, un ajustement d'étape avec une limite supérieure null doit donc exister.

  • Les limites supérieure et inférieure ne peuvent pas être null dans le même ajustement d'étape.

  • Si la valeur métrique dépasse le seuil, la limite inférieure est inclusive et la limite supérieure est exclusive. Si la valeur métrique n'atteint pas le seuil, la limite inférieure est exclusive et la limite supérieure est inclusive.

Types d'ajustement de la mise à l'échelle

Vous pouvez définir une politique de mise à l'échelle qui exécute l'action de mise à l'échelle optimale, en fonction du type d'ajustement de mise à l'échelle que vous choisissez. Vous pouvez spécifier le type d'ajustement en pourcentage de la capacité actuelle de votre groupe Auto Scaling ou en unités de capacité. Normalement, une unité de capacité signifie une instance, sauf si vous utilisez la fonction de pondération des instances.

Amazon EC2 Auto Scaling prend en charge les types d’ajustement suivants pour la mise à l’échelle par étapes et la mise à l’échelle simple :

  • ChangeInCapacity — Augmenter ou réduire la capacité actuelle du groupe en fonction de la valeur spécifiée. Une valeur positive augmente la capacité et une valeur d'ajustement négative la réduit. Par exemple : si la capacité actuelle du groupe est de 3 et que l'ajustement est de 5, lorsque cette politique est exécutée, nous ajoutons 5 unités de capacité à la capacité pour un total de 8 unités de capacité.

  • ExactCapacity — Modifier la capacité actuelle du groupe à la valeur spécifiée. Spécifiez une valeur non négative avec ce type d'ajustement. Exemple : si la capacité actuelle du groupe est de 3 instances et l'ajustement de 5, lorsque la politique est appliquée, la nouvelle capacité est de 5 unités.

  • PercentChangeInCapacity — Augmenter ou réduire la capacité actuelle du groupe en fonction du pourcentage spécifié. Une valeur positive augmente la capacité et une valeur négative la réduit. Par exemple : si la capacité actuelle est de 10 et que l'ajustement est de 10 %, lorsque cette politique est exécutée, nous ajoutons 1 unité de capacité à la capacité pour un total de 11 unités de capacité.

    Note

    Si la valeur générée n'est pas un nombre entier, elle est arrondie comme suit :

    • Les valeurs supérieures à 1 sont arrondies à l'unité inférieure. Par exemple, 12.7 est arrondi à 12.

    • Les valeurs comprises entre 0 et 1 sont arrondies à 1. Par exemple, .67 est arrondi à 1.

    • Les valeurs comprises entre 0 et -1 sont arrondies à -1. Par exemple, -.58 est arrondi à -1.

    • Les valeurs inférieures à -1 sont arrondies à l'unité supérieure. Par exemple, -6.67 est arrondi à -6.

Avec PercentChangeInCapacity, vous pouvez également spécifier le nombre minimal d'instances à mettre à l'échelle à l'aide du paramètre MinAdjustmentMagnitude. Par exemple, imaginons que vous ayez créé une politique qui ajoute 25 % et que vous spécifiiez un incrément minimal de 2 instances. Si vous disposez d'un groupe Auto Scaling avec 4 instances et que la politique de mise à l'échelle est exécutée, 25 % de 4 est égal à 1 instance. Cependant, comme vous avez spécifié un incrément minimal de 2, 2 instances sont ajoutées.

Lorsque vous utilisez des pondérations d'instance, l'effet du réglage du MinAdjustmentMagnitude paramètre sur une valeur différente de zéro change. La valeur est exprimée en unités de capacité. Pour définir le nombre minimal d'instances à mettre à l'échelle, définissez ce paramètre sur une valeur au moins égale à la pondération maximale de votre instance.

Si vous utilisez des poids d'instance, gardez à l'esprit que la capacité actuelle de votre groupe Auto Scaling peut dépasser la capacité souhaitée selon les besoins. Si votre nombre absolu à décrémenter, ou le montant que le pourcentage indique à décrémenter, est inférieur à la différence entre la capacité actuelle et la capacité souhaitée, aucune action de mise à l'échelle n'est effectuée. Vous devez prendre ces comportements en compte lorsque vous examinez les résultats d’une stratégie de mise à l’échelle lorsqu’un seuil d’alarme est dépassé. Par exemple, supposons que la capacité désirée soit de 30 et la capacité actuelle de 32. En cas de violation de l’alarme, si la stratégie de mise à l’échelle réduit de 1 la capacité souhaitée, aucune action de mise à l’échelle n’est effectuée.

Préparation d’instance

Pour les stratégies de mise à l’échelle par étapes, vous pouvez facultativement spécifier le nombre de secondes nécessaires pour la préparation d’une instance nouvellement lancée. Tant que le temps de préchauffage spécifié n'est pas expiré, une instance n'est pas prise en compte dans les métriques d'instance EC2 agrégées du groupe Auto Scaling.

Lorsque les instances sont en période de préchauffage, vos politiques de dimensionnement ne sont redimensionnées que si la valeur métrique des instances qui ne sont pas en phase de préchauffage est supérieure au seuil d'alarme maximal de la politique.

Si le groupe est à nouveau monté en puissance, les instances qui sont toujours en cours de préparation sont comptées dans le cadre de la capacité souhaitée pour la prochaine activité de montée en puissance. Par conséquent, plusieurs seuils de l’alarme inclus dans la plage du même ajustement par étapes génèrent une activité de mise à l’échelle unique. L’objectif est d’effectuer une montée en puissance continue (mais pas excessive).

Par exemple, supposons que vous créez une politique en deux étapes. La première étape ajoute 10 % lorsque la métrique atteint 60, et la deuxième étape ajoute 30 % lorsque la métrique atteint 70 %. Votre groupe Auto Scaling a une capacité souhaitée et actuelle de 10. La capacité actuelle et souhaitée est conservée, tandis que la valeur de la métrique agrégée est inférieure à 60. Supposons que la métrique atteigne 60, donc qu’une instance soit ajoutée (10 % des 10 instances). Ensuite, la métrique atteint 62 alors que la nouvelle instance est toujours en cours de préparation. La politique de mise à l’échelle calcule la nouvelle capacité souhaitée en fonction de la capacité actuelle, qui est toujours de 10. Cependant, la capacité souhaitée du groupe est déjà de 11 instances. Donc, la politique de mise à l’échelle n’augmente pas davantage la capacité souhaitée. Si la valeur métrique atteint 70 alors que l'instance est toujours en cours de préparation, nous devons ajouter 3 instances (30 pour cent de 10 instances). Cependant, la capacité souhaitée du groupe est déjà de 11, donc nous ajoutons uniquement 2 instances, pour atteindre une nouvelle capacité souhaitée de 13 instances.

Pendant que l’activité de mise à l’échelle est en cours, toutes les activités de mise à l’échelle initiées par les politiques de mise à l’échelle sont bloquées jusqu’à ce que les instances aient fini leur préparation. Lorsque les instances ont terminé la préparation, si un événement de mise à l’échelle horizontale se produit, toutes les instances en cours de résiliation seront prises en compte dans la capacité actuelle du groupe lors du calcul de la nouvelle capacité souhaitée. Par conséquent, nous n’enlevons pas plus d’instances du groupe Auto Scaling que nécessaire. Par exemple, alors qu’une instance est déjà en cours de résiliation, si un seuil d’alarme est dépassé dans la plage de réglage de la même étape qui a réduit de 1 la capacité souhaitée, aucune action de mise à l’échelle n’est effectuée.

Valeur par défaut

Si aucune valeur n'est définie, la politique de dimensionnement utilisera la valeur par défaut, qui est la valeur du préchauffage d'instance par défaut défini pour le groupe. Si le préchauffage de l'instance par défaut est nul, il revient à la valeur du temps de recharge par défaut.

Considérations

Les considérations suivantes s’appliquent lors de l’utilisation de politiques de mise à l’échelle par étapes et simples :

  • Déterminez si vous pouvez prédire les ajustements d'étape sur l'application avec suffisamment de précision pour utiliser la mise à l'échelle par étapes. Si votre métrique de mise à l'échelle augmente ou diminue proportionnellement à la capacité de la cible évolutive, nous vous recommandons d'utiliser plutôt une politique de suivi des cibles et de mise à l'échelle. Vous avez toujours la possibilité d'utiliser la mise à l'échelle par étapes comme politique supplémentaire pour une configuration plus avancée. Par exemple, si vous le souhaitez, vous pouvez configurer une réponse plus agressive lorsque l'utilisation atteint un certain niveau.

  • Assurez-vous de choisir une marge adéquate entre les seuils de mise à l'échelle horizontale et de mise à l'échelle avec montée en puissance parallèle, afin d'éviter tout battement. Le battement est une boucle infinie de mise à l'échelle horizontale et de montage en puissance. En d'autres termes, si une action de mise à l'échelle est effectuée, la valeur de la métrique changera et déclenchera une autre action de mise à l'échelle dans le sens inverse.