

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.

# Verwaltung der Flottenskalierung mithilfe der AWS CLI für WorkSpaces Amazon-Anwendungen
<a name="autoscaling-cli"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)

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

**Topics**
+ [Beispiel 1: Anwenden einer Skalierungsrichtlinie, die auf der Kapazitätsnutzung basiert](#autoscaling-cli-utilization)
+ [Beispiel 2: Anwenden einer Skalierungsrichtlinie, die auf Fehlern aufgrund unzureichender Kapazität basiert](#autoscaling-cli-capacity)
+ [Beispiel 3: Anwenden einer Skalierungsrichtlinie, die auf geringer Kapazitätsnutzung basiert](#autoscaling-cli-scale-in)
+ [Beispiel 4: Ändern der Flottenkapazität basierend auf einem Zeitplan](#autoscaling-cli-schedule)
+ [Beispiel 5: Anwenden einer Richtlinie für die Zielverfolgungsskalierung](#autoscaling-target-tracking)

## Beispiel 1: Anwenden einer Skalierungsrichtlinie, die auf der Kapazitätsnutzung basiert
<a name="autoscaling-cli-utilization"></a>

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-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)Befehl 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
<a name="autoscaling-cli-capacity"></a>

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
<a name="autoscaling-cli-scale-in"></a>

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
<a name="autoscaling-cli-schedule"></a>

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 nach einem Zeitplan zu ändern, können Sie die [PutScheduledAction](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)API-Aktion Application Auto Scaling oder den [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html) AWS CLI-Befehl verwenden.

Bevor Sie Ihre Flottenkapazität ändern, können Sie Ihre aktuelle Flottenkapazität auflisten, indem Sie den CLI-Befehl WorkSpaces Applications [describe-fleets](https://docs.aws.amazon.com/cli/latest/reference/appstream/describe-fleets.html) 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions).

```
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 überprüfen, ob die geplante Aktion zur Änderung Ihrer Flottenkapazität erfolgreich erstellt wurde. [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html)

```
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](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) im *Benutzerhandbuch für Application Auto Scaling*.

## Beispiel 5: Anwenden einer Richtlinie für die Zielverfolgungsskalierung
<a name="autoscaling-target-tracking"></a>

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-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)Befehl definiert eine Skalierungsrichtlinie für die Zielverfolgung, mit der versucht wird, die Kapazitätsauslastung einer WorkSpaces Anwendungsflotte von 75% 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](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) im *Benutzerhandbuch zum Auto Scaling von Anwendungen*.