Comment fonctionne le dimensionnement du suivi des cibles pour Application Auto Scaling - Application 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.

Comment fonctionne le dimensionnement du suivi des cibles pour Application Auto Scaling

Cette rubrique décrit le fonctionnement du dimensionnement du suivi des cibles et présente les éléments clés d'une politique de dimensionnement du suivi des cibles.

Comment ça marche

Pour utiliser le dimensionnement du suivi des cibles, vous devez créer une politique de dimensionnement du suivi des cibles et spécifier les éléments suivants :

  • Métrique : CloudWatch métrique à suivre, telle que l'utilisation moyenne du processeur ou le nombre moyen de demandes par cible.

  • Valeur cible : la valeur cible de la métrique, telle que 50 % d’utilisation du processeur ou 1 000 demandes par cible et par minute.

Application Auto Scaling crée et gère les CloudWatch alarmes qui invoquent la politique de dimensionnement et calcule l'ajustement de dimensionnement en fonction de la métrique et de la valeur cible. Il ajoute et supprime de la capacité en fonction des besoins pour maintenir la métrique à la valeur cible spécifiée ou à une valeur proche de celle-ci.

Lorsque la métrique est supérieure à la valeur cible, Application Auto Scaling monte en puissance en ajoutant de la capacité afin de réduire la différence entre la valeur de la métrique et celle cible. Lorsque la métrique est inférieure à la valeur cible, Application Auto Scaling met à l’échelle de façon horizontale en supprimant de la capacité.

Les activités de mise à l’échelle sont effectuées avec des temps de stabilisation entre eux afin d’éviter des fluctuations rapides de capacité. Vous pouvez éventuellement configurer les temps de stabilisation de votre stratégie de mise à l’échelle.

Le diagramme suivant montre un aperçu du fonctionnement d'une politique de mise à l'échelle du suivi de cible lorsque la configuration est terminée.

Schéma d'ensemble d'une politique de dimensionnement du suivi des cibles

Il convient de noter qu’une stratégie de mise à l’échelle de suivi des cibles est plus agressive pour ajouter de la capacité lorsque l’utilisation augmente que pour supprimer de la capacité lorsque l’utilisation diminue. Par exemple, si la métrique spécifiée de la politique atteint sa valeur cible, la politique suppose que votre application est déjà massivement chargée. Elle répond en ajoutant une capacité proportionnelle à la valeur de la métrique aussi vite que possible. Plus la métrique est élevée, plus il y a de capacité ajoutée.

Lorsque la métrique tombe en dessous de la valeur cible, la stratégie s'attend à ce que l'utilisation finisse par augmenter à nouveau. Dans ce cas, elle ralentit donc la mise à l'échelle en supprimant la capacité uniquement lorsque l'utilisation dépasse un seuil suffisamment inférieur à la valeur cible (généralement plus de 10 % de moins) pour que l'utilisation soit considérée comme ayant ralenti. L'intention de ce comportement plus conservateur est de s'assurer que la suppression de la capacité ne se produit que lorsque l'application ne connaît plus une demande au même niveau élevé qu'auparavant.

Choisissez métriques

Vous pouvez créer des stratégies de suivi des objectifs de la mise à l'échelle avec des métriques prédéfinies ou des métriques personnalisées.

Lorsque vous créez une politique de mise à l'échelle de suivi des cibles avec une métrique prédéfinie, vous choisissez une métrique dans la liste de métriques prédéfinies dans Métrique prédéfinie pour la politique de mise à l'échelle de suivi des cibles.

