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.
Faites évoluer automatiquement votre ECS service Amazon
La scalabilité automatique est l'aptitude à augmenter ou à diminuer automatiquement le nombre souhaité de tâches dans votre ECS service Amazon. Amazon ECS utilise le service Application Auto Scaling pour fournir cette fonctionnalité. Pour de plus amples informations, veuillez consulter le Guide de l'utilisateur Application Auto Scaling.
Amazon ECS publie des CloudWatch métriques avec la moyenne de votre service CPU et l'utilisation de la mémoire. Pour de plus amples informations, veuillez consulter Mesures d'utilisation des ECS services Amazon. Vous pouvez utiliser ces CloudWatch métriques pour étendre votre service (ajouter davantage de tâches) afin de répondre à une forte demande aux heures de pointe, et pour faire évoluer votre service (exécuter moins de tâches) afin de réduire les coûts pendant les périodes de faible utilisation.
Amazon ECS Service Auto Scaling prend en charge les types de scalabilité automatique suivants :
-
Utiliser une métrique cible pour faire évoluer les ECS services Amazon – Augmente ou réduit le nombre de tâches exécutées par votre service en fonction d'une valeur cible pour une métrique spécifique. Cette option est similaire à la façon dont votre thermostat maintient la température de votre domicile. Vous sélectionnez une température et le thermostat se charge du reste.
-
Utilisez des incréments prédéfinis basés sur les CloudWatch alarmes pour dimensionner les services Amazon ECS – Augmente ou réduit le nombre de tâches exécutées par votre service en fonction d'un ensemble d'ajustements de mise à l'échelle, appelés ajustements d'étape, qui varient en fonction de la valeur du seuil de l'alarme.
-
Utilisez des actions planifiées pour faire évoluer les ECS services Amazon— Augmente ou réduit le nombre de tâches exécutées par votre service en fonction de la date et de l'heure.
-
Utilisez des modèles historiques pour faire évoluer les ECS services Amazon grâce à une mise à l'échelle prédictive— Augmente ou réduit le nombre de tâches exécutées par votre service en fonction de l'analyse des données de charge historiques pour détecter les tendances quotidiennes ou hebdomadaires des flux de trafic.
Considérations
Lorsque vous utilisez des stratégies de mise à l'échelle, tenez compte des informations suivantes :
-
Amazon ECS envoie les données des métriques à intervalles d'une minute à. CloudWatch Les métriques ne sont pas disponibles tant que les clusters et les services ne les ont pas envoyées CloudWatch. Vous ne pouvez pas créer d' CloudWatch alarmes pour des métriques qui n'existent pas.
-
Les stratégies de mise à l'échelle prennent en charge un temps de stabilisation. Il s'agit de la durée, en secondes, à attendre qu'une activité de mise à l'échelle précédente prenne effet.
-
Pour les événements de montée en puissance, l'intention est de réduire continuellement (mais pas excessivement) la montée en puissance. Une fois que Service Auto Scaling a réussi une montée en puissance à l'aide d'une stratégie de mise à l'échelle, 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 est lancé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.
-
Pour les événements de mise à l'échelle horizontale, l'objectif est de procéder à une mise à l'échelle prudente afin de protéger la disponibilité de votre application, de sorte que les activités de mise à l'échelle horizontale sont bloquées jusqu'à l'expiration du temps de stabilisation. Toutefois, si une autre alarme lance une activité de montée en puissance au cours du temps de stabilisation de la diminution de charge, Application Auto Scaling monte immédiatement en puissance la cible. Dans ce cas, le temps de stabilisation de la mise à l'échelle horizontale s'arrête et ne se termine pas.
-
-
Le planificateur de service respecte le nombre souhaité à tout moment mais, tant que vous avez des stratégies de mise à l'échelle et des alarmes actives sur un service, Service Auto Scaling peut modifier un nombre souhaité manuellement défini par vous-même.
-
Si le nombre souhaité d'un service est défini comme inférieur à sa valeur de capacité minimale, et si une alarme déclenche une activité de montée en puissance, Service Auto Scaling augmente le nombre souhaité pour atteindre la valeur de capacité minimale, puis continue cette augmentation le cas échéant, selon la stratégie de mise à l'échelle associée à l'alarme. Toutefois, une activité de mise à l'échelle horizontale ne modifie pas le nombre souhaité, car il est déjà inférieur à la valeur de capacité minimale.
-
Si le nombre souhaité d'un service est défini comme supérieur à sa valeur de capacité maximale, et si une alarme déclenche une activité de mise à l'échelle horizontale, Service Auto Scaling réduit le nombre souhaité pour atteindre la valeur de capacité maximale, puis continue cette réduction le cas échéant, selon la stratégie de mise à l'échelle associée à l'alarme. Toutefois, une activité de montée en puissance ne modifie pas le nombre souhaité, car il est déjà supérieur à la valeur de capacité maximale.
-
Au cours des activités de mise à l'échelle, le nombre réel de tâches en cours d'exécution dans un service correspond à la valeur utilisée par Service Auto Scaling comme point de départ, plutôt qu'au nombre souhaité. C'est ce qui est supposé représenter la capacité de traitement. Cela évite une mise à l'échelle excessive qui ne pourrait pas être satisfaite, lorsqu'il n'y a par exemple pas assez de ressources d'instances de conteneur pour placer les tâches supplémentaires. Si la capacité d'instance de conteneur est disponible ultérieurement, l'activité de mise à l'échelle en suspens peut réussir et d'autres activités de mise à l'échelle peuvent continuer après la période de stabilisation.
-
Si vous souhaitez que votre nombre de tâches soit réduit à zéro lorsqu'il n'y a pas de travail à effectuer, définissez une capacité minimale de 0. Avec les stratégies de suivi des objectifs et d'échelonnement, lorsque la capacité réelle est de 0 et que la métrique indique qu'il y a une requête d'application, Service Auto Scaling attend l'envoi d'un point de données avant d'effectuer la montée en puissance. Dans ce cas, la mise à l'échelle entraîne la quantité la plus petite possible comme point de départ, puis reprend la mise à l'échelle en fonction du nombre réel de tâches en cours d'exécution.
-
Application Auto Scaling désactive les processus évolutifs pendant que les ECS déploiements Amazon sont en cours. Toutefois, pendant les déploiements, les processus de montée en puissance se poursuivent, sauf s'ils sont suspendus. Pour de plus amples informations, veuillez consulter Service Auto Scaling et déploiements.
-
Vous disposez de plusieurs options d'Application Auto Scaling pour les ECS tâches Amazon. Le suivi des cibles est le mode le plus simple à utiliser. Il vous suffit de définir une valeur cible pour une métrique, telle que l'utilisation CPU moyenne. Ensuite, l'autoscaler gère automatiquement le nombre de tâches nécessaires pour atteindre cette valeur. Grâce à la mise à l'échelle par étapes, vous pouvez réagir plus rapidement aux variations de la demande, car vous définissez les seuils spécifiques pour vos métriques de mise à l'échelle et le nombre de tâches à ajouter ou à supprimer lorsque les seuils sont dépassés. Et surtout, vous pouvez réagir très rapidement aux variations de la demande en réduisant la durée pendant laquelle une alarme de seuil est franchie.
Service Auto Scaling et déploiements
Application Auto Scaling désactive les processus évolutifs pendant que les ECS déploiements Amazon sont en cours. Toutefois, pendant les déploiements, les processus de montée en puissance se poursuivent, sauf s'ils sont suspendus. Si vous souhaitez suspendre les processus de montée en puissance pendant les déploiements, procédez comme suit.
-
Appelez la describe-scalable-targetscommande, en spécifiant l'ID de ressource du service associé à la cible évolutive dans Application Auto Scaling (par exemple :
service/default/sample-webapp
). Enregistrez la sortie. Vous en aurez besoin pour appeler la commande suivante. -
Appelez la register-scalable-targetcommande, en spécifiant l'ID de ressource, l'espace de noms et la dimension évolutive. Spécifiez
true
pourDynamicScalingInSuspended
etDynamicScalingOutSuspended
. -
Une fois le déploiement terminé, vous pouvez appeler la register-scalable-targetcommande pour reprendre le mise à l'échelle.
Pour de plus amples informations, veuillez consulter Suspension et reprise de la mise à l'échelle pour Application Auto Scaling.