New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Comment puis-je configurer l’autoscaling du service Amazon ECS sur Fargate ?
Je souhaite configurer l’autoscaling du service Amazon Elastic Container Service (Amazon ECS) pour AWS Fargate.
Brève description
Pour augmenter ou diminuer le nombre de tâches, intégrez Amazon ECS sur Fargate aux alarmes Amazon CloudWatch et à AWS Application Auto Scaling. Vous pouvez ensuite utiliser les métriques CloudWatch pour configurer vos alarmes CloudWatch.
Lorsque votre alarme CloudWatch déclenche un autoscaling, Application Auto Scaling utilise la stratégie de mise à l’échelle configurée pour déterminer la nouvelle valeur de nombre. Application Auto Scaling effectue ensuite l’appel d’API UpdateService à Amazon ECS avec la nouvelle valeur de nombre. Le planificateur de services Amazon ECS lance ou arrête des tâches pour atteindre la nouvelle valeur de nombre. Votre activité de mise à l’échelle conserve l’état En cours jusqu’à ce que la nouvelle valeur de nombre corresponde au nombre en cours d’exécution.
Résolution
Remarque : l’utilisateur Gestion des identités et des accès AWS (AWS IAM) qui accède aux paramètres d’autoscaling du service doit disposer des autorisations appropriées pour les services qui prennent en charge la mise à l’échelle dynamique. Pour en savoir plus, consultez la page Autorisations IAM requises pour le dimensionnement ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/auto-scaling-IAM.html)Autorisations IAM requises pour l’autoscaling du service[.
Console Amazon ECS
Utilisez la console Amazon ECS pour configurer l’autoscaling du service Amazon ECS sur Fargate. Ajoutez ensuite la stratégie de mise à l’échelle au service.
Configurer l’autoscaling du service
Lorsque vous créez ou mettez à jour un service dans la console Amazon ECS, sous Autoscaling du service, effectuez les étapes suivantes :
- Sélectionnez l’option Utiliser l’autoscaling du service.
- Pour le champ Nombre minimum de tâches, saisissez le plus petit nombre de tâches que vous souhaitez que l’autoscaling du service utilise.
- Pour le champ Nombre maximum de tâches, saisissez le plus grand nombre de tâches que vous souhaitez que l’autoscaling du service utilise.
Remarque : le nombre minimum et le nombre maximum de tâches constituent des limites strictes pour votre service.
Ajouter une stratégie de mise à l’échelle au service
En fonction de vos besoins, choisissez une stratégie de suivi de la cible ou une stratégie de mise à l’échelle à étapes :
- Stratégies de suivi de la cible : Effectuez les étapes décrites dans la section To configure target scaling policies for your Amazon ECS service using the Amazon ECS console de la page Target tracking scaling policies.
- Stratégies de mise à l’échelle à étapes : Effectuez les étapes décrites dans la section To configure step scaling policies for your Amazon ECS service using the Amazon ECS console de la page Step scaling policies.
AWS CLI
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez la version la plus récente d’AWS CLI.
Utilisez AWS CLI pour configurer l’autoscaling du service Amazon ECS sur Fargate. Créez ensuite une stratégie de suivi de la cible ou de mise à l’échelle à étapes pour effectuer la mise à l’échelle en fonction des valeurs que vous définissez.
Configurer l’autoscaling du service
Pour enregistrer votre service Fargate en tant que cible évolutive avec Application Auto Scaling, exécutez la commande suivante :
aws application-autoscaling register-scalable-target \ --service-namespace ecs --scalable-dimension ecs:service:DesiredCount \ --resource-id service/<cluster>/<service-name> \ --min-capacity 1 --max-capacity 10 --region us-east-1
Créer une stratégie de suivi de la cible ou de mise à l’échelle à étapes
Créer une stratégie de suivi de la cible ou de mise à l’échelle à étapes pour la cible évolutive. Dans l’exemple suivant, votre service Fargate est la cible évolutive.
Stratégie de suivi de la cible :
aws application-autoscaling put-scaling-policy \ --service-namespace ecs --scalable-dimension ecs:service:DesiredCount \ --resource-id service/<cluster>/<service-name> \ --policy-name Test-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration '{ "TargetValue": 75.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ECSServiceAverageCPUUtilization" }, "ScaleOutCooldown": 60,"ScaleInCooldown": 60}'
**Remarque :**Lorsque vous créez votre stratégie de suivi de la cible, Application Auto Scaling crée des alarmes CloudWatch pour la mise à l’échelle en fonction des valeurs cibles que vous choisissez.
Stratégie de mise à l’échelle à étapes :
-
Créez une stratégie de mise à l’échelle à étapes avec les ajustements d’étapes requis pour votre activité d’augmentation horizontale :
aws application-autoscaling put-scaling-policy \ --service-namespace ecs --scalable-dimension ecs:service:DesiredCount \ --resource-id service/<cluster>/<service-name> \ --policy-name Test-Step-scaling-policy-ScaleOut --policy-type StepScaling \ --step-scaling-policy-configuration '{"AdjustmentType": "ExactCapacity","StepAdjustments": [ { "MetricIntervalLowerBound": 20, "ScalingAdjustment": 10}, { "MetricIntervalLowerBound": 0, "MetricIntervalUpperBound": 20,"ScalingAdjustment": 5}],"Cooldown": 60, "MetricAggregationType": "Average"}'
-
Associez votre politique de mise à l’échelle en tant qu’action d’alarme à votre alarme CloudWatch :
aws cloudwatch put-metric-alarm \ --alarm-name Test-ScaleOut --metric-name MemoryUtilization \ --namespace AWS/ECS --statistic Average --period 60 --threshold 60 \ --comparison-operator GreaterThanOrEqualToThreshold --evaluation-periods 1 --datapoints-to-alarm 1 \ --dimensions Name=ClusterName,Value=<cluster> Name=ServiceName,Value=<service-name> --unit Percent \ --alarm-actions "arn:aws:autoscaling:us-east-1:xxxxxxx:scalingPolicy:xxxxxx/Test-Step-scaling-policy-ScaleOut"
-
Répétez les étapes pour créer une deuxième étape, une stratégie de mise à l’échelle et une alarme CloudWatch pour l’activité de réduction horizontale.
Remarque : lorsque CloudWatch est en cours de réduction horizontale, toutes les activités de réduction horizontale démarrées par CloudWatch sont bloquées jusqu’à ce que l’activité d’augmentation horizontale soit terminée. L’activité d’augmentation horizontale En cours expire quand Amazon ECS n’atteint pas le nombre configuré défini par Application Auto Scaling. Les problèmes d’image ou de mise en réseau font partie des raisons courantes qui expliquent un délai d’expiration. Si les métriques CloudWatch commencent à réduire horizontalement pendant la stabilisation de l’augmentation horizontale et qu’une activité d’augmentation horizontale se termine, une activité de réduction horizontale est exécutée.
Informations connexes
Vidéos associées


Contenus pertinents
- demandé il y a 23 jourslg...
- demandé il y a 9 moislg...
- demandé il y a 2 anslg...
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 4 ans
- AWS OFFICIELA mis à jour il y a 4 ans
- AWS OFFICIELA mis à jour il y a 4 ans