Faites évoluer automatiquement votre service Amazon ECS - Amazon Elastic Container Service

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 service Amazon ECS

La scalabilité automatique est l'aptitude à augmenter ou à diminuer automatiquement le nombre souhaité de tâches dans votre service Amazon ECS service. 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 statistiques indiquant l'utilisation moyenne du processeur et de la mémoire de votre service. Pour plus d’informations, consultez Mesures d'utilisation des services Amazon ECS. Vous pouvez utiliser ces CloudWatch indicateurs, ainsi que d'autres, pour étendre votre service (ajouter des tâches) afin de répondre à la forte demande aux heures de pointe, et pour étendre 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 :

Considérations

Lorsque vous utilisez des stratégies de mise à l'échelle, tenez compte des informations suivantes :

  • Amazon ECS envoie des métriques toutes les 1 minute à CloudWatch. Les métriques ne sont pas disponibles tant que les clusters et les services ne les ont pas envoyées CloudWatch, et 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 en dessous de sa valeur de capacité minimale et qu'une alarme déclenche une activité de scale-out, Service Auto Scaling redimensionne le nombre souhaité jusqu'à la valeur de capacité minimale, puis continue à évoluer selon les besoins, en fonction de la politique de dimensionnement 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 au-dessus de sa valeur de capacité maximale et qu'une alarme déclenche une échelle d'activité, Service Auto Scaling redimensionne le décompte souhaité jusqu'à la valeur de capacité maximale, puis continue à évoluer selon les besoins, en fonction de la politique de dimensionnement 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 déploiements Amazon ECS sont en cours. Toutefois, pendant les déploiements, les processus de montée en puissance se poursuivent, sauf s'ils sont suspendus. Pour plus d’informations, consultez Service Auto Scaling et déploiements.

  • Vous disposez de plusieurs options d'Application Auto Scaling pour les tâches Amazon ECS. 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 moyenne du processeur. 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 déploiements Amazon ECS 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.

  1. Appelez la commande describe-scalable-targets, 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.

  2. Appelez la commande register-scalable-target, en spécifiant l'ID de ressource, l'espace de noms et la dimension évolutive. Spécifiez true pour DynamicScalingInSuspended et DynamicScalingOutSuspended.

  3. Une fois le déploiement terminé, vous pouvez appeler la commande register-scalable-target pour reprendre la mise à l'échelle.

Pour de plus amples informations, veuillez consulter la section relative à la Suspension et reprise de la mise à l'échelle pour Application Auto Scaling.