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.
Créez une politique de dimensionnement prédictive pour qu'Amazon ECS augmente ou diminue le nombre de tâches exécutées par votre service en fonction des données historiques.
Note
Un nouveau service doit fournir au moins 24 heures de données avant de pouvoir générer une prévision.
-
Outre les autorisations IAM standard pour créer et mettre à jour des services, vous avez besoin d'autorisations supplémentaires. Pour de plus amples informations, veuillez consulter Autorisations IAM requises pour le dimensionnement automatique du service Amazon ECS.
-
Déterminez les mesures à utiliser pour la politique. Les mesures suivantes sont disponibles :
-
ECSServiceMoyenne CPUUtilization : utilisation moyenne du processeur que le service doit utiliser.
-
ECSServiceAverageMemoryUtilization— Utilisation moyenne de la mémoire que le service doit utiliser.
-
ALBRequestCountPerTarget— Le nombre moyen de demandes par minute que cette tâche devrait idéalement recevoir.
Vous pouvez également utiliser une métrique personnalisée. Vous devez définir les valeurs suivantes :
-
Charge : métrique qui représente avec précision la charge complète de votre application et qui constitue l'aspect le plus important de votre application à prendre en compte.
-
Mesure de mise à l'échelle : le meilleur indicateur du taux d'utilisation idéal pour votre application.
-
Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2
. -
Sur la page Clusters, choisissez le cluster.
-
Sur la page des détails du cluster, dans la section Services, choisissez le service.
La page des détails du service apparaît.
-
Choisissez Service auto scaling, puis sélectionnez Définir le nombre de tâches.
-
Sous Nombre de tâches de service Amazon ECS, sélectionnez Utiliser le dimensionnement automatique.
La section Nombre de tâches apparaît.
-
Dans le champ Nombre minimum de tâches, entrez la limite inférieure du nombre de tâches à utiliser pour le dimensionnement automatique du service. Le nombre souhaité ne sera pas inférieur à ce nombre.
-
Pour Maximum, entrez la limite supérieure du nombre de tâches à utiliser par Service Auto Scaling. Le nombre souhaité ne sera pas supérieur à ce nombre.
-
Choisissez Save (Enregistrer).
La page des politiques apparaît.
-
-
Choisissez Créer une politique de dimensionnement.
La page Créer une politique apparaît.
-
Pour le type de politique de mise à l'échelle, choisissez Predictive Scaling.
-
Pour Policy name (Nom de la politique), saisissez un nom de politique.
-
Pour la paire de métriques, choisissez vos métriques dans la liste des options.
Si vous avez choisi Nombre de demandes Application Load Balancer par cible, choisissez un groupe cible dans le champ Groupe cible. Le nombre de demandes d'Application Load Balancer par cible n'est pris en charge que si vous avez associé un groupe cible Application Load Balancer à votre service.
Si vous avez choisi une paire de métriques personnalisée, choisissez des métriques individuelles dans les listes pour la métrique de charge et la métrique de mise à l'échelle.
-
Pour Utilisation cible, entrez la valeur cible pour le pourcentage de tâches qu'Amazon ECS doit gérer. Le dimensionnement automatique du service augmente votre capacité jusqu'à ce que l'utilisation moyenne atteigne le taux d'utilisation cible ou jusqu'à ce qu'elle atteigne le nombre maximum de tâches que vous avez spécifié.
-
Choisissez Créer une politique de dimensionnement.
Utilisez ce qui AWS CLI suit pour configurer des politiques de dimensionnement prédictif pour votre service Amazon ECS. Remplacez chaque user input placeholder
par vos propres informations.
Pour plus d'informations sur les CloudWatch métriques que vous pouvez spécifier, consultez PredictiveScalingMetricSpecificationle Amazon EC2 Auto Scaling API Reference.
Exemple 1 : politique de dimensionnement prédictif avec mémoire prédéfinie.
Voici un exemple de politique avec une configuration de mémoire prédéfinie.
cat policy.json
{
"MetricSpecifications": [
{
"TargetValue": 40
,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ECSServiceMemoryUtilization
"
}
}
],
"SchedulingBufferTime": 3600
,
"MaxCapacityBreachBehavior": "HonorMaxCapacity",
"Mode": "ForecastOnly"
}
L'exemple suivant illustre la création de la politique en exécutant la put-scaling-policycommande avec le fichier de configuration spécifié.
aws application-autoscaling put-scaling-policy \ --service-namespace
ecs
\ --regionus-east-1
\ --policy-namepredictive-scaling-policy-example
\ --resource-idservice/MyCluster/test
\ --policy-type PredictiveScaling \ --scalable-dimension ecs:service:DesiredCount \ --predictive-scaling-policy-configuration file://policy.json
En cas de succès, cette commande renvoie l'ARN de la politique.
{
"PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example",
"Alarms": []
}
Exemple 2 : une politique de dimensionnement prédictive avec un processeur prédéfini.
Voici un exemple de politique avec une configuration de processeur prédéfinie.
cat policy.json
{
"MetricSpecifications": [
{
"TargetValue": 0.00000004
,
"PredefinedMetricPairSpecification": {
"PredefinedMetricType": "ECSServiceCPUUtilization
"
}
}
],
"SchedulingBufferTime": 3600
,
"MaxCapacityBreachBehavior": "HonorMaxCapacity",
"Mode": "ForecastOnly"
}
L'exemple suivant illustre la création de la politique en exécutant la put-scaling-policycommande avec le fichier de configuration spécifié.
aws aas put-scaling-policy \ --service-namespace
ecs
\ --regionus-east-1
\ --policy-namepredictive-scaling-policy-example
\ --resource-idservice/MyCluster/test
\ --policy-type PredictiveScaling \ --scalable-dimension ecs:service:DesiredCount \ --predictive-scaling-policy-configuration file://policy.json
En cas de succès, cette commande renvoie l'ARN de la politique.
{
"PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example",
"Alarms": []
}