Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwaltung der Flottenskalierung mithilfe der AWS CLI für Amazon AppStream 2.0

Fokusmodus
Verwaltung der Flottenskalierung mithilfe der AWS CLI für Amazon AppStream 2.0 - Amazon AppStream 2.0

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.

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.

Sie können die Flottenskalierung mithilfe der AWS Command Line Interface (AWS CLI) einrichten und verwalten. Für erweiterte Funktionen wie das Einrichten mehrerer Skalierungsrichtlinien oder das Festlegen von Abklingzeiten für Scale-In und Scale-Out verwenden Sie die CLI. AWS Bevor Sie Befehle für Skalierungsrichtlinien ausführen können, müssen Sie Ihre Flotte als skalierbares Ziel registrieren. Verwenden Sie dazu den folgenden Befehl: register-scalable-target

aws application-autoscaling register-scalable-target --service-namespace appstream \ --resource-id fleet/fleetname \ --scalable-dimension appstream:fleet:DesiredCapacity \ --min-capacity 1 --max-capacity 5

Beispiel 1: Anwenden einer Skalierungsrichtlinie, die auf der Kapazitätsnutzung basiert

In diesem AWS CLI-Beispiel wird eine Skalierungsrichtlinie eingerichtet, die eine Flotte um 25% skaliert, wenn die Auslastung >= 75% beträgt.

Der folgende put-scaling-policyBefehl definiert eine nutzungsbasierte Skalierungsrichtlinie:

aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-utilization.json

Der Inhalt der Datei scale-out-utilization.json ist wie folgt:

{ "PolicyName": "policyname", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 25 } ], "Cooldown": 120 } }

Wenn der Befehl erfolgreich ausgeführt werden kann, sieht die Ausgabe ungefähr wie unten angegeben aus. Einige Details weichen jedoch ab, da sie von dem individuellen Konto und der Region abhängig sind. In diesem Beispiel lautet der Richtlinienbezeichner e3425d21-16f0-d701-89fb-12f98dac64af.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:e3425d21-16f0-d701-89fb-12f98dac64af:resource/appstream/fleet/SampleFleetName:policyName/scale-out-utilization-policy"}

Richten Sie jetzt einen CloudWatch Alarm für diese Richtlinie ein. Verwenden Sie die Namen, die Region, Kontonummer und Richtlinienkennung, die für Sie gelten. Für den Parameter --alarm-actions können Sie den Richtlinien-ARN verwenden, der von dem vorherigen Befehl zurückgegeben wurde.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when Capacity Utilization exceeds 75 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 300 \ --threshold 75 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname" \ --evaluation-periods 1 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/appstream/fleet/fleetname:policyName/policyname"

Beispiel 2: Anwenden einer Skalierungsrichtlinie, die auf Fehlern aufgrund unzureichender Kapazität basiert

In diesem AWS CLI-Beispiel wird eine Skalierungsrichtlinie eingerichtet, die die Flotte um 1 skaliert, wenn die Flotte einen InsufficientCapacityError Fehler zurückgibt.

Der folgende Befehl definiert eine Skalierungsrichtlinie auf der Grundlage unzureichender Kapazität:

aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-capacity.json

Der Inhalt der Datei scale-out-capacity.json ist wie folgt:

