Beispiele für Auto Scaling-Pläne mit AWS CLI - AWS SDKCode-Beispiele

Weitere AWS SDK Beispiele sind im Repo AWS Doc SDK Examples GitHub verfügbar.

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.

Beispiele für Auto Scaling-Pläne mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von Auto Scaling-Plänen Aktionen ausführen und allgemeine Szenarien implementieren. AWS Command Line Interface

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen in den zugehörigen Szenarien im Kontext sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcreate-scaling-plan.

AWS CLI

Um einen Skalierungsplan zu erstellen

Im folgenden create-scaling-plan Beispiel wird ein Skalierungsplan erstellt, der my-scaling-plan mithilfe einer bereits erstellten JSON Datei (namens config.json) benannt wird. Die Struktur des Skalierungsplans umfasst eine Skalierungsanweisung für eine Auto Scaling Scaling-Gruppe mit dem Namenmy-asg. Er gibt die TagFilters-Eigenschaft als Anwendungsquelle an und ermöglicht prädiktive Skalierung und dynamische Skalierung.

aws autoscaling-plans create-scaling-plan \ --scaling-plan-name my-scaling-plan \ --cli-input-json file://~/config.json

Inhalt 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 AWS Auto Scaling Scaling-Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungdelete-scaling-plan.

AWS CLI

Um einen Skalierungsplan zu löschen

Im folgenden delete-scaling-plan Beispiel wird der angegebene Skalierungsplan gelöscht.

aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie im AWS Auto Scaling Scaling-Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungdescribe-scaling-plan-resources.

AWS CLI

Um die skalierbaren Ressourcen für einen Skalierungsplan zu beschreiben

Im folgenden describe-scaling-plan-resources Beispiel werden Details zu der einzelnen skalierbaren Ressource (einer Auto Scaling Scaling-Gruppe) angezeigt, die dem angegebenen Skalierungsplan zugeordnet ist.

aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Ausgabe:

{ "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 AWS Auto Scaling Scaling-Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungdescribe-scaling-plans.

AWS CLI

Um einen Skalierungsplan zu beschreiben

Im folgenden describe-scaling-plans Beispiel werden die Details des angegebenen Skalierungsplans angezeigt.

aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names scaling-plan-with-asg-and-ddb

Ausgabe:

{ "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 AWS Auto Scaling Scaling-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie man es benutztget-scaling-plan-resource-forecast-data.

AWS CLI

Um Daten zur Lastprognose abzurufen

In diesem Beispiel werden Lastprognosedaten für eine skalierbare Ressource (eine Auto Scaling Scaling-Gruppe) abgerufen, die dem angegebenen Skalierungsplan zugeordnet ist.

aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --service-namespace "autoscaling" \ --resource-id autoScalingGroup/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 AWS Auto Scaling Scaling-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie man es benutztupdate-scaling-plan.

AWS CLI

Um einen Skalierungsplan zu aktualisieren

Im folgenden update-scaling-plan Beispiel wird die Skalierungsmetrik für eine Auto Scaling Scaling-Gruppe im angegebenen Skalierungsplan geändert.

aws autoscaling-plans update-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --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 AWS Auto Scaling Scaling-Benutzerhandbuch.