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 Amazon EC2 Spot Fleet. 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 user input
placeholder par vos propres informations.
Linux, macOS ou Unix
aws application-autoscaling register-scalable-target --service-namespaceec2\ --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-namespaceec2^ --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
catcommande 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.jsondans 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 commande put-scaling-policy suivante avec le fichier
config.jsonque vous avez créé pour créer une stratégie de dimensionnement nomméecpu50-target-tracking-scaling-policy.Linux, macOS ou Unix
aws application-autoscaling put-scaling-policy --service-namespaceec2\ --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.jsonWindows
aws application-autoscaling put-scaling-policy --service-namespaceec2^ --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.jsonSortie
En cas de succès, cette commande renvoie les noms ARNs et 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 stratégies de dimensionnement pour l'espace de noms de service à l'aide de la commande describe-scaling-policies suivante.
aws application-autoscaling describe-scaling-policies --service-namespaceec2
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-namespaceec2\ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespaceec2^ --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
}
]