

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.

# Konfigurieren Sie Amazon EC2 Auto Scaling Scaling-Ressourcen mit CloudFormation
<a name="quickref-ec2-auto-scaling"></a>

Die folgenden Beispiele zeigen verschiedene Snippets, die in Vorlagen für die Verwendung mit Amazon EC2 Auto Scaling aufgenommen werden können.

**Topics**
+ [Erstellen Sie eine Auto Scaling-Gruppe für eine einzelne Instance](#scenario-single-instance-as-group)
+ [Erstellen Sie eine Auto Scaling-Gruppe mit einem angeschlossenen Load Balancer](#scenario-as-group)
+ [Erstellen Sie eine Auto-Scaling-Gruppe mit Benachrichtigungen](#scenario-as-notification)
+ [Erstellen Sie eine Autoskalierungsgruppe, die ein `CreationPolicy` und ein `UpdatePolicy`verwendet.](#scenario-as-updatepolicy)
+ [Erstellen Sie eine Skalierungsrichtlinie](#scenario-step-scaling-policy)
+ [Gemischte Instances-Gruppen](#scenario-mixed-instances-group-template-examples)
+ [Beispiele für Launch-Konfigurationen](#scenario-launch-config-template-examples)

## Erstellen Sie eine Auto Scaling-Gruppe für eine einzelne Instance
<a name="scenario-single-instance-as-group"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource mit einer einzelnen Instance, um Ihnen den Einstieg zu erleichtern. Die `VPCZoneIdentifier`-Eigenschaft der Auto-Scaling-Gruppe gibt eine Liste vorhandener Subnetze in drei verschiedenen Availability Zones an. Sie müssen das entsprechende Subnetz IDs aus Ihrem Konto angeben, bevor Sie Ihren Stack erstellen. Die Eigenschaft `LaunchTemplate` verweist auf eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html)-Ressource mit dem logischen Namen `myLaunchTemplate`, die an anderer Stelle in Ihrer Vorlage definiert ist.

**Anmerkung**  
Beispiele für Startvorlagen finden Sie unter [Erstellen Sie Startvorlagen mit CloudFormation](quickref-ec2-launch-templates.md) im Abschnitt Amazon EC2 Snippets und im Abschnitt [Beispiele](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples) in der `AWS::EC2::LaunchTemplate` Ressource.

### JSON
<a name="quickref-autoscaling-example-1.json"></a>

```
 1. "myASG" : {
 2.    "Type" : "AWS::AutoScaling::AutoScalingGroup",
 3.    "Properties" : {
 4.       "VPCZoneIdentifier" : [ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
 5.       "LaunchTemplate" : {
 6.         "LaunchTemplateId" : {
 7.           "Ref" : "myLaunchTemplate"
 8.         },
 9.         "Version" : {
10.           "Fn::GetAtt" : [
11.             "myLaunchTemplate",
12.             "LatestVersionNumber"
13.           ]
14.         }
15.       },
16.       "MaxSize" : "1",
17.       "MinSize" : "1"
18.    }
19. }
```

### YAML
<a name="quickref-autoscaling-example-1.yaml"></a>

```
 1. myASG:
 2.   Type: AWS::AutoScaling::AutoScalingGroup
 3.   Properties:
 4.     VPCZoneIdentifier:
 5.       - subnetIdAz1
 6.       - subnetIdAz2
 7.       - subnetIdAz3
 8.     LaunchTemplate:
 9.       LaunchTemplateId: !Ref myLaunchTemplate
10.       Version: !GetAtt myLaunchTemplate.LatestVersionNumber
11.     MaxSize: '1'
12.     MinSize: '1'
```

## Erstellen Sie eine Auto Scaling-Gruppe mit einem angeschlossenen Load Balancer
<a name="scenario-as-group"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource für den Lastausgleich über mehrere Server. Es gibt die logischen Namen von AWS Ressourcen an, die an anderer Stelle in derselben Vorlage deklariert wurden.

1. Die Eigenschaft `VPCZoneIdentifier` gibt die logischen Namen von zwei [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-subnet.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-subnet.html)-Ressourcen an, in denen die EC2-Instances der Auto Scaling-Gruppe erstellt werden: `myPublicSubnet1` und `myPublicSubnet2`.

1. Die Eigenschaft `LaunchTemplate` gibt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html) Ressource mit dem logischen Namen `myLaunchTemplate`an.

1. Die `TargetGroupARNs`-Eigenschaft listet die Zielgruppen für einen Application Load Balancer oder einen Network Load Balancer auf, der verwendet wird, um den Datenverkehr an die Auto-Scaling-Gruppe weiterzuleiten. In diesem Beispiel wird eine Zielgruppe angegeben, eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-targetgroup.html) Ressource mit dem logischen Namen `myTargetGroup`.

### JSON
<a name="quickref-autoscaling-example-2.json"></a>

```
 1. "myServerGroup" : {
 2.    "Type" : "AWS::AutoScaling::AutoScalingGroup",
 3.    "Properties" : {
 4.       "VPCZoneIdentifier" : [ { "Ref" : "myPublicSubnet1" }, { "Ref" : "myPublicSubnet2" } ],
 5.       "LaunchTemplate" : {
 6.         "LaunchTemplateId" : {
 7.           "Ref" : "myLaunchTemplate"
 8.         },
 9.         "Version" : {
10.           "Fn::GetAtt" : [
11.             "myLaunchTemplate",
12.             "LatestVersionNumber"
13.           ]
14.         }
15.       },
16.       "MaxSize" : "5",
17.       "MinSize" : "1",
18.       "TargetGroupARNs" : [ { "Ref" : "myTargetGroup" } ]
19.    }
20. }
```

### YAML
<a name="quickref-autoscaling-example-2.yaml"></a>

```
 1. myServerGroup:
 2.   Type: AWS::AutoScaling::AutoScalingGroup
 3.   Properties:
 4.     VPCZoneIdentifier:
 5.       - !Ref myPublicSubnet1
 6.       - !Ref myPublicSubnet2
 7.     LaunchTemplate:
 8.       LaunchTemplateId: !Ref myLaunchTemplate
 9.       Version: !GetAtt myLaunchTemplate.LatestVersionNumber
10.     MaxSize: '5'
11.     MinSize: '1'
12.     TargetGroupARNs:
13.       - !Ref myTargetGroup
```

### Weitere Informationen finden Sie auch unter
<a name="scenario-as-group-see-also"></a>

Ein detailliertes Beispiel, in dem eine Auto-Scaling-Gruppe mit einer Skalierungsrichtlinie zur Zielverfolgung-basierend auf der vordefinierten `ALBRequestCountPerTarget`-Metrik für Ihren Application Load Balancer erstellt wird, finden Sie im Abschnitt [Beispiele](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-scalingpolicy.html#aws-resource-autoscaling-scalingpolicy--examples) in der `AWS::AutoScaling::ScalingPolicy`-Ressource.

## Erstellen Sie eine Auto-Scaling-Gruppe mit Benachrichtigungen
<a name="scenario-as-notification"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource, die Amazon SNS-Benachrichtigungen sendet, wenn die angegebenen Ereignisse eintreten. Die `NotificationConfigurations` Eigenschaft gibt das SNS-Thema an, an das eine Benachrichtigung CloudFormation gesendet wird, und die Ereignisse, die CloudFormation dazu führen, dass Benachrichtigungen gesendet werden. Wenn die von angegebenen Ereignisse `NotificationTypes` eintreten, CloudFormation wird eine Benachrichtigung an das von angegebene SNS-Thema gesendet. `TopicARN` Wenn Sie den Stack starten, CloudFormation wird eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-sns-subscription.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-sns-subscription.html)Ressource (`snsTopicForAutoScalingGroup`) erstellt, die in derselben Vorlage deklariert ist.

Die `VPCZoneIdentifier`-Eigenschaft der Auto-Scaling-Gruppe gibt eine Liste vorhandener Subnetze in drei verschiedenen Availability Zones an. Sie müssen das entsprechende Subnetz IDs aus Ihrem Konto angeben, bevor Sie Ihren Stack erstellen. Die Eigenschaft `LaunchTemplate` verweist auf den logischen Namen einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html)-Ressource, die an anderer Stelle in derselben Vorlage deklariert ist.

### JSON
<a name="quickref-autoscaling-example-3.json"></a>

```
 1. "myASG" : {
 2.   "Type" : "AWS::AutoScaling::AutoScalingGroup",
 3.   "DependsOn": [
 4.     "snsTopicForAutoScalingGroup"
 5.   ],
 6.   "Properties" : {
 7.     "VPCZoneIdentifier" : [ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
 8.     "LaunchTemplate" : {
 9.       "LaunchTemplateId" : {
10.         "Ref" : "logicalName"
11.       },
12.       "Version" : {
13.         "Fn::GetAtt" : [
14.           "logicalName",
15.           "LatestVersionNumber"
16.         ]
17.       }
18.     },
19.     "MaxSize" : "5",
20.     "MinSize" : "1",
21.     "NotificationConfigurations" : [
22.       {
23.         "TopicARN" : { "Ref" : "snsTopicForAutoScalingGroup" },
24.         "NotificationTypes" : [
25.           "autoscaling:EC2_INSTANCE_LAUNCH",
26.           "autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
27.           "autoscaling:EC2_INSTANCE_TERMINATE",
28.           "autoscaling:EC2_INSTANCE_TERMINATE_ERROR",
29.           "autoscaling:TEST_NOTIFICATION"
30.         ]
31.       }
32.     ]
33.   }
34. }
```

### YAML
<a name="quickref-autoscaling-example-3.yaml"></a>

```
 1. myASG:
 2.   Type: AWS::AutoScaling::AutoScalingGroup
 3.   DependsOn:
 4.     - snsTopicForAutoScalingGroup
 5.   Properties:
 6.     VPCZoneIdentifier:
 7.       - subnetIdAz1
 8.       - subnetIdAz2
 9.       - subnetIdAz3
10.     LaunchTemplate:
11.       LaunchTemplateId: !Ref logicalName
12.       Version: !GetAtt logicalName.LatestVersionNumber
13.     MaxSize: '5'
14.     MinSize: '1'
15.     NotificationConfigurations:
16.       - TopicARN: !Ref snsTopicForAutoScalingGroup
17.         NotificationTypes:
18.           - autoscaling:EC2_INSTANCE_LAUNCH
19.           - autoscaling:EC2_INSTANCE_LAUNCH_ERROR
20.           - autoscaling:EC2_INSTANCE_TERMINATE
21.           - autoscaling:EC2_INSTANCE_TERMINATE_ERROR
22.           - autoscaling:TEST_NOTIFICATION
```

## Erstellen Sie eine Autoskalierungsgruppe, die ein `CreationPolicy` und ein `UpdatePolicy`verwendet.
<a name="scenario-as-updatepolicy"></a>

Das folgende Beispiel zeigt, wie Sie die Attribute `CreationPolicy` und `UpdatePolicy` zu einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource hinzufügen.

Die Richtlinie zur Probenerstellung verhindert, dass die Auto Scaling Scaling-Gruppe `CREATE_COMPLETE` den Status erreicht, bis sie CloudFormation eine `Count` Reihe von Erfolgssignalen erhält, wenn die Gruppe bereit ist. Um zu signalisieren, dass die Auto-Scaling-Gruppe bereit ist, wird ein `cfn-signal`-Hilfsskript, das den Benutzerdaten der Einführungsvorlage hinzugefügt wird (nicht gezeigt), auf den Instances ausgeführt. Wenn die Instances innerhalb des angegebenen Zeitraums kein Signal senden`Timeout`, CloudFormation wird davon ausgegangen, dass die Instanzen nicht erstellt wurden, CloudFormation schlägt die Ressourcenerstellung fehl und der Stack wird zurückgesetzt.

Die Beispielaktualisierungsrichtlinie weist CloudFormation an, mithilfe der `AutoScalingRollingUpdate` Eigenschaft ein fortlaufendes Update durchzuführen. Die fortlaufende Aktualisierung führt Änderungen an der Auto-Scaling-Gruppe in kleinen Stapeln (für dieses Beispiel Instance nach Instance) basierend auf `MaxBatchSize` durch und eine Pausenzeit zwischen Stapeln von Updates auf der Grundlage von `PauseTime`. Das `MinInstancesInService` Attribut gibt die Mindestanzahl von Instances an, die innerhalb der Auto Scaling Scaling-Gruppe in Betrieb sein müssen, während alte Instances CloudFormation aktualisiert werden.

Das `WaitOnResourceSignals`-Attribut ist auf `true` festgelegt. CloudFormation muss von jeder neuen Instance innerhalb der angegebenen `PauseTime` ein Signal erhalten, bevor die Aktualisierung fortgesetzt wird. Während die Stack-Aktualisierung ausgeführt wird, werden die folgenden EC2-Auto Scaling-Prozesse ausgesetzt: `HealthCheck`, `ReplaceUnhealthy`, `AZRebalance`, `AlarmNotification` und `ScheduledActions`. Hinweis: Unterbrechen Sie die Prozesstypen `Launch`, `Terminate` oder `AddToLoadBalancer` (wenn die Auto-Scaling-Gruppe mit Elastic Load Balancing verwendet wird) nicht, da dies die ordnungsgemäße Funktion der fortlaufenden Aktualisierung verhindern kann.

Die `VPCZoneIdentifier`-Eigenschaft der Auto-Scaling-Gruppe gibt eine Liste vorhandener Subnetze in drei verschiedenen Availability Zones an. Sie müssen das entsprechende Subnetz IDs aus Ihrem Konto angeben, bevor Sie Ihren Stack erstellen. Die Eigenschaft `LaunchTemplate` verweist auf den logischen Namen einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html)-Ressource, die an anderer Stelle in derselben Vorlage deklariert ist.

Weitere Informationen zu den Attributen `CreationPolicy` und `UpdatePolicy` finden Sie unter [Ressourcenattribut-Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-product-attribute-reference.html).

### JSON
<a name="quickref-autoscaling-example-4.json"></a>

```
{
  "Resources":{
    "myASG":{
      "CreationPolicy":{
        "ResourceSignal":{
          "Count":"3",
          "Timeout":"PT15M"
        }
      },
      "UpdatePolicy":{
        "AutoScalingRollingUpdate":{
          "MinInstancesInService":"3",
          "MaxBatchSize":"1",
          "PauseTime":"PT12M5S",
          "WaitOnResourceSignals":"true",
          "SuspendProcesses":[
            "HealthCheck",
            "ReplaceUnhealthy",
            "AZRebalance",
            "AlarmNotification",
            "ScheduledActions",
            "InstanceRefresh"
          ]
        }
      },
      "Type":"AWS::AutoScaling::AutoScalingGroup",
      "Properties":{
        "VPCZoneIdentifier":[ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
        "LaunchTemplate":{
          "LaunchTemplateId":{
            "Ref":"logicalName"
          },
          "Version":{
            "Fn::GetAtt":[
              "logicalName",
              "LatestVersionNumber"
            ]
          }
        },
        "MaxSize":"5",
        "MinSize":"3"
      }
    }
  }
}
```

### YAML
<a name="quickref-autoscaling-example-4.yaml"></a>

```
---
Resources:
  myASG:
    CreationPolicy:
      ResourceSignal:
        Count: '3'
        Timeout: PT15M
    UpdatePolicy:
      AutoScalingRollingUpdate:
        MinInstancesInService: '3'
        MaxBatchSize: '1'
        PauseTime: PT12M5S
        WaitOnResourceSignals: true
        SuspendProcesses:
          - HealthCheck
          - ReplaceUnhealthy
          - AZRebalance
          - AlarmNotification
          - ScheduledActions
          - InstanceRefresh
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      VPCZoneIdentifier:
        - subnetIdAz1
        - subnetIdAz2
        - subnetIdAz3
      LaunchTemplate:
        LaunchTemplateId: !Ref logicalName
        Version: !GetAtt logicalName.LatestVersionNumber
      MaxSize: '5'
      MinSize: '3'
```

## Erstellen Sie eine Skalierungsrichtlinie
<a name="scenario-step-scaling-policy"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-scalingpolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-scalingpolicy.html)-Ressource, die die Auto Scaling-Gruppe mithilfe einer stufenweisen Skalierungsrichtlinie skaliert. Die Eigenschaft `AdjustmentType` ist auf `ChangeInCapacity` festgelegt. Das bedeutet, dass der Parameter `ScalingAdjustment` angibt, wie viele Instances hinzugefügt werden sollen (bei positivem Wert für `ScalingAdjustment`) oder gelöscht werden sollen (bei negativem Wert). In diesem Beispiel wird `ScalingAdjustment` auf 1 festgelegt. Wenn der Schwellenwert für den Alarm überschritten wird, wird die Anzahl der EC2-Instances in der Gruppe also von der Richtlinie um 1 erhöht.

Die Ressource [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudwatch-alarm.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudwatch-alarm.html) `CPUAlarmHigh` legt die Skalierungsrichtlinie `ASGScalingPolicyHigh` als Aktion fest, die ausgeführt werden soll, wenn sich der Alarm im Zustand ALARM befindet (`AlarmActions`). Die Eigenschaft `Dimensions` verweist auf den logischen Namen einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource, die an anderer Stelle in derselben Vorlage deklariert ist.

### JSON
<a name="quickref-autoscaling-example-5.json"></a>

```
 1. {
 2.   "Resources":{
 3.     "ASGScalingPolicyHigh":{
 4.       "Type":"AWS::AutoScaling::ScalingPolicy",
 5.       "Properties":{
 6.         "AutoScalingGroupName":{ "Ref":"logicalName" },
 7.         "PolicyType":"StepScaling",
 8.         "AdjustmentType":"ChangeInCapacity",
 9.         "StepAdjustments":[
10.           {
11.             "MetricIntervalLowerBound":0,
12.             "ScalingAdjustment":1
13.           }
14.         ]
15.       }
16.     },
17.     "CPUAlarmHigh":{
18.       "Type":"AWS::CloudWatch::Alarm",
19.       "Properties":{
20.         "EvaluationPeriods":"2",
21.         "Statistic":"Average",
22.         "Threshold":"90",
23.         "AlarmDescription":"Scale out if CPU > 90% for 2 minutes",
24.         "Period":"60",
25.         "AlarmActions":[ { "Ref":"ASGScalingPolicyHigh" } ],
26.         "Namespace":"AWS/EC2",
27.         "Dimensions":[
28.           {
29.             "Name":"AutoScalingGroupName",
30.             "Value":{ "Ref":"logicalName" }
31.           }
32.         ],
33.         "ComparisonOperator":"GreaterThanThreshold",
34.         "MetricName":"CPUUtilization"
35.       }
36.     }
37.   }
38. }
```

### YAML
<a name="quickref-autoscaling-example-5.yaml"></a>

```
 1. ---
 2. Resources:
 3.   ASGScalingPolicyHigh:
 4.     Type: AWS::AutoScaling::ScalingPolicy
 5.     Properties:
 6.       AutoScalingGroupName: !Ref logicalName
 7.       PolicyType: StepScaling
 8.       AdjustmentType: ChangeInCapacity
 9.       StepAdjustments: 
10.         - MetricIntervalLowerBound: 0
11.           ScalingAdjustment: 1
12.   CPUAlarmHigh:
13.     Type: AWS::CloudWatch::Alarm
14.     Properties:
15.       EvaluationPeriods: 2
16.       Statistic: Average
17.       Threshold: 90
18.       AlarmDescription: 'Scale out if CPU > 90% for 2 minutes'
19.       Period: 60
20.       AlarmActions:
21.         - !Ref ASGScalingPolicyHigh
22.       Namespace: AWS/EC2
23.       Dimensions:
24.         - Name: AutoScalingGroupName
25.           Value:
26.             !Ref logicalName
27.       ComparisonOperator: GreaterThanThreshold
28.       MetricName: CPUUtilization
```

### Weitere Informationen finden Sie auch unter
<a name="scenario-as-policy-see-also"></a>

Weitere Beispielvorlagen für Skalierungsrichtlinien finden Sie im Abschnitt [Beispiele](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-scalingpolicy.html#aws-resource-autoscaling-scalingpolicy--examples) in der `AWS::AutoScaling::ScalingPolicy`-Ressource.

## Gemischte Instances-Gruppen
<a name="scenario-mixed-instances-group-template-examples"></a>

### Erstellen einer Auto-Scaling-Gruppe mit attributbasierter Auswahl des Instance-Typs
<a name="scenario-mixed-instances-group-instance-requirements"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource, die die Informationen zum Starten einer gemischten Instancegruppe mit attributbasierter Instancetypauswahl enthält. Sie geben die Mindest- und Höchstwerte für die `VCpuCount`-Eigenschaft und der Mindestwert für die `MemoryMiB`-Eigenschaft ein. Alle Instance-Typen, die von der Auto-Scaling-Gruppe verwendet werden, müssen mit Ihren erforderlichen Instance-Attributen übereinstimmen. 

Die `VPCZoneIdentifier`-Eigenschaft der Auto-Scaling-Gruppe gibt eine Liste vorhandener Subnetze in drei verschiedenen Availability Zones an. Sie müssen das entsprechende Subnetz IDs aus Ihrem Konto angeben, bevor Sie Ihren Stack erstellen. Die Eigenschaft `LaunchTemplate` verweist auf den logischen Namen einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-launchtemplate.html)-Ressource, die an anderer Stelle in derselben Vorlage deklariert ist.

#### JSON
<a name="quickref-mixed-instances-group-example-2.json"></a>

```
 1. {
 2.   "Resources":{
 3.     "myASG":{
 4.       "Type":"AWS::AutoScaling::AutoScalingGroup",
 5.       "Properties":{
 6.         "VPCZoneIdentifier":[
 7.           "subnetIdAz1",
 8.           "subnetIdAz2",
 9.           "subnetIdAz3"
10.         ],
11.         "MixedInstancesPolicy":{
12.           "LaunchTemplate":{
13.             "LaunchTemplateSpecification":{
14.               "LaunchTemplateId":{
15.                 "Ref":"logicalName"
16.               },
17.               "Version":{
18.                 "Fn::GetAtt":[
19.                   "logicalName",
20.                   "LatestVersionNumber"
21.                 ]
22.               }
23.             },
24.             "Overrides":[
25.               {
26.                 "InstanceRequirements":{
27.                   "VCpuCount":{
28.                     "Min":2,
29.                     "Max":4
30.                   },
31.                   "MemoryMiB":{
32.                     "Min":2048
33.                   }
34.                 }
35.               }
36.             ]
37.           }
38.         },
39.         "MaxSize":"5",
40.         "MinSize":"1"
41.       }
42.     }
43.   }
44. }
```

#### YAML
<a name="quickref-mixed-instances-group-example-1.yaml"></a>

```
 1. ---
 2. Resources:
 3.   myASG:
 4.     Type: AWS::AutoScaling::AutoScalingGroup
 5.     Properties:
 6.       VPCZoneIdentifier:
 7.         - subnetIdAz1
 8.         - subnetIdAz2
 9.         - subnetIdAz3
10.       MixedInstancesPolicy:
11.         LaunchTemplate:
12.           LaunchTemplateSpecification:
13.             LaunchTemplateId: !Ref logicalName
14.             Version: !GetAtt logicalName.LatestVersionNumber
15.           Overrides:
16.             - InstanceRequirements:
17.                 VCpuCount:
18.                   Min: 2
19.                   Max: 4
20.                 MemoryMiB:
21.                   Min: 2048
22.       MaxSize: '5'
23.       MinSize: '1'
```

## Beispiele für Launch-Konfigurationen
<a name="scenario-launch-config-template-examples"></a>

### Erstellen einer Startkonfiguration
<a name="scenario-as-launch-config"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html)-Ressource für eine Auto-Skalierungsgruppe, für die Sie Werte für die Eigenschaften,`ImageId` `InstanceType`und `SecurityGroups` angeben. Die Eigenschaft `SecurityGroups` gibt sowohl den logischen Namen einer [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-securitygroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-ec2-securitygroup.html)-Ressource an, die an anderer Stelle in der Vorlage angegeben ist, als auch eine bestehende EC2-Sicherheitsgruppe namens `myExistingEC2SecurityGroup`.