Gardez les points suivants à l'esprit lorsque vous choisissez une métrique :

  • Toutes les métriques personnalisées ne fonctionnent pas pour le suivi des cibles. La métrique doit être une métrique d'utilisation valide et décrire le degré d'occupation d'une cible évolutive. La valeur de la métrique doit augmenter et diminuer proportionnellement à la capacité de la cible évolutive pour que les données de la métrique puissent être utilisées afin d'augmenter ou réduire proportionnellement la cible évolutive.

  • Pour utiliser la métrique ALBRequestCountPerTarget, vous devez spécifier le paramètre ResourceLabel permettant d'identifier le groupe cible associé à la métrique.

  • Lorsqu'une métrique émet des valeurs réelles de 0 à CloudWatch (par exemple,ALBRequestCountPerTarget), Application Auto Scaling peut passer à 0 lorsqu'aucun trafic n'est acheminé vers votre application pendant une période prolongée. Pour que la capacité de votre cible évolutive diminue jusqu'à 0 lorsqu'aucune demande ne lui est acheminée, la capacité minimale de la cible évolutive doit être définie sur 0.

  • Au lieu de publier de nouvelles métriques à utiliser dans votre politique de mise à l'échelle, vous pouvez utiliser les calculs de métriques pour combiner des métriques existantes. Pour plus d’informations, consultez Créer une stratégie de mise à l'échelle du suivi des cibles pour Application Auto Scaling à l'aide des mathématiques appliquées aux métriques..

  • Pour savoir si le service que vous utilisez prend en charge la spécification d’une métrique personnalisée dans la console du service, consultez la documentation de ce service.

  • Nous vous recommandons d'utiliser des mesures disponibles à des intervalles d'une minute pour vous aider à évoluer plus rapidement en fonction des changements d'utilisation. Le suivi des cibles évaluera les métriques agrégées avec une granularité d'une minute pour toutes les métriques prédéfinies et les métriques personnalisées, mais la métrique sous-jacente peut publier des données moins fréquemment. Par exemple, toutes les métriques Amazon EC2 sont envoyées toutes les cinq minutes par défaut, mais elles sont configurables à une minute (ce que l'on appelle la surveillance détaillée). Ce choix appartient à chaque service. La plupart essaient d'utiliser le plus petit intervalle possible.

Définition de la valeur cible

Lorsque vous créez une politique de suivi de la cible, vous devez spécifier une valeur cible. La valeur cible représente l'utilisation ou le débit moyen optimal pour votre application. Afin d'utiliser les ressources de manière efficiente, définissez une valeur cible aussi élevée que possible avec un tampon raisonnable en cas d'augmentation inattendue du trafic. Lorsque votre application est mise à l'échelle de manière optimale pour un flux de trafic normal, la valeur de métrique réelle doit être égale ou sensiblement inférieure à la valeur cible.

Lorsqu'une stratégie de dimensionnement est basée sur le débit, tel que le nombre de demandes par cible pour un Application Load Balancer, les I/O réseau ou d'autres métriques de nombre, la valeur cible représente le débit moyen optimal depuis une seule entité (comme une seule cible de votre groupe cible Application Load Balancer), pendant une période d'une minute.

Définir les temps de stabilisation

Vous pouvez éventuellement définir des temps de stabilisation dans votre politique de mise à l'échelle de suivi des cibles.

Le temps de stabilisation spécifie la durée pendant laquelle la politique de mise à l'échelle attend qu'une activité de mise à l'échelle précédente prenne effet.

Il existe deux types de temps de stabilisation :

  • Avec le temps de stabilisation de montée en charge, l'intention est de monter continuellement en charge (mais sans excès). Une fois qu'Application Auto Scaling a réussi une montée en puissance à l'aide d'une politique de mise à l'échelle par étape, l'application commence à calculer le temps de stabilisation. La politique de mise à l'échelle n'augmente pas à nouveau la capacité souhaitée, sauf si une plus grande montée en puissance parallèle est déclenchée ou si le temps de stabilisation est écoulé. Tandis que le temps de stabilisation de la montée en puissance s'applique, la capacité ajoutée par l'activité de mise à l'échelle initiale est calculée dans le cadre de la capacité souhaitée pour la prochaine activité de montée en puissance.

  • Avec le temps de stabilisation de mise à l'échelle horizontale, l'intention est de procéder à une mise à l'échelle horizontale de façon conservatrice pour protéger la disponibilité de votre application, de sorte que les activités de mise à l'échelle horizontale sont bloquées jusqu'à ce que le temps de stabilisation de la mise à l'échelle horizontale ait expiré. Toutefois, si une autre alarme déclenche une activité de montée en charge au cours du temps de stabilisation de la diminution de charge, Application Auto Scaling monte immédiatement en charge la cible. Dans ce cas, le temps de stabilisation de la mise à l'échelle horizontale s'arrête et ne se termine pas.

Chaque temps de stabilisation est mesuré en secondes et s'applique uniquement aux activités de mise à l'échelle liées à la stratégie de mise à l'échelle . Pendant un temps de stabilisation, lorsqu'une action planifiée démarre à l'heure prévue, elle peut déclencher une activité de mise à l'échelle immédiatement sans attendre l'expiration du temps de stabilisation.

Vous pouvez commencer par les valeurs par défaut, qui peuvent être affinées ultérieurement. Par exemple, vous devrez peut-être augmenter un temps de stabilisation pour éviter que votre stratégie de mise à l'échelle Suivi de la cible ne soit pas trop agressive face aux modifications survenant sur de courtes périodes.

Valeurs par défaut

Application Auto Scaling fournit une valeur par défaut de 600 pour les groupes de ElastiCache réplication et une valeur par défaut de 300 pour les cibles évolutives suivantes :

  • AppStream Flottes 2.0

  • Clusters DB Aurora

  • Services ECS

  • Clusters Neptune

  • SageMaker variantes du terminal

  • SageMaker composants d'inférence

  • SageMaker Concurrence provisionnée sans serveur

  • Spot Fleets

  • Ressources personnalisées

Pour toutes les autres cibles évolutives, la valeur par défaut est 0 ou nulle :

  • Classification de documents et points de terminaison de module de reconnaissance d’entité Amazon Comprehend

  • Tables DynamoDB et index secondaires globaux

  • Tables Amazon Keyspaces

  • Simultanéité allouée Lambda

  • Stockage Amazon MSK Broker

Les valeurs nulles sont traitées de la même manière que les valeurs 0 lorsqu'Application Auto Scaling évalue le temps de stabilisation.

Vous pouvez mettre à jour toutes les valeurs par défaut, y compris les valeurs nulles, pour définir vos propres temps de stabilisation.

Considérations

Les points suivants s'appliquent lors de l'utilisation des politiques de suivi des objectifs et d'échelonnement

  • Ne créez, ne modifiez ni ne supprimez les CloudWatch alarmes utilisées avec une politique de dimensionnement du suivi des cibles. Application Auto Scaling crée et gère les CloudWatch alarmes associées à vos politiques de dimensionnement du suivi des cibles et les supprime lorsqu'elles ne sont plus nécessaires.

  • S'il manque des points de données à la métrique, l'état de l' CloudWatch alarme passe àINSUFFICIENT_DATA. Dans ce cas, Application Auto Scaling ne peut pas mettre à l'échelle votre cible capable d’être mise à l’échelle tant que de nouveaux points de données ne sont pas trouvés. Pour plus d'informations, consultez la section Configuration de la façon dont les CloudWatch alarmes traitent les données manquantes dans le guide de CloudWatch l'utilisateur Amazon.

  • Si la métrique est rarement rapportée, les calculs de métriques peuvent s'avérer utiles. Par exemple, pour utiliser les valeurs les plus récentes, utilisez la fonction FILL(m1,REPEAT) là où m1 est la métrique.

  • Vous pouvez constater des écarts entre la valeur cible et les points de données de métrique réels. Ceci est dû au fait qu'Application Auto Scaling agit toujours avec prudence en effectuant un arrondi vers le haut ou vers le bas quand il détermine la capacité à ajouter ou à enlever. Cela l'empêche d'ajouter une capacité insuffisante ou de retirer trop de capacité. Toutefois, pour une cible scalable avec une faible capacité, les points de données de métrique réels peuvent sembler éloignés de la valeur cible.

    Pour une cible scalable avec une plus grande capacité, l'ajout ou le retrait de capacité entraîne moins d'écarts entre la valeur cible et les points de données de métrique réels.

  • Une politique de suivi des objectifs et d'échelonnement suppose qu'elle doit effectuer une montée en puissance ; lorsque la métrique spécifiée est au-dessus de la valeur cible. Vous ne pouvez pas utiliser une politique de suivi des objectifs et d'échelonnement pour effectuer une montée en puissance lorsque la métrique spécifiée est en dessous de la valeur cible.

Plusieurs stratégies de dimensionnement

Vous pouvez avoir plusieurs stratégies de dimensionnement Suivi de la cible pour une cible évolutive, dans la mesure où chacune d'elles utilise une métrique différente. L'objectif d'Application Auto Scaling est de toujours donner la priorité à la disponibilité, afin que son comportement diffère selon que les politiques de suivi des cibles et d'échelonnement sont prêtes pour une augmentation ou une diminution de la capacité. Il augmentera la taille de la cible scalable si une des stratégies Suivi de la cible est prête pour une augmentation de taille, mais la diminuera uniquement si toutes les stratégies Suivi de la cible (avec la portion de diminution en charge activée) sont prêtes pour une diminution de taille.

Si plusieurs stratégies de mise à l’échelle indiquent simultanément à la cible capable d’être mise à l’échelle de procéder à une montée en puissance ou à une mise à l’échelle horizontale, Application Auto Scaling effectue la mise à l'échelle en fonction de la stratégie qui fournit la plus grande capacité à la fois pour la mise à l’échelle horizontale et la montée en puissance. Cela vous offre une plus grande flexibilité pour couvrir plusieurs scénarios et pouvoir toujours disposer d'une capacité suffisante pour traiter vos charges de travail.

Vous pouvez désactiver la portion de mise à l'échelle horizontale d'une politique de mise à l'échelle de suivi des cibles pour utiliser une méthode différente de mise à l'échelle horizontale par rapport à la montée en puissance. Vous pouvez, par exemple, utiliser une stratégie de mise à l'échelle par étapes pour effectuer une diminution en charge tout en utilisant une stratégie de dimensionnement Suivi de la cible pour effectuer une montée en charge.

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 mise à l'échelle par étapes lance une activité de mise à l'échelle horizontale avant que la politique de suivi des objectifs et d'échelonnement ne soit prête pour la mise à l'échelle horizontale, l'activité de mise à l'échelle horizontale ne sera pas bloquée. Une fois l'activité de diminution en charge terminée, la stratégie de dimensionnement Suivi de la cible peut demander à la cible évolutive d'effectuer une montée en charge.

Pour les charges de travail de nature cyclique, vous avez également la possibilité d'automatiser les modifications de capacité sur une planification à l'aide d'une mise à l'échelle planifiée. Pour chaque action planifiée, une nouvelle valeur de capacité minimale et une nouvelle valeur de capacité maximale peuvent être définies. Ces valeurs constituent les limites de la stratégie de mise à l'échelle. La combinaison de la mise à l'échelle planifiée et de la mise à l'échelle Suivi des cibles peut aider à réduire l'impact d'une forte augmentation des niveaux d'utilisation, lorsque la capacité est nécessaire immédiatement.

Commandes couramment utilisées pour la création, la gestion et la suppression des politiques de mise à l'échelle

Les commandes couramment utilisées pour travailler avec les politiques de mise à l'échelle sont les suivantes :

Pour en savoir plus sur la création de politiques de suivi des cibles et de mise à l'échelle pour les groupes Auto Scaling, consultez les Politiques de suivi des cibles et de mise à l'échelle pour Amazon EC2 Auto Scaling dans le Guide de l'utilisateur Amazon EC2 Auto Scaling.

Limites

Les limitations sont les suivantes lors de l'utilisation des politiques de suivi des cibles et d'échelonnement :

  • La cible évolutive ne peut pas être un cluster Amazon EMR. Les politiques de suivi des cibles et d'échelonnement ne sont pas prises en charge pour Amazon EMR.

  • Lorsqu'un cluster Amazon MSK est la cible évolutive, la diminution de charge est désactivée et ne peut pas être activée.

  • Vous ne pouvez pas utiliser les opérations de PutScalingPolicy l'API RegisterScalableTarget or pour mettre à jour un plan de AWS Auto Scaling dimensionnement.

  • L'accès à la console pour consulter, ajouter, mettre à jour ou supprimer les politiques de suivi des cibles et de mise à l'échelle des ressources évolutives dépend de la ressource que vous utilisez. Pour plus d’informations, consultez Services AWS que vous pouvez utiliser avec Application Auto Scaling.