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 suivi des objectifs et d'échelonnement pour Amazon EC2 Auto Scaling
Une politique de dimensionnement pour le suivi des cibles permet d'ajuster automatiquement la capacité de votre groupe Auto Scaling en fonction d'une valeur métrique cible. Cela permet à votre application de maintenir des performances et une rentabilité optimales sans intervention manuelle.
Avec le suivi des cibles, vous sélectionnez une métrique et une valeur cible pour représenter le niveau d’utilisation ou de débit moyen idéal pour votre application. Amazon EC2 Auto Scaling crée et gère les CloudWatch alarmes qui déclenchent des événements de dimensionnement lorsque la métrique s'écarte de la cible. Par exemple, cela est similaire à la façon dont un thermostat maintient une température cible.
Supposons par exemple que vous avez une application Web qui s'exécute actuellement sur deux instances et vous souhaitez que l'utilisation de l'UC du groupe Auto Scaling reste à environ 50 % lorsque la charge sur l'application change. Vous disposez ainsi d'une plus grande capacité pour gérer les pics de trafic sans avoir à maintenir une quantité excessive des ressources inutilisées.
Vous pouvez répondre à ce besoin en créant une stratégie de suivi des objectifs et d'échelonnement qui cible une utilisation moyenne du CPU de 50 pour cent. Ensuite, votre groupe Auto Scaling augmentera, ou augmentera sa capacité, lorsque le processeur dépasse 50 % pour faire face à une charge accrue. Il augmentera ou diminuera la capacité lorsque le processeur tombe en dessous de 50 % afin d'optimiser les coûts pendant les périodes de faible utilisation.
Rubriques
- Politiques multiple de suivi des objectifs de la mise à l'échelle
- Choisissez métriques
- Définition de la valeur cible
- Définir le temps de préchauffage de l'instance
- Considérations
- Création d'une politique de suivi des cibles et d'échelonnement
- Créer une politique de mise à l’échelle du suivi des cibles pour Amazon EC2 Auto Scaling à l’aide d’une expression mathématique appliquée à une métrique
Politiques multiple de suivi des objectifs de la mise à l'échelle
Pour vous permettre d'optimiser la performance de mise en échelle, vous pouvez disposer de plusieurs politiques de suivi des objectifs de la mise à l'échelle à la fois, dans la mesure où chacune d'entre elles utilise une métrique différente. Par exemple, l'utilisation et le débit peuvent s'influencer mutuellement. Chaque fois que l'une de ces métriques change, cela implique généralement que d'autres métriques seront également affectées. L'utilisation de plusieurs métriques fournit donc des informations supplémentaires sur la charge que subit votre groupe Auto Scaling. Cela peut aider Amazon EC2 Auto Scaling à prendre des décisions plus éclairées lorsqu'il s'agit de déterminer la capacité à ajouter à votre groupe.
L'objectif d'Amazon EC2 Auto Scaling est de toujours donner la priorité à la disponibilité. Il élargira le groupe Auto Scaling si l'une des politiques de suivi des cibles est prête à être étendue. Il ne sera étendu que si toutes les politiques de suivi des cibles (avec la partie scale-in activée) sont prêtes à être étendues.
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 stratégie de suivi des objectifs de la mise à l’échelle avec une métrique prédéfinie, vous choisissez une métrique dans la liste suivante de métriques prédéfinies :
-
ASGAverageCPUUtilization
- Utilisation moyenne de l'UC du groupe Auto Scaling. -
ASGAverageNetworkIn
- Nombre moyen d'octets reçus par une seule instance sur toutes les interfaces réseau. -
ASGAverageNetworkOut
- Nombre moyen d'octets envoyé depuis une seule instance sur toutes les interfaces réseau. -
ALBRequestCountPerTarget
- Nombre de demandes Application Load Balancer par cible.
Important
Vous trouverez d'autres informations utiles sur les mesures relatives à l'utilisation du processeur, aux E/S réseau et au nombre de demandes d'Application Load Balancer par cible dans la rubrique Lister les métriques CloudWatch disponibles pour vos instances dans le guide de l'utilisateur Amazon EC2 et dans la rubrique relative aux métriques relatives à votre Application Load Balancer dans CloudWatch le guide de l'utilisateur pour les équilibreurs de charge d'application, respectivement.
Vous pouvez choisir d'autres CloudWatch mesures disponibles ou les vôtres en CloudWatch spécifiant une métrique personnalisée. Vous devez utiliser le AWS CLI ou un SDK pour créer une politique de suivi cible avec une spécification de métrique personnalisée. Pour un exemple qui spécifie une spécification de métrique personnalisée pour une politique de dimensionnement du suivi des cibles à l'aide du AWS CLI, voirExemple de politiques de mise à l'échelle pour AWS Command Line Interface (AWS CLI).
Gardez les points suivants à l'esprit lorsque vous choisissez une métrique :
-
Nous vous recommandons d’utiliser uniquement 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. Pour obtenir des informations sur l’activation de la surveillance détaillée, consultez Configurer la surveillance pour les instances à scalabilité automatique.
-
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 instance. La valeur de métrique doit augmenter ou diminuer en proportion du nombre d'instances présentes dans le groupe Auto Scaling. C'est pour que les données de la métrique puissent être utilisées afin d'augmenter ou réduire proportionnellement le nombre d'instances. Par exemple, l'utilisation de l'UC d'un groupe Auto Scaling (c'est-à-dire la métrique
CPUUtilization
Amazon EC2 avec la dimension de métriqueAutoScalingGroupName
) fonctionne, si la charge du groupe Auto Scaling est répartie entre les instances. -
Les métriques suivantes ne fonctionnent pas pour le suivi de la cible :
-
Nombre de demandes reçues par l'équilibreur de charge en amont du groupe Auto Scaling (autrement dit, la métrique Elastic Load Balancing
RequestCount
). Le nombre de demandes reçues par l'équilibreur de charge ne change pas en fonction de l'utilisation du groupe Auto Scaling. -
Latence des demandes de l'équilibreur de charge (autrement dit, la métrique Elastic Load Balancing
Latency
). La latence des demandes peut augmenter en fonction de la croissance de l'utilisation, sans toutefois évoluer proportionnellement à cette croissance. -
La métrique de file d'attente CloudWatch Amazon SQS.
ApproximateNumberOfMessagesVisible
Le nombre de messages d'une file d'attente peut ne pas changer proportionnellement à la taille du groupe Auto Scaling qui traite les messages de la file d'attente. Toutefois, une métrique personnalisée qui mesure le nombre de messages dans la file d'attente par instance EC2 dans le groupe Auto Scaling peut fonctionner. Pour plus d’informations, consultez Mise à l'échelle basée sur Amazon SQS.
-
-
Pour utiliser la métrique
ALBRequestCountPerTarget
, vous devez spécifier le paramètreResourceLabel
permettant d'identifier le groupe cible de l'équilibreur de charge associé à la métrique. Pour un exemple qui spécifie leResourceLabel
paramètre d'une politique de dimensionnement du suivi des cibles à l'aide du AWS CLI, voirExemple de politiques de mise à l'échelle pour AWS Command Line Interface (AWS CLI). -
Lorsqu'une métrique émet des valeurs réelles de 0 à CloudWatch (par exemple,
ALBRequestCountPerTarget
), un groupe Auto Scaling peut passer à 0 s'il n'y a aucun trafic vers votre application pendant une période prolongée. Pour que votre groupe Auto Scaling diminue à 0 lorsque aucune demande n'y est acheminée, la capacité minimale du groupe 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 politique de mise à l’échelle du suivi des cibles pour Amazon EC2 Auto Scaling à l’aide d’une expression mathématique appliquée à une métrique.
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 le groupe Auto Scaling. 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 mise à l’échelle 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 instance, pendant une période d’une minute.
Définir le temps de préchauffage de l'instance
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 à l'utilisation cible 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. L’objectif est d’effectuer une montée en puissance continue (mais pas excessive).
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.
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. Nous vous 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.
Considérations
Les points suivants s'appliquent lors de l'utilisation des politiques de suivi des objectifs et d'échelonnement
-
Ne créez pas, ne modifiez ni ne supprimez les CloudWatch alarmes utilisées avec une politique de dimensionnement du suivi des cibles. Amazon EC2 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.
-
Une politique de mise à l'échelle du suivi cible priorise la disponibilité pendant les périodes de fluctuation des niveaux de trafic en augmentant plus progressivement lorsque le trafic diminue. Si vous souhaitez que votre groupe Auto Scaling soit mis à l'échelle immédiatement à la fin d'une charge de travail, vous pouvez désactiver la fonction diminuer de la politique. Cela vous donne la latitude d'utiliser la méthode de mise à l'échelle qui répond le mieux à vos besoins lorsque l'utilisation est faible. Pour garantir que la mise à l'échelle se fasse le plus rapidement possible, nous vous recommandons de ne pas utiliser de politique de mise à l'échelle simple pour empêcher l'ajout d'une période de recharge.
-
S'il manque des points de données à la métrique, l'état de l' CloudWatch alarme passe à
INSUFFICIENT_DATA
. Dans ce cas, Amazon EC2 Auto Scaling ne peut pas mettre à l'échelle votre groupe tant que de nouveaux points de données ne sont pas trouvés. -
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 que nous agissons toujours avec prudence en déterminant un arrondi vers le haut ou vers le bas quand il détermine le nombre d'instances à ajouter ou enlever. Cela empêche nous empêche d'ajouter un nombre insuffisant d'instances ou de supprimer trop d'instances. Cependant, pour les groupes Auto Scaling de petite taille avec moins d'instances, l'utilisation du groupe peut sembler éloignée de la valeur cible. Définissez, par exemple, une valeur cible de 50 % pour l'utilisation de l'UC et le groupe Auto Scaling dépasse alors la cible. Nous pouvons déterminer que l'ajout de 1,5 instance diminuera l'utilisation de l'UC d'environ 50 %. Comme il n'est pas possible d'ajouter 1,5 instance, nous arrondissons à la valeur supérieure et ajoutons deux instances. Cela peut diminuer l'utilisation de la CPU à une valeur inférieure à 50 % mais cela garantit que votre application dispose de suffisamment de ressources pour le prendre en charge. De même, si nous déterminons que la suppression de 1,5 instance diminue l'utilisation de la CPU à une valeur supérieure à 50 %, nous ne retirons qu'une seule instance.
Pour les groupes Auto Scaling ayant plus d'instances, l'utilisation est répartie sur un plus grand nombre d'instances, auquel cas l'ajout ou la suppression d'instances 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 de votre groupe Auto Scaling 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 de votre groupe Auto Scaling lorsque la métrique spécifiée est en dessous de la valeur cible.
Création d'une politique de suivi des cibles et d'échelonnement
Pour créer une politique de dimensionnement du suivi des cibles pour votre groupe Auto Scaling, appliquez l'une des méthodes suivantes.
Avant de commencer, vérifiez que votre métrique préférée est disponible à intervalles d’une minute (par rapport à l’intervalle de 5 minutes par défaut pour les métriques Amazon EC2).