#### JSON
<a name="quickref-launch-config-example-1.json"></a>

```
1. "mySimpleConfig" : {
2.    "Type" : "AWS::AutoScaling::LaunchConfiguration",
3.    "Properties" : {
4.       "ImageId" : "ami-02354e95b3example",
5.       "InstanceType" : "t3.micro",
6.       "SecurityGroups" : [ { "Ref" : "logicalName" }, "myExistingEC2SecurityGroup" ]
7.    }
8. }
```

#### YAML
<a name="quickref-launch-config-example-1.yaml"></a>

```
1. mySimpleConfig:
2.   Type: AWS::AutoScaling::LaunchConfiguration
3.   Properties:
4.     ImageId: ami-02354e95b3example
5.     InstanceType: t3.micro
6.     SecurityGroups:
7.       - !Ref logicalName
8.       - myExistingEC2SecurityGroup
```

### Erstellen Sie eine Auto Scaling-Gruppe, die eine Startkonfiguration verwendet
<a name="scenario-single-instance-as-group-launch-configuration"></a>

Dieses Beispiel zeigt eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)-Ressource mit einer einzigen Instance. Die `VPCZoneIdentifier`-Eigenschaft der Auto-Scaling-Gruppe gibt eine Liste vorhandener Subnetze in drei verschiedenen Availability Zones an. Sie müssen das entsprechende Subnetz IDs aus Ihrem Konto angeben, bevor Sie Ihren Stack erstellen. Die Eigenschaft `LaunchConfigurationName` verweist auf eine [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html)-Ressource mit dem logischen Namen `mySimpleConfig`, die in Ihrer Vorlage definiert ist.

#### JSON
<a name="quickref-launch-config-example-2.json"></a>

```
1. "myASG" : {
2.    "Type" : "AWS::AutoScaling::AutoScalingGroup",
3.    "Properties" : {
4.       "VPCZoneIdentifier" : [ "subnetIdAz1", "subnetIdAz2", "subnetIdAz3" ],
5.       "LaunchConfigurationName" : { "Ref" : "mySimpleConfig" },
6.       "MaxSize" : "1",
7.       "MinSize" : "1"
8.    }
9. }
```

#### YAML
<a name="quickref-launch-config-example-2.yaml"></a>

```
 1. myASG:
 2.   Type: AWS::AutoScaling::AutoScalingGroup
 3.   Properties:
 4.     VPCZoneIdentifier:
 5.       - subnetIdAz1
 6.       - subnetIdAz2
 7.       - subnetIdAz3
 8.     LaunchConfigurationName: !Ref mySimpleConfig
 9.     MaxSize: '1'
10.     MinSize: '1'
```