

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.

# Tutorial: EC2 Fleet so konfigurieren, dass On-Demand Instances mit gezielten Kapazitätsreservierungen gestartet werden
<a name="ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough"></a>

Dieses Tutorial führt Sie durch alle Schritte, die Sie ausführen müssen, damit Ihre EC2-Flotte On-Demand-Instances in `targeted` Kapazitätsreservierungen startet.

Sie erfahren, wie Sie eine Flotte so konfigurieren, dass `targeted`-On-Demand-Kapazitätsreservierungen zuerst beim Starten von On-Demand-Instances verwendet werden. Außerdem erfahren Sie, wie Sie die Flotte so konfigurieren, dass die Flotte, wenn die gesamte On-Demand-Zielkapazität die Anzahl der verfügbaren ungenutzten Kapazitätsreservierungen überschreitet, die angegebene Zuordnungsstrategie verwendet, um die Instance-Pools auszuwählen, in denen die verbleibende Zielkapazität gestartet werden soll.

**EC2-Flotte-Konfiguration**

In diesem Tutorial ist die Flotte konfiguriert wie folgt:
+ Zielkapazität: 10 On-Demand-Instances
+ Nicht verwendete `targeted`-Kapazitätsreservierungen: 6 (geringer als die On-Demand-Zielkapazität der Flotte von 10 On-Demand-Instances)
+ Anzahl der Kapazitätsreservierungspools: 2 (`us-east-1a` und `us-east-1b`)
+ Anzahl der Kapazitätsreservierungen pro Pool: 3
+ On-Demand-Zuordnungsstrategie: `lowest-price` (Wenn die Anzahl der nicht genutzten Kapazitätsreservierungen kleiner als die On-Demand-Zielkapazität ist, bestimmt die Flotte die Pools, in denen die verbleibende On-Demand-Kapazität basierend auf der On-Demand-Zuordnungsstrategie gestartet werden soll.)

  Beachten Sie, dass Sie auch die `prioritized`-Zuordnungsstrategie anstelle der `lowest-price`-Zuordnungsstrategie verwenden können.

