Dimensionnement dynamique 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.

Dimensionnement dynamique pour Amazon EC2 Auto Scaling

La mise à l'échelle dynamique modifie la capacité de votre groupe Auto Scaling à mesure que le trafic change.

Amazon EC2 Auto Scaling prend en charge les types de politiques de dimensionnement dynamique suivants :

  • Dimensionnement du suivi des cibles : augmentez ou diminuez la capacité actuelle du groupe en fonction d'une CloudWatch métrique Amazon et d'une valeur cible. Cette option opère sous le même principe que votre thermostat qui maintient la température de votre domicile—vous sélectionnez une température et le thermostat se charge du reste.

  • La mise à l'échelle par étapes – Augmente ou réduit la capacité actuelle du groupe en fonction d'un ensemble d'ajustements de mise à l'échelle appelés ajustements d'étape. Ceux-ci varient en fonction de la valeur du seuil de l'alarme.

  • Mise à l'échelle simple – Augmente ou réduit la capacité actuelle du groupe en fonction d'un seul ajustement de la mise à l'échelle, avec un temps de stabilisation entre chaque opération de la mise à l'échelle.

Nous vous recommandons vivement d'utiliser des politiques de dimensionnement pour le suivi des cibles et de choisir une métrique qui change de manière inversement proportionnelle à une modification de la capacité de votre groupe Auto Scaling. Ainsi, si vous doublez la taille de votre groupe Auto Scaling, la métrique diminue de 50 %. Cela permet aux données métriques de déclencher avec précision des événements de mise à l’échelle proportionnelle. Des indicateurs tels que CPU l'utilisation moyenne ou le nombre moyen de demandes par cible sont inclus.

Grâce au suivi des cibles, votre groupe Auto Scaling évolue en proportion directe de la charge réelle de votre application. Cela signifie qu'en plus de répondre au besoin immédiat de capacité pour résoudre le problème de changements de charge, la politique de suivi des cibles peut également s'adapter aux changements de charge qui se produisent au fil du temps, en raison de variations saisonnières, par exemple.

Les politiques de suivi des cibles éliminent également le besoin de définir manuellement les CloudWatch alarmes et les ajustements de dimensionnement. Amazon EC2 Auto Scaling gère cela automatiquement en fonction de l'objectif que vous avez défini.

Fonctionnement des politiques de mise à l'échelle

Une politique de dimensionnement dynamique indique à Amazon EC2 Auto Scaling de suivre une CloudWatch métrique spécifique et définit les mesures à prendre lorsque l' CloudWatch alarme associée est déclenchée. ALARM Les métriques utilisées pour appeler l'état de l'alarme sont une agrégation de métriques provenant de toutes les instances du groupe Auto Scaling. (Supposons, par exemple, que vous ayez un groupe Auto Scaling composé de deux instances dont l'une est à 60 % CPU et l'autre à 40 %CPU. En moyenne, ils sont à 50 %CPU.) Lorsque la politique est en vigueur, Amazon EC2 Auto Scaling ajuste la capacité souhaitée du groupe à la hausse ou à la baisse lorsque le seuil d'une alarme est dépassé.

