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 dimensionnement du suivi des cibles 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.
Par exemple, supposons que vous ayez actuellement une application qui s'exécute sur deux instances et que vous souhaitiez que le CPU taux d'utilisation du groupe Auto Scaling reste aux alentours de 50 % lorsque la charge de 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 politique de dimensionnement du suivi des cibles qui cible une CPU utilisation moyenne de 50 %. Ensuite, votre groupe Auto Scaling augmentera ou augmentera sa capacité lorsqu'il CPU dépassera 50 % pour faire face à une charge accrue. Elle augmentera ou diminuera sa capacité lorsqu'elle CPU descend 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éation d'une politique de dimensionnement pour le suivi des cibles à l'aide de mathématiques métriques
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 mise à l'échelle par portion 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
CPU—Utilisation moyenne 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
D'autres informations utiles concernant les mesures relatives à CPU l'utilisation, aux E/S du réseau et au nombre de demandes d'Application Load Balancer par cible sont disponibles dans la rubrique Lister les métriques CloudWatch disponibles pour vos instances dans le Guide de l'utilisateur EC2 Amazon et dans la rubrique relative aux métriques relatives à votre Application Load Balancer dans CloudWatch le Guide de l'utilisateur pour les Application Load Balancers, 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 an 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, voirExemples de politiques de dimensionnement pour 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 EC2 métriques Amazon sont envoyées à intervalles de 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'CPUutilisation d'un groupe Auto Scaling fonctionne (c'est-à-dire la EC2 métrique Amazon
CPUUtilization
avec la dimension métriqueAutoScalingGroupName
), 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 la SQS file d'attente CloudWatch Amazon
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. Cependant, une métrique personnalisée qui mesure le nombre de messages dans la file d'attente par EC2 instance dans le groupe Auto Scaling peut fonctionner. Pour de plus amples informations, veuillez consulter Politique de dimensionnement 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, voirExemples de politiques de dimensionnement pour 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 de plus amples informations, veuillez consulter Création d'une politique de dimensionnement pour le suivi des cibles à l'aide de mathématiques métriques.
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'EC2instance 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 charge continue (mais pas excessive).
Pendant que l'activité de scale-out est en cours, toutes les activités de scale-in initiées par les politiques de scale-out sont bloquées jusqu'à ce que les instances aient fini de s'échauffer. Lorsque les instances ont fini de s'échauffer, si un événement d'échelle 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 redimensionner 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. Supposons, par exemple, que vous définissez une valeur cible de 50 % pour CPU l'utilisation et que votre groupe Auto Scaling dépasse ensuite la cible. Nous pouvons déterminer que l'ajout de 1,5 instance réduira le CPU taux d'utilisation à près de 50 %. Comme il n'est pas possible d'ajouter 1,5 instance, nous arrondissons à la valeur supérieure et ajoutons deux instances. Cela peut réduire l'CPUutilisation à une valeur inférieure à 50 %, mais cela garantit que votre application dispose de suffisamment de ressources pour la prendre en charge. De même, si nous déterminons que la suppression de 1,5 instance augmente votre CPU taux d'utilisation à plus de 50 %, nous n'en retirons qu'une seule.
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.