**Starten von On-Demand-Instances in `targeted`-Kapazitätsreservierungen müssen Sie eine Reihe von Schritten wie folgt ausführen:**
+ [Schritt 1: Erstellen von Kapazitätsreservierungen](#ec2-fleet-odcr-step1)
+ [Schritt 2: Erstellen einer Ressourcengruppe für Kapazitätsreservierung](#ec2-fleet-odcr-step2)
+ [Schritt 3: Hinzufügen der Kapazitätsreservierungen zur Ressourcengruppe der Kapazitätsreservierung](#ec2-fleet-odcr-step3)
+ [(Optional) Schritt 4: Anzeigen der Kapazitätsreservierungen in der Ressourcengruppe](#ec2-fleet-odcr-step4)
+ [Schritt 5: Erstellen einer Startvorlage, die angibt, dass die Kapazitätsreservierung auf eine bestimmte Ressourcengruppe abzielt](#ec2-fleet-odcr-step5)
+ [(Optional) Schritt 6: Beschreiben der Startvorlage](#ec2-fleet-odcr-step6)
+ [Schritt 7: Erstellen einer EC2-Flotte](#ec2-fleet-odcr-step7)
+ [(Optional) Schritt 8: Anzeigen der Anzahl der verbleibenden ungenutzten Kapazitätsreservierungen](#ec2-fleet-odcr-step8)

## Schritt 1: Erstellen von Kapazitätsreservierungen
<a name="ec2-fleet-odcr-step1"></a>

Verwenden Sie den [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html)Befehl, um die Kapazitätsreservierungen zu erstellen, drei für `us-east-1a` und weitere drei für`us-east-1b`. Mit Ausnahme der Availability Zone sind die anderen Attribute der Kapazitätsreservierungen identisch.

**3 Kapazitätsreservierungen in `us-east-1a`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1a \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Beispiel für die resultierende ID der Kapazitätsreservierung

```
cr-1234567890abcdef1
```

**3 Kapazitätsreservierungen in `us-east-1b`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1b \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Beispiel für die resultierende ID der Kapazitätsreservierung

```
cr-54321abcdef567890
```

## Schritt 2: Erstellen einer Ressourcengruppe für Kapazitätsreservierung
<a name="ec2-fleet-odcr-step2"></a>

Verwenden des `resource-groups`-Dienstes und des Befehls [create-group (Erstellen einer Gruppe)](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html), um eine Ressourcengruppe für Kapazitätsreservierung zu erstellen In diesem Beispiel hat die Ressourcengruppe den Namen `my-cr-group`. Informationen dazu, warum Sie eine Ressourcengruppe erstellen müssen, finden Sie unter [Kapazitätsreservierungen verwenden, um On-Demand-Kapazitäten in der EC2-Flotte zu reservieren](ec2-fleet-on-demand-capacity-reservations.md).

```
aws resource-groups create-group \
    --name my-cr-group \
    --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
```

## Schritt 3: Hinzufügen der Kapazitätsreservierungen zur Ressourcengruppe der Kapazitätsreservierung
<a name="ec2-fleet-odcr-step3"></a>

Verwenden des `resource-groups`-Dienstes und des Befehls [group-resources (Gruppenressourcen)](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html), um die Kapazitätsreservierungen, die Sie in Schritt 1 erstellt haben, der Ressourcengruppe Kapazitätsreservierungen hinzuzufügen. Beachten Sie, dass Sie die On-Demand-Kapazitätsreservierungen anhand ihrer angeben müssenARNs.

```
aws resource-groups group-resources \
    --group my-cr-group \
    --resource-arns \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

Beispielausgabe

```
{
   "Failed": [], 
   "Succeeded": [ 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" 
   ] 
}
```

## (Optional) Schritt 4: Anzeigen der Kapazitätsreservierungen in der Ressourcengruppe
<a name="ec2-fleet-odcr-step4"></a>

Verwenden Sie den `resource-groups` Dienst und den [list-group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/list-group-resources.html)Befehl, um optional die Ressourcengruppe zu beschreiben, deren Kapazitätsreservierungen angezeigt werden sollen.

```
aws resource-groups list-group-resources --group my-cr-group
```

Beispielausgabe

```
{
    "ResourceIdentifiers": [
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1"
        },
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
        }
    ]
}
```

## Schritt 5: Erstellen einer Startvorlage, die angibt, dass die Kapazitätsreservierung auf eine bestimmte Ressourcengruppe abzielt
<a name="ec2-fleet-odcr-step5"></a>

Verwenden Sie den [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)Befehl, um eine Startvorlage zu erstellen, in der Sie die zu verwendenden Kapazitätsreservierungen angeben. In diesem Beispiel wird die Flotte `targeted`-Kapazitätsreservierungen verwenden, die einer Ressourcengruppe hinzugefügt wurden. Daher geben die Startvorlagendaten an, dass die Kapazitätsreservierung auf eine bestimmte Ressourcengruppe ausgerichtet ist. In diesem Beispiel hat die Startvorlage den Namen `my-launch-template`. 

```
aws ec2 create-launch-template \
    --launch-template-name my-launch-template \
    --launch-template-data \
        '{"ImageId": "ami-0123456789example",
          "CapacityReservationSpecification": 
            {"CapacityReservationTarget": 
                { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group" }
            }
        }'
```

## (Optional) Schritt 6: Beschreiben der Startvorlage
<a name="ec2-fleet-odcr-step6"></a>

Verwenden Sie den [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html)Befehl, um optional die Startvorlage zu beschreiben und ihre Konfiguration anzuzeigen.

```
aws ec2 describe-launch-template-versions --launch-template-name my-launch-template
```

Beispielausgabe

```
{
    "LaunchTemplateVersions": [
        {
            "LaunchTemplateId": "lt-01234567890example",
            "LaunchTemplateName": "my-launch-template",
            "VersionNumber": 1,
            "CreateTime": "2021-01-19T20:50:19.000Z",
            "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
            "DefaultVersion": true,
            "LaunchTemplateData": {
                "ImageId": "ami-0947d2ba12ee1ff75",
                "CapacityReservationSpecification": {
                    "CapacityReservationTarget": {
                        "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"
                    }
                }
            }
        }
    ]
}
```

## Schritt 7: Erstellen einer EC2-Flotte
<a name="ec2-fleet-odcr-step7"></a>

Erstellen Sie eine EC2-Flotte, die die Konfigurationsinformationen für die Instances angibt, die sie starten soll. Die folgende EC2-Flottenkonfiguration zeigt nur die relevanten Konfigurationen für dieses Beispiel. Die Startvorlage `my-launch-template` ist die Startvorlage, die Sie in Schritt 5 erstellt haben. Es gibt zwei Instance-Pools mit jeweils demselben Instance-Typ (`c5.xlarge`), aber mit unterschiedlichen Availability Zones (`us-east-1a` und `us-east-1b`). Der Preis der Instance-Pools ist derselbe, da die Preise für die Region und nicht für die Availability Zone definiert sind. Die gesamte Zielkapazität beträgt 10 und der Standardzielkapazitätstyp ist `on-demand`. Die On-Demand-Zuordnungsstrategie ist `lowest-price`. Die Nutzungsstrategie für Kapazitätsreservierungen ist `use-capacity-reservations-first`.

**Anmerkung**  
Der Flottentyp muss `instant` sein. Andere Flotten-Typen unterstützen `use-capacity-reservations-first` nicht.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
               {
                   "InstanceType": "c5.xlarge",
                   "AvailabilityZone": "us-east-1a"
               },
               {
                    "InstanceType": "c5.xlarge",
                    "AvailabilityZone": "us-east-1b"
               }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
             "UsageStrategy": "use-capacity-reservations-first"
         }
    },
    "Type": "instant"
}
```

Nachdem Sie die `instant`-Flotte mit der vorherigen Konfiguration erstellt haben, werden die folgenden 10 Instances gestartet, um die Zielkapazität zu erreichen:
+ Die Kapazitätsreservierungen werden zuerst verwendet, um 6 On-Demand-Instances wie folgt zu starten:
  + 3 On-Demand-Instances werden in die 3 `c5.xlarge` `targeted`Kapazitätsreservierungen in `us-east-1a` gestartet
  + 3 On-Demand-Instances werden in die 3 `c5.xlarge` `targeted`Kapazitätsreservierungen in `us-east-1b` gestartet
+ Um die Zielkapazität zu erreichen, werden 4 zusätzliche On-Demand-Instances gemäß der On-Demand-Zuordnungsstrategie in die reguläre On-Demand-Strategie gestartet, die in diesem Beispiel `lowest-price` ist. Da die Pools jedoch denselben Preis haben (da der Preis pro Region und nicht pro Availability Zone ist), startet die Flotte die restlichen 4 On-Demand-Instances in einem der Pools.

## (Optional) Schritt 8: Anzeigen der Anzahl der verbleibenden ungenutzten Kapazitätsreservierungen
<a name="ec2-fleet-odcr-step8"></a>

Nachdem die Flotte gestartet wurde, können Sie optional starten, [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)um zu sehen, wie viele ungenutzte Kapazitätsreservierungen noch übrig sind. In diesem Beispiel sollte die folgende Antwort angezeigt werden, die zeigt, dass alle Kapazitätsreservierungen in allen Pools verwendet wurden.

```
{ "CapacityReservationId":  "cr-111",
     "InstanceType":  "c5.xlarge",  
     "AvailableInstanceCount":  0
}

 { "CapacityReservationId":  "cr-222",
     "InstanceType":  "c5.xlarge", 
     "AvailableInstanceCount":  0
}
```