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 du suivi des cibles pour Application Auto Scaling à l'aide du AWS CLI
Cet exemple utilise des AWS CLI commandes pour créer une politique de rayonnage cible pour un parc Amazon EC2 Spot. Pour une autre cible évolutive, spécifiez son espace de noms dans--service-namespace
, sa dimension évolutive dans --scalable-dimension
et son ID de ressource dans--resource-id
.
Lorsque vous utilisez le AWS CLI, n'oubliez pas que vos commandes s'exécutent dans la Région AWS configuration adaptée à votre profil. Si vous souhaitez exécuter les commandes dans une autre région, modifiez la région par défaut pour votre profil, ou utilisez le paramètre --region
avec la commande.
Tâches
Étape 1 : enregistrer une cible évolutive
Si vous ne l'avez pas encore fait, enregistrez la cible évolutive. Utilisez la register-scalable-targetcommande pour enregistrer une ressource spécifique dans le service cible en tant que cible évolutive. L'exemple suivant enregistre une demande de parc d'instances Spot avec Application Auto Scaling. Application Auto Scaling peut mettre à l'échelle le nombre d'instances dans le parc d'instances Spot à un minimum de 2 instances et un maximum de 10. Remplacez chaque espace réservé à la saisie de l'utilisateur
par vos propres informations.
Linux, macOS ou Unix
aws application-autoscaling register-scalable-target --service-namespace
ec2
\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --min-capacity2
--max-capacity10
Windows
aws application-autoscaling register-scalable-target --service-namespace
ec2
^ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
^ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
^ --min-capacity2
--max-capacity10
Sortie
En cas de réussite, cette commande renvoie l'ARN de la cible évolutive. Voici un exemple de sortie.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Étape 2 : créer une politique de suivi des objectifs et d’échelonnement
Pour créer une politique de dimensionnement du suivi des cibles, vous pouvez utiliser les exemples suivants pour vous aider à démarrer.
Pour créer une politique de suivi des objectifs et d'échelonnement
-
Utilisez la
cat
commande suivante pour stocker une valeur cible pour votre politique de dimensionnement et une spécification de métrique prédéfinie dans un fichier JSON nomméconfig.json
dans votre répertoire de base. Voici un exemple de configuration de suivi des cibles qui maintient l'utilisation moyenne du processeur à 50 %.$ cat ~/config.json { "TargetValue":
50.0
, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization
" } }Pour plus d'informations, reportez-vous PredefinedMetricSpecificationà la section Application Auto Scaling API Reference.
Vous pouvez également utiliser une métrique personnalisée pour la mise à l'échelle en créant une spécification de métrique personnalisée et en ajoutant des valeurs pour chaque paramètre à partir de CloudWatch. Voici un exemple de configuration de suivi des cibles qui maintient l'utilisation moyenne de la métrique spécifiée à 100.
$ cat ~/config.json { "TargetValue":
100.0
, "CustomizedMetricSpecification":{ "MetricName": "MyUtilizationMetric
", "Namespace": "MyNamespace
", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName
", "Value": "MyOptionalMetricDimensionValue
" } ], "Statistic": "Average
", "Unit": "Percent
" } }Pour plus d'informations, reportez-vous CustomizedMetricSpecificationà la section Application Auto Scaling API Reference.
-
Utilisez la put-scaling-policycommande suivante, ainsi que le
config.json
fichier que vous avez créé, pour créer une politique de dimensionnement nomméecpu50-target-tracking-scaling-policy
.Linux, macOS ou Unix
aws application-autoscaling put-scaling-policy --service-namespace
ec2
\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --policy-namecpu50-target-tracking-scaling-policy
--policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configurationfile://config.json
Windows
aws application-autoscaling put-scaling-policy --service-namespace
ec2
^ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
^ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
^ --policy-namecpu50-target-tracking-scaling-policy
--policy-type TargetTrackingScaling ^ --target-tracking-scaling-policy-configurationfile://config.json
Sortie
En cas de succès, cette commande renvoie les ARN et les noms des deux CloudWatch alarmes créées en votre nom. Voici un exemple de sortie.
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:resource/ec2/spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Étape 3 : Décrire les politiques de dimensionnement du suivi des cibles
Vous pouvez décrire toutes les politiques de dimensionnement pour l'espace de noms de service spécifié à l'aide de la describe-scaling-policiescommande suivante.
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
Vous pouvez filtrer les résultats pour découvrir uniquement les stratégies de dimensionnement Suivi de la cible à l'aide du paramètre --query
. Pour plus d'informations sur la syntaxe de query
, consultez Contrôle de la sortie de commande de AWS CLI dans le Guide de l'utilisateur de la AWS Command Line Interface .
Linux, macOS ou Unix
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
\ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
^ --query "ScalingPolicies[?PolicyType==`TargetTrackingScaling`]"
Sortie
Voici un exemple de sortie.
[
{
"PolicyARN": "PolicyARN",
"TargetTrackingScalingPolicyConfiguration": {
"PredefinedMetricSpecification": {
"PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization"
},
"TargetValue": 50.0
},
"PolicyName": "cpu50-target-tracking-scaling-policy",
"ScalableDimension": "ec2:spot-fleet-request:TargetCapacity",
"ServiceNamespace": "ec2",
"PolicyType": "TargetTrackingScaling",
"ResourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
"Alarms": [
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
},
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
}
],
"CreationTime": 1515021724.807
}
]