{ "PolicyName": "policyname", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "ChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 1 } ], "Cooldown": 120 } }

Wenn der Befehl erfolgreich ausgeführt werden kann, sieht die Ausgabe ungefähr wie unten angegeben aus. Einige Details weichen jedoch ab, da sie von dem individuellen Konto und der Region abhängig sind. In diesem Beispiel lautet der Richtlinienbezeichner f4495f21-0650-470c-88e6-0f393adb64fc.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:f4495f21-0650-470c-88e6-0f393adb64fc:resource/appstream/fleet/SampleFleetName:policyName/scale-out-insufficient-capacity-policy"}

Richten Sie jetzt einen CloudWatch Alarm für diese Richtlinie ein. Verwenden Sie die Namen, die Region, Kontonummer und Richtlinienkennung, die für Sie gelten. Für den Parameter --alarm-actions können Sie den Richtlinien-ARN verwenden, der von dem vorherigen Befehl zurückgegeben wurde.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when out of capacity is > 0" \ --metric-name InsufficientCapacityError \ --namespace AWS/AppStream \ --statistic Maximum \ --period 300 \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=Fleet,Value=fleetname" \ --evaluation-periods 1 --unit Count \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/appstream/fleet/fleetname:policyName/policyname"

Beispiel 3: Anwenden einer Skalierungsrichtlinie, die auf geringer Kapazitätsnutzung basiert

In diesem AWS CLI Beispiel wird eine Skalierungsrichtlinie eingerichtet, bei der die Flotte skaliert wird, um die tatsächliche Kapazität zu reduzieren, wenn sie niedrig CapacityUtilization ist.

Der folgende Befehl definiert eine Skalierungsrichtlinie auf der Grundlage überschüssiger Kapazität:

aws application-autoscaling put-scaling-policy --cli-input-json file://scale-in-capacity.json

Der Inhalt der Datei scale-in-capacity.json ist wie folgt:

{ "PolicyName": "policyname", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalUpperBound": 0, "ScalingAdjustment": -25 } ], "Cooldown": 360 } }

Wenn der Befehl erfolgreich ausgeführt werden kann, sieht die Ausgabe ungefähr wie unten angegeben aus. Einige Details weichen jedoch ab, da sie von dem individuellen Konto und der Region abhängig sind. In diesem Beispiel lautet der Richtlinienbezeichner 12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90.

{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90:resource/appstream/fleet/SampleFleetName:policyName/scale-in-utilization-policy"}

Richten Sie jetzt einen CloudWatch Alarm für diese Richtlinie ein. Verwenden Sie die Namen, die Region, Kontonummer und Richtlinienkennung, die für Sie gelten. Für den Parameter --alarm-actions können Sie den Richtlinien-ARN verwenden, der von dem vorherigen Befehl zurückgegeben wurde.

aws cloudwatch put-metric-alarm --alarm-name alarmname \ --alarm-description "Alarm when Capacity Utilization is less than or equal to 25 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 120 \ --threshold 25 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname" \ --evaluation-periods 10 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/appstream/fleet/fleetname:policyName/policyname"

Beispiel 4: Ändern der Flottenkapazität basierend auf einem Zeitplan

Die Änderung Ihrer Flottenkapazität basierend auf einem Zeitplan ermöglicht Ihnen, Ihre Flottenkapazität im Hinblick auf vorhersehbare Veränderungen zu skalieren. Beispielsweise könnten Sie für den Beginn eines Arbeitstags erwarten, dass eine bestimmte Anzahl von Benutzern gleichzeitig Streaming-Verbindungen anfordert. Um Ihre Flottenkapazität auf der Grundlage eines Zeitplans zu ändern, können Sie die PutScheduledActionAPI-Aktion Application Auto Scaling oder den put-scheduled-action AWS CLI-Befehl verwenden.

Bevor Sie Ihre Flottenkapazität ändern, können Sie Ihre aktuelle Flottenkapazität auflisten, indem Sie den CLI-Befehl AppStream 2.0 describe-fleets AWS verwenden.

aws appstream describe-fleets --name fleetname

Die aktuelle Flottenkapazität wird ähnlich der folgenden Ausgabe (im JSON-Format dargestellt) ausgegeben:

{ { "ComputeCapacityStatus": { "Available": 1, "Desired": 1, "Running": 1, "InUse": 0 }, }

Verwenden Sie anschließend den put-scheduled-action-Befehl zum Erstellen einer geplanten Aktion zum Ändern Ihrer Flottenkapazität. Mit dem folgenden Befehl beispielsweise wird täglich um 9.00 Uhr UTC die minimale Kapazität auf 3 und die maximale Kapazität auf 5 gesetzt.

Anmerkung

Geben Sie für cron-Ausdrücke an, wann die Aktion in UTC ausgeführt werden soll. Weitere Informationen finden Sie unter Cron-Ausdrücke.

aws application-autoscaling put-scheduled-action --service-namespace appstream \ --resource-id fleet/fleetname \ --schedule="cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=3,MaxCapacity=5 \ --scheduled-action-name ExampleScheduledAction \ --scalable-dimension appstream:fleet:DesiredCapacity

Führen Sie den Befehl aus, um zu bestätigen, dass die geplante Aktion zur Änderung Ihrer Flottenkapazität erfolgreich erstellt wurde. describe-scheduled-actions

aws application-autoscaling describe-scheduled-actions --service-namespace appstream --resource-id fleet/fleetname

Wurde die geplante Aktion erfolgreich erstellt, wird die Ausgabe ähnlich wie folgt angezeigt.

{ "ScheduledActions": [ { "ScalableDimension": "appstream:fleet:DesiredCapacity", "Schedule": "cron(0 9 * * ? *)", "ResourceId": "fleet/ExampleFleet", "CreationTime": 1518651232.886, "ScheduledActionARN": "<arn>", "ScalableTargetAction": { "MinCapacity": 3, "MaxCapacity": 5 }, "ScheduledActionName": "ExampleScheduledAction", "ServiceNamespace": "appstream" } ] }

Weitere Informationen finden Sie unter Geplante Skalierung im Benutzerhandbuch für Application Auto Scaling.

Beispiel 5: Anwenden einer Richtlinie für die Zielverfolgungsskalierung

Mit der Skalierung der Zielverfolgung können Sie eine Kapazitätsauslastung für Ihre Flotte angeben.

Wenn Sie eine Skalierungsrichtlinie für die Zielverfolgung erstellen, erstellt und verwaltet Application Auto Scaling automatisch CloudWatch Alarme, die die Skalierungsrichtlinie auslösen. Durch die Skalierungsrichtlinie wird so viel Kapazität wie erforderlich hinzugefügt oder entfernt, damit die Metrik auf oder nahe an dem Zielwert gehalten wird. Um die Verfügbarkeit der Anwendung sicherzustellen, wird die Flotte schnellstmöglich proportional zur Metrik aufskaliert, jedoch etwas langsamer herunterskaliert.

Der folgende put-scaling-policyBefehl definiert eine Skalierungsrichtlinie für die Zielverfolgung, mit der versucht wird, eine Kapazitätsauslastung von 75% für eine AppStream 2.0-Flotte aufrechtzuerhalten.

aws application-autoscaling put-scaling-policy --cli-input-json file://config.json

Der Inhalt der Datei config.json ist wie folgt:

{ "PolicyName":"target-tracking-scaling-policy", "ServiceNamespace":"appstream", "ResourceId":"fleet/fleetname", "ScalableDimension":"appstream:fleet:DesiredCapacity", "PolicyType":"TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration":{ "TargetValue":75.0, "PredefinedMetricSpecification":{ "PredefinedMetricType":"AppStreamAverageCapacityUtilization" }, "ScaleOutCooldown":300, "ScaleInCooldown":300 } }

Wenn der Befehl erfolgreich ausgeführt werden kann, sieht die Ausgabe ungefähr wie unten angegeben aus. Einige Details weichen jedoch ab, da sie von dem individuellen Konto und der Region abhängig sind. In diesem Beispiel lautet der Richtlinienbezeichner 6d8972f3-efc8-437c-92d1-6270f29a66e7.

{ "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/appstream/fleet/fleetname:policyName/target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }

Weitere Informationen finden Sie in den Skalierungsrichtlinien für die Ziel-Nachverfolgung im Benutzerhandbuch zum Auto Scaling von Anwendungen.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.