Beispiele für die Verwendung der AWS CLI mit Auto Scaling Plans
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Auto Scaling Plans nutzen.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt, wie create-scaling-plan verwendet wird.
- AWS CLI
-
So erstellen Sie einen Skalierungsplan
Im folgenden Beispiel für
create-scaling-planwird ein Skalierungsplan namensmy-scaling-planmithilfe einer bereits erstellten JSON-Datei (mit dem Namen config.json) erstellt. Die Struktur des Skalierungsplans umfasst eine Skalierungsanleitung für eine Auto-Scaling-Gruppe mit dem Namenmy-asg. Er gibt dieTagFilters-Eigenschaft als Anwendungsquelle an und ermöglicht prädiktive Skalierung und dynamische Skalierung.aws autoscaling-plans create-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --cli-input-jsonfile://~/config.jsonInhalt der
config.json-Datei:{ "ApplicationSource": { "TagFilters": [ { "Key": "purpose", "Values": [ "my-application" ] } ] }, "ScalingInstructions": [ { "ServiceNamespace": "autoscaling", "ResourceId": "autoScalingGroup/my-asg", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScheduledActionBufferTime": 300, "PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity", "PredictiveScalingMode": "ForecastAndScale", "PredefinedLoadMetricSpecification": { "PredefinedLoadMetricType": "ASGTotalCPUUtilization" }, "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "MinCapacity": 1, "MaxCapacity": 4, "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50 } ] } ] }Ausgabe:
{ "ScalingPlanVersion": 1 }Weitere Informationen finden Sie im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter CreateScalingPlan
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie delete-scaling-plan verwendet wird.
- AWS CLI
-
So löschen Sie einen Skalierungsplan
Im folgenden Beispiel für
delete-scaling-planwird der angegebene Skalierungsplan gelöscht.aws autoscaling-plans delete-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter DeleteScalingPlan
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-scaling-plan-resources verwendet wird.
- AWS CLI
-
So beschreiben Sie die skalierbaren Ressourcen für einen Skalierungsplan
Im folgenden Beispiel für
describe-scaling-plan-resourceswerden Details zu der einzelnen skalierbaren Ressource (einer Auto-Scaling-Gruppe) angezeigt, die dem angegebenen Skalierungsplan zugeordnet ist.aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1Ausgabe:
{ "ScalingPlanResources": [ { "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScalingPlanVersion": 1, "ResourceId": "autoScalingGroup/my-asg", "ScalingStatusCode": "Active", "ScalingStatusMessage": "Target tracking scaling policies have been applied to the resource.", "ScalingPolicies": [ { "PolicyName": "AutoScaling-my-asg-b1ab65ae-4be3-4634-bd64-c7471662b251", "PolicyType": "TargetTrackingScaling", "TargetTrackingConfiguration": { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d" }, "TargetValue": 40.0 } } ], "ServiceNamespace": "autoscaling", "ScalingPlanName": "my-scaling-plan" } ] }Weitere Informationen finden Sie unter Was ist AWS Auto Scaling? im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter DescribeScalingPlanResources
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie describe-scaling-plans verwendet wird.
- AWS CLI
-
So beschreiben Sie einen Skalierungsplan
Im folgenden Beispiel für
describe-scaling-planswerden die Details des angegebenen Skalierungsplans angezeigt.aws autoscaling-plans describe-scaling-plans \ --scaling-plan-namesscaling-plan-with-asg-and-ddbAusgabe:
{ "ScalingPlans": [ { "LastMutatingRequestTime": 1565388443.963, "ScalingPlanVersion": 1, "CreationTime": 1565388443.963, "ScalingInstructions": [ { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50.0, "EstimatedInstanceWarmup": 300, "DisableScaleIn": false } ], "ResourceId": "autoScalingGroup/my-asg", "DisableDynamicScaling": false, "MinCapacity": 1, "ServiceNamespace": "autoscaling", "MaxCapacity": 10 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBReadCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBWriteCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 } ], "ApplicationSource": { "TagFilters": [ { "Values": [ "my-application-id" ], "Key": "application" } ] }, "StatusStartTime": 1565388455.836, "ScalingPlanName": "scaling-plan-with-asg-and-ddb", "StatusMessage": "Scaling plan has been created and applied to all resources.", "StatusCode": "Active" } ] }Weitere Informationen finden Sie unter Was ist AWS Auto Scaling? im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter DescribeScalingPlans
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie get-scaling-plan-resource-forecast-data verwendet wird.
- AWS CLI
-
So rufen Sie Lastprognosedaten ab
In diesem Beispiel werden Lastprognosedaten für eine skalierbare Ressource (eine Auto-Scaling-Gruppe) abgerufen, die dem angegebenen Skalierungsplan zugeordnet ist.
aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1\ --service-namespace"autoscaling"\ --resource-idautoScalingGroup/my-asg\ --scalable-dimension"autoscaling:autoScalingGroup:DesiredCapacity"\ --forecast-data-type"LoadForecast"\ --start-time"2019-08-30T00:00:00Z"\ --end-time"2019-09-06T00:00:00Z"Ausgabe:
{ "Datapoints": [...] }Weitere Informationen finden Sie unter Was ist AWS Auto Scaling? im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter GetScalingPlanResourceForecastData
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie update-scaling-plan verwendet wird.
- AWS CLI
-
So aktualisieren Sie einen Skalierungsplan
Im folgenden Beispiel für
update-scaling-planwird die Skalierungsmetrik für eine Auto-Scaling-Gruppe im angegebenen Skalierungsplan geändert.aws autoscaling-plans update-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1\ --scaling-instructions '{"ScalableDimension":"autoscaling:autoScalingGroup:DesiredCapacity","ResourceId":"autoScalingGroup/my-asg","ServiceNamespace":"autoscaling","TargetTrackingConfigurations":[{"PredefinedScalingMetricSpecification": {"PredefinedScalingMetricType":"ALBRequestCountPerTarget","ResourceLabel":"app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d"},"TargetValue":40.0}],"MinCapacity": 1,"MaxCapacity": 10}'Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Was ist AWS Auto Scaling? im Benutzerhandbuch zu AWS Auto Scaling.
-
API-Details finden Sie unter UpdateScalingPlan
in der AWS CLI-Befehlsreferenz.
-