Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie eine Skalierungsrichtlinie für die Zielverfolgung für Application Auto Scaling mithilfe der AWS CLI
In diesem Beispiel AWS CLI werden Befehle verwendet, um eine Ziel-Racking-Richtlinie für eine Amazon EC2-Spot-Flotte zu erstellen. Geben Sie für ein anderes skalierbares Ziel seinen Namespace in--service-namespace
, seine skalierbare Dimension in --scalable-dimension
und seine Ressourcen-ID in an. --resource-id
Denken Sie bei der Verwendung von daran AWS CLI, dass Ihre Befehle in der für Ihr Profil AWS-Region konfigurierten Version ausgeführt werden. Wenn Sie die Befehle in einer anderen Region ausführen möchten, ändern Sie entweder die Standardregion für Ihr Profil, oder verwenden Sie den --region
-Parameter mit dem Befehl.
Aufgaben
Schritt 1: Registrieren Sie ein skalierbares Ziel
Wenn Sie dies noch nicht getan haben, registrieren Sie das skalierbare Ziel. Verwenden Sie den register-scalable-targetBefehl, um eine bestimmte Ressource im Zieldienst als skalierbares Ziel zu registrieren. Im folgenden Beispiel wird eine Spot Fleet-Anfrage mit Application Auto Scaling registriert. Application Auto Scaling kann die Anzahl der Instanzen in der Spot Fleet auf ein Minimum von 2 und ein Maximum von 10 Instanzen skalieren. Ersetzen Sie jedes Platzhalter für Benutzereingaben
durch Ihre eigenen Informationen.
Linux, macOS oder 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
Output
Bei Erfolg gibt dieser Befehl den ARN des skalierbaren Ziels zurück. Es folgt eine Beispielausgabe.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Schritt 2: Erstellen einer Skalierungsrichtlinie für die Ziel-Nachverfolgung
Um eine Skalierungsrichtlinie für die Zielverfolgung zu erstellen, können Sie die folgenden Beispiele verwenden, um Ihnen den Einstieg zu erleichtern.
So erstellen Sie eine Skalierungsrichtlinie für die Ziel-Nachverfolgung
-
Verwenden Sie den folgenden
cat
Befehl, um einen Zielwert für Ihre Skalierungsrichtlinie und eine vordefinierte Metrikspezifikation in einer JSON-Datei mit dem Namenconfig.json
in Ihrem Home-Verzeichnis zu speichern. Im Folgenden finden Sie ein Beispiel für eine Konfiguration zur Zielverfolgung, mit der die durchschnittliche CPU-Auslastung bei 50 Prozent gehalten wird.$ cat ~/config.json { "TargetValue":
50.0
, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization
" } }Weitere Informationen finden Sie PredefinedMetricSpecificationin der API-Referenz für Application Auto Scaling.
Alternativ können Sie eine benutzerdefinierte Metrik für die Skalierung verwenden, indem Sie eine benutzerdefinierte Metrikspezifikation erstellen und Werte für jeden Parameter von hinzufügen CloudWatch. Im Folgenden finden Sie ein Beispiel für eine Konfiguration zur Zielverfolgung, bei der die durchschnittliche Auslastung der angegebenen Metrik bei 100 belassen wird.
$ cat ~/config.json { "TargetValue":
100.0
, "CustomizedMetricSpecification":{ "MetricName": "MyUtilizationMetric
", "Namespace": "MyNamespace
", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName
", "Value": "MyOptionalMetricDimensionValue
" } ], "Statistic": "Average
", "Unit": "Percent
" } }Weitere Informationen finden Sie CustomizedMetricSpecificationin der API-Referenz für Application Auto Scaling.
-
Verwenden Sie den folgenden put-scaling-policyBefehl zusammen mit der von Ihnen erstellten
config.json
Datei, um eine Skalierungsrichtlinie mit dem Namen zu erstellencpu50-target-tracking-scaling-policy
.Linux, macOS oder 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
Output
Bei Erfolg gibt dieser Befehl die ARNs und Namen der beiden CloudWatch Alarme zurück, die in Ihrem Namen erstellt wurden. Es folgt eine Beispielausgabe.
{ "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" } ] }
Schritt 3: Beschreiben Sie die Skalierungsrichtlinien für die Zielverfolgung
Mit dem folgenden describe-scaling-policiesBefehl können Sie alle Skalierungsrichtlinien für den angegebenen Service-Namespace beschreiben.
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
Sie können die Ergebnisse mithilfe des Parameters --query
filtern, um nur die Skalierungsrichtlinien zur Ziel-Nachverfolgung zu erhalten. Weitere Informationen über die Syntax von query
, finden Sie unter Steuerung der Befehlsausgabe vom AWS CLI im AWS Command Line Interface Benutzerhandbuch.
Linux, macOS oder 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`]"
Output
Es folgt eine Beispielausgabe.
[
{
"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
}
]