Lorsqu'une politique de dimensionnement dynamique est invoquée, si le calcul de capacité produit un nombre en dehors de la plage de taille minimale et maximale du groupe, Amazon EC2 Auto Scaling garantit que la nouvelle capacité ne dépasse jamais les limites de taille minimale et maximale. La capacité est mesurée de deux manières : en utilisant les mêmes unités que celles que vous avez choisies lorsque vous avez défini la capacité souhaitée en termes d'instances, ou en utilisant des unités de capacité (si des poids d'instance sont appliqués).

  • Exemple 1 : un groupe Auto Scaling a une capacité maximale de 3, une capacité actuelle de 2 et une politique de mise à l'échelle dynamique qui ajoute 3 instances. Lorsque cette politique est invoquée, Amazon EC2 Auto Scaling ajoute une seule instance au groupe afin d'empêcher le groupe de dépasser sa taille maximale.

  • Exemple 2 : un groupe Auto Scaling a une capacité minimale de 2, une capacité actuelle de 3 et une politique de mise à l'échelle dynamique qui supprime 2 instances. Lorsque cette politique est invoquée, Amazon EC2 Auto Scaling ne supprime qu'une seule instance du groupe afin d'éviter que la taille du groupe ne soit inférieure à sa taille minimale.

Lorsque la capacité désirée atteint la limite de taille maximale, la mise à l'échelle s'arrête. Si la demande baisse et que la capacité diminue, Amazon EC2 Auto Scaling peut à nouveau évoluer.

L'exception est lorsque vous utilisez des poids d'instance. Dans ce cas, Amazon EC2 Auto Scaling peut dépasser la limite de taille maximale, mais uniquement jusqu'à concurrence du poids maximal de votre instance. Son intention est de se rapprocher le plus possible de la nouvelle capacité souhaitée tout en respectant les politiques d'allocation qui sont spécifiées pour le groupe. Les politiques d'allocation déterminent les types d'instance à lancer. Les pondérations déterminent le nombre d'unités de capacité avec lequel chaque instance contribue à la capacité du groupe souhaitée selon son type d'instance.

  • Exemple 3 : un groupe Auto Scaling a une capacité maximale de 12, une capacité actuelle de 10 et une politique de mise à l'échelle dynamique qui ajoute 5 unités de capacité. Les types d'instance ont l'une des trois pondérations suivantes : 1, 4 ou 6. Lors de l'invocation de la politique, Amazon EC2 Auto Scaling choisit de lancer un type d'instance d'une pondération de 6 en fonction de la stratégie d'allocation. Le résultat de cet événement évolutif est un groupe avec une capacité désirée de 12 et une capacité actuelle de 16.

Plusieurs politiques de mise à l'échelle dynamique

Dans la plupart des cas, une politique de suivi des cibles et de mise à l’échelle est suffisante pour configurer automatiquement l’évolutivité horizontale ou la mise à l’échelle horizontale de votre groupe Auto Scaling. Une politique de suivi des cibles et de mise à l’échelle vous permet de sélectionner un résultat souhaité et que le groupe Auto Scaling ajoute ou supprime des instances en fonction des besoins pour obtenir ce résultat.

Pour une mise à l'échelle avancée de configuration, votre groupe Auto Scaling peut disposer de plus d'une politique de mise à l'échelle. Par exemple, vous pouvez définir une ou plusieurs politiques de suivi des cibles et de mise à l’échelle, une ou plusieurs politiques de mise à l’échelle par étapes, ou les deux. Cela permet une plus grande flexibilité pour couvrir plusieurs scénarios.

Pour illustrer la façon dont plusieurs politiques de dimensionnement dynamique fonctionnent ensemble, imaginez une application qui utilise un groupe Auto Scaling et une SQS file d'attente Amazon pour envoyer des demandes à une seule EC2 instance. Pour veiller à ce que l'application fonctionne à un niveau optimal, deux politiques contrôlent le moment où le groupe Auto Scaling doit monter en puissance. La première est une politique de suivi des cibles qui utilise une métrique personnalisée pour ajouter et supprimer de la capacité en fonction du nombre de SQS messages dans la file d'attente. L'autre est une politique de dimensionnement par étapes qui utilise la CloudWatch CPUUtilization métrique Amazon pour ajouter de la capacité lorsque l'instance dépasse 90 % d'utilisation pendant une durée spécifiée.

Lorsqu'il existe plusieurs politiques en vigueur en même temps, il est possible que chaque politique puisse demander au groupe Auto Scaling de se mettre à l'échelle (augmentation ou diminution) simultanément. Par exemple, il est possible que la CPUUtilization métrique augmente et dépasse le seuil de l' CloudWatch alarme en même temps que la métrique SQS personnalisée augmente et dépasse le seuil de l'alarme métrique personnalisée.

Lorsque de telles situations se produisent, Amazon EC2 Auto Scaling choisit la politique qui fournit la plus grande capacité à la fois pour le scaling out et le scaling in. Supposons, par exemple, que la politique de CPUUtilization lancement d'une instance, tandis que la politique de SQS file d'attente lance deux instances. Si les critères de scale-out pour les deux politiques sont remplis en même temps, Amazon EC2 Auto Scaling donne la priorité à la SQS politique de file d'attente. Le groupe Auto Scaling lance donc deux instances.

L'approche qui consiste à donner la priorité à la politique qui fournit la plus grande capacité s'applique même lorsque les politiques utilisent différents critères pour la mise à l'échelle horizontale. Par exemple, si une politique met fin à trois instances, qu'une autre règle réduit le nombre d'instances de 25 % et que le groupe en compte huit au moment de la mise à l'échelle, Amazon EC2 Auto Scaling donne la priorité à la politique qui fournit le plus grand nombre d'instances au groupe. Il s'ensuit que le groupe Auto Scaling résilie deux instances (25 % de 8 = 2). L'objectif est d'empêcher Amazon EC2 Auto Scaling de supprimer un trop grand nombre d'instances.

Toutefois, nous vous recommandons d'être prudent lorsque vous utilisez des politiques de suivi des objectifs et d'échelonnement avec des politiques de mise à l'échelle par étapes, car les conflits entre ces politiques peuvent entraîner un comportement indésirable. Par exemple, si la politique de dimensionnement par étapes initie une échelle d'activité avant que la politique de suivi des cibles ne soit prête à être étendue, l'échelle d'activité ne sera pas bloquée. Une fois le dimensionnement de l'activité terminé, la politique de suivi des cibles peut demander au groupe de le redimensionner.