

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.

# EC2-Flotte und Spot-Flotte
<a name="Fleets"></a>

EC2-Flotte und Spot-Flotte sind als nützliche Methode zum Starten einer Flotte von Dutzenden, Hunderten oder Tausenden von Amazon-EC2-Instances in einem einzigen Vorgang konzipiert. Jede Instance in einer Flotte wird entweder durch eine [Startvorlage](ec2-launch-templates.md) oder durch eine Reihe von Startparametern konfiguriert, die Sie beim Start manuell konfigurieren.

**Topics**
+ [

## Features und Vorteile
](#ec2-fleet-features-and-benefits)
+ [

# Was ist die beste Flottenmethode?
](which-fleet-method-to-use.md)
+ [

# Konfigurationsoptionen für Ihre EC2-Flotte oder Spot-Flotte
](ec2-fleet-configuration-strategies.md)
+ [

# Mit EC2-Flotten arbeiten
](manage-ec2-fleet.md)
+ [

# Mit Spot-Flotten arbeiten
](work-with-spot-fleets.md)
+ [

# Ihre EC2-Flotte oder Spot-Flotte überwachen
](fleet-monitor.md)
+ [

# Tutorials für EC2-Flotte
](fleet-tutorials.md)
+ [

# Beispielhafte CLI-Konfigurationen für EC2-Flotte
](ec2-fleet-examples.md)
+ [

# Beispiel für CLI-Konfigurationen der Spot-Flotte
](spot-fleet-examples.md)
+ [

# Kontingente für EC2-Flotte und Spot-Flotte
](fleet-quotas.md)

## Features und Vorteile
<a name="ec2-fleet-features-and-benefits"></a>

Flotten bieten die folgenden Funktionen und Vorteile, mit denen Sie die Kosteneinsparungen maximieren und die Verfügbarkeit und Leistung optimieren können, wenn Sie Anwendungen auf mehreren EC2-Instances ausführen.

**Mehrere Instance-Typen**  
Eine Flotte kann mehrere Instance-Typen starten, wodurch sichergestellt wird, dass sie nicht von der Verfügbarkeit eines einzelnen Instance-Typs abhängig ist. Dies erhöht die Gesamtverfügbarkeit der Instances in Ihrer Flotte.

**Aufteilen von Instances in mehrere Availability Zones**  
Eine Flotte kann in mehrere Availability Zones starten, sodass Sie Kosten senken und die Verfügbarkeit verbessern können. Wenn Ihre Flotte Spot Instances umfasst, wählt die Flotte automatisch Availability Zones auf der Grundlage Ihrer Präferenzen in Bezug auf Preis und Unterbrechungen aus.

**Vielfältige Kaufoptionen**  
Eine Flotte kann mehrere Kaufoptionen (Spot- und On-Demand-Instances) starten, so dass Sie die Kosten durch die Nutzung von Spot-Instances optimieren können. Sie können auch Rabatte für Reserved Instances und Savings Plan nutzen, indem Sie sie in Verbindung mit On-Demand-Instances in der Flotte verwenden. 

**Automatischer Ersatz von Spot Instances**  
Wenn Ihre Flotte Spot Instances umfasst, kann sie automatisch Ersatz-Spot-Kapazität anfordern, falls Ihre Spot Instances unterbrochen werden. Durch den [Kapazitätsausgleich](ec2-fleet-capacity-rebalance.md) kann eine Flotte auch Ihre Spot Instances überwachen und proaktiv ersetzen, die einem erhöhten Risiko einer Unterbrechung ausgesetzt sind.

**On-Demand-Kapazität reservieren**  
Eine Flotte kann eine [On-Demand-Kapazitätsreservierung](ec2-fleet-on-demand-capacity-reservations.md) verwenden, um On-Demand-Kapazität zu reservieren. Eine Flotte kann auch [Kapazitätsblöcke für ML](ec2-capacity-blocks.md) enthalten, die es Ihnen ermöglichen, GPU-Instances für einen späteren Zeitpunkt zu reservieren, um Ihre kurzzeitigen Machine Learning (ML)-Workloads zu unterstützen.

# Was ist die beste Flottenmethode?
<a name="which-fleet-method-to-use"></a>

Als allgemein bewährte Methode empfehlen wir, Flotten von Spot und On-Demand-Instances mit Amazon EC2 Auto Scaling zu starten, da es zusätzliche Features für die Verwaltung Ihrer Flotte bereitstellt. Die Liste der zusätzlichen Features umfasst den automatischen Ersatz von Zustandsprüfungen für Spot und On-Demand-Instances, anwendungsbasierte Zustandsprüfungen und eine Integration mit Elastic Load Balancing, um eine gleichmäßige Verteilung des Anwendungsverkehrs auf Ihre fehlerfreien Instances sicherzustellen. Sie können Auto Scaling Scaling-Gruppen auch verwenden, wenn Sie AWS Dienste wie Amazon ECS, Amazon EKS (selbstverwaltete Knotengruppen) und Amazon VPC Lattice verwenden. Weitere Informationen hierzu finden Sie im [Amazon EC2 Auto Scaling-Benutzerhandbuch](https://docs.aws.amazon.com/autoscaling/ec2/userguide/).

Wenn Sie Amazon EC2 Auto Scaling nicht verwenden können, sollten Sie die Verwendung von EC2-Flotte oder Spot-Flotte in Betracht ziehen. Spot-Flotte und EC2-Flotte bieten dieselbe Kernfunktionalität. EC2-Flotte ist jedoch nur über eine Befehlszeile verfügbar und bietet keine Konsolenunterstützung. Spot-Flotte bietet Konsolenunterstützung, basiert jedoch auf einer Legacy-API ohne geplante Investition.

Bestimmen Sie anhand der folgenden Tabelle, welche Flottenmethode verwendet werden soll.


****  

| FlottenmethodeFlotteFlotte | Wann sollte dies verwendet werden? | Anwendungsfall | 
| --- | --- | --- | 
|  [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Erstellen Sie eine Auto-Scaling-Gruppe, die den Lebenszyklus Ihrer Instances verwaltet und gleichzeitig die gewünschte Anzahl von Instances beibehält. Unterstützt die horizontale Skalierung (Hinzufügen weiterer Instances) zwischen festgelegten Mindest- und Maximalgrenzen.  | 
|  [EC2-Flotte](manage-ec2-fleet.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Erstellen Sie eine `instant`-Flotte von On-Demand-Instances und Spot Instances in einem einzigen Vorgang mit mehreren Startspezifikationen, die sich nach Instance-Typ, AMI, Availability Zone oder Subnetz unterscheiden. Die Spot-Instance-Allokationsstrategie ist standardmäßig auf `lowest-price` pro Einheit eingestellt, aber Sie können die Einstellung auf `price-capacity-optimized` ändern.  | 
|  [Spot-Flotte](work-with-spot-fleets.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Verwenden Sie Spot-Flotte nur, wenn Sie Konsolenunterstützung für einen Anwendungsfall benötigen, in dem Sie EC2-Flotte verwenden würden.  | 

# Konfigurationsoptionen für Ihre EC2-Flotte oder Spot-Flotte
<a name="ec2-fleet-configuration-strategies"></a>

Bei der Planung Ihrer EC2-Flotte oder Spot-Flotte empfehlen wir Ihnen, die folgenden Optionen in Betracht zu ziehen, wenn Sie entscheiden, wie Sie Ihre Flotte konfigurieren.


****  

| Konfigurationsoption | Frage | Dokumentation | 
| --- | --- | --- | 
| Art der Flottanforderung |  Möchten Sie eine Flotte, die eine einmalige Anfrage für die gewünschte Zielkapazität stellt, oder eine Flotte, die die Zielkapazität im Laufe der Zeit beibehält?  | [EC2-Flotten- und Spot-Flotten-Anforderungstypen](ec2-fleet-request-type.md) | 
| Spot Instances | Planen Sie, Spot Instances in Ihre Flotte aufzunehmen? Nutzen Sie diese bewährten Methoden für Spot bei der Planung Ihrer Flotte, damit Sie die Instances zum niedrigstmöglichen Preis bereitstellen können. | [Bewährte Methoden für Amazon EC2 Spot](spot-best-practices.md) | 
| Ausgabenlimit für Ihre Flotte | Möchten Sie einschränken, wie viel Sie pro Stunde für Ihre Flotte zahlen werden? | [Ausgabenlimit für Ihre EC2-Flotte oder Spot-Flotte festlegen](ec2-fleet-control-spending.md) | 
| Instance-Typen und attributbasierte Auswahl von Instance-Typen |  Möchten Sie die Instance-Typen in Ihrer Flotte angeben oder Amazon EC2 die Instance-Typen auswählen lassen, die Ihren Anwendungsanforderungen entsprechen?  | [Geben Sie Attribute für die Auswahl von Instance-Typen für EC2-Flotte oder Spot-Flotte an](ec2-fleet-attribute-based-instance-type-selection.md) | 
| Instance-Gewichtung | Möchten Sie jedem Instance-Typ Gewichtungen zuweisen, um deren Rechenkapazität und Leistung darzustellen, sodass Amazon EC2 eine beliebige Kombination verfügbarer Instance-Typen auswählen kann, um Ihre gewünschte Zielkapazität zu erreichen? | [Instance-Gewichtung verwenden, um die Kosten und die Leistung Ihrer EC2-Flotte oder Spot-Flotte zu verwalten](ec2-fleet-instance-weighting.md) | 
| Allokationsstrategien | Möchten Sie entscheiden, ob Sie die verfügbare Kapazität, den Preis oder die Instance-Typen für die Spot Instances und On-Demand-Instances in Ihrer Flotte optimieren möchten? | [Verwenden Sie Zuweisungsstrategien, um festzustellen, wie die EC2-Flotte oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausfüllt](ec2-fleet-allocation-strategy.md) | 
| Kapazitätsausgleich | Möchten Sie, dass Ihre Flotte gefährdete Spot Instances automatisch ersetzt? | [Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen](ec2-fleet-capacity-rebalance.md) | 
| On-Demand-Kapazitätsreservierung | Möchten Sie Kapazität für die On-Demand-Instances in Ihrer Flotte reservieren? | [Kapazitätsreservierungen verwenden, um On-Demand-Kapazitäten in der EC2-Flotte zu reservieren](ec2-fleet-on-demand-capacity-reservations.md) | 

# EC2-Flotten- und Spot-Flotten-Anforderungstypen
<a name="ec2-fleet-request-type"></a>

Der Anforderungstyp für eine EC2-Flotte oder Spot-Flotte bestimmt, ob die Anforderung synchron oder asynchron ist und ob es sich um eine einmalige Anforderung für die gewünschte Zielkapazität oder um einen kontinuierlichen Versuch handelt, die Kapazität dauerhaft aufrechtzuerhalten. Bei der Konfiguration Ihrer Flotte müssen Sie den Anforderungstyp angeben.

Sowohl EC2-Flotte als auch Spot-Flotte bieten zwei Anforderungstypen: `request` und`maintain`. Darüber hinaus bietet EC2-Flotte einen dritten Anfragetyp namens `instant`.Flotten-Anforderungstypen

`instant` (Nur EC2-Flotte)  
Wenn Sie den Anforderungstyp als `instant` konfigurieren, erstellt EC2-Flotte eine einmalige, synchrone Anforderung für Ihre gewünschte Kapazität. In der API-Antwort gibt er die gestarteten Instances zurück sowie die Fehler für Instances, die nicht gestartet werden konnten. Weitere Informationen finden Sie unter [EC2-Flotte des Typs instant konfigurieren](instant-fleet.md).

`request`  
Wenn Sie den Anforderungstyp als `request` konfigurieren, erstellt die Flotte eine einmalige, asynchrone Anforderung für Ihre gewünschte Kapazität. Wenn die Kapazität aufgrund von Spot-Unterbrechungen abnimmt, versucht die Flotte weder, Spot Instances aufzufüllen, noch stellt sie Anfragen in alternativen Spot-Kapazitätspools, wenn die Kapazität nicht verfügbar ist. Um eine Spot-Flotte des Typs `request` mit der Konsole zu erstellen, wählen Sie das Kontrollkästchen **Erhalten der Zielkapazität** ab.

`maintain` (Standard)  
Wenn Sie den Anforderungstyp als `maintain` konfigurieren, erstellt Spot-Flotte eine asynchrone Anforderung für Ihre gewünschte Kapazität und erhält die Kapazität aufrecht, indem sie alle unterbrochenen Spot Instances automatisch auffüllt. Um eine Spot-Flotte des Typs `maintain` mit der Konsole zu erstellen, wählen Sie das Kontrollkästchen **Erhalten der Zielkapazität** aus

# EC2-Flotte des Typs instant konfigurieren
<a name="instant-fleet"></a>

Die EC2-Flotte des Typs *Instant* ist eine einmalige, synchrone Anforderung, die nur einen Versuch macht, die gewünschte Kapazität zu starten. Die API-Antwort gibt die gestarteten Instances zurück sowie die Fehler für Instances, die nicht gestartet werden konnten. Die Verwendung einer EC2-Flotte des Typs *Instant*, die in diesem Artikel beschrieben werden, hat mehrere Vorzüge. Beispielkonfigurationen finden Sie am Ende des Artikels.

Für Workloads, die eine reine Launch-API zum Starten von EC2-Instances benötigen, können Sie die API verwenden. RunInstances Mit können Sie RunInstances jedoch nur On-Demand-Instances oder Spot-Instances starten, aber nicht beide in derselben Anfrage. Wenn Sie RunInstances Spot-Instances starten, ist Ihre Spot-Instance-Anfrage außerdem auf einen Instance-Typ und eine Availability Zone beschränkt. Dies zielt auf einen Spot-Kapazitätspool ab (eine Reihe von unbenutzten Instances mit gleichem Instance-Typ und gleicher Availability Zone). Wenn der Spot-Kapazitätspool nicht über genügend Spot-Instance-Kapazität für Ihre Anfrage verfügt, schlägt der RunInstances Anruf fehl.

Anstatt Spot-Instances RunInstances zum Starten von Spot-Instances zu verwenden, empfehlen wir Ihnen, die CreateFleet API mit dem `type` Parametersatz auf zu zu verwenden, `instant` um die folgenden Vorteile zu erzielen: 
+ **Launchen von On-Demand-Instances und Spot Instances in einer Anforderung.** Eine EC2-Flotte kann On-Demand-Instances, Spot-Instances oder beides starten. Die Anforderung für Spot-Instances ist erfüllt, wenn ausreichend Kapazität verfügbar ist und der maximale Preis pro Stunde für Ihre Anforderung den Spot-Preis überschreitet.
+ **Erhöhen Sie die Verfügbarkeit von Spot Instances.** Durch die Verwendung einer EC2-Flotte des Typs `instant` können Sie Spot-Instances nach den [Bewährte Methoden für Spot](spot-best-practices.md) mit den daraus resultierenden Vorteilen starten:
  + **Bewährte Methoden für Spot: Flexibel sein bei Instance-Typen und Availability Zones.**

    Vorteil: Durch die Angabe mehrerer Instance-Typen und Availability Zones erhöhen Sie die Anzahl der Spot-Kapazitätspools. Dies gibt dem Spot-Dienst eine bessere Chance, die gewünschte Spot-Rechenkapazität zu finden und zuzuweisen. Eine gute Faustregel besteht darin, für jeden Workload über mindestens 10 Instance-Typen hinweg flexibel zu sein und sicherzustellen, dass alle Availability Zones für die Verwendung in Ihrer VPC konfiguriert sind.
  + **Bewährte Methoden für Spot: Nutzung der price-capacity-optimized Zuweisungsstrategie.**

    Vorteil: Die Zuweisungsstrategie `price-capacity-optimized` identifiziert Instances aus den am meisten verfügbaren Spot-Kapazitätspools und stellt dann automatisch Instances aus dem preisgünstigsten dieser Pools bereit. Da Ihre Spot-Instance-Kapazität aus Pools mit optimaler Kapazität bezogen wird, verringert dies die Möglichkeit, dass Ihre Spot-Instances unterbrochen werden, wenn Amazon EC2 die Kapazität zurück braucht.
+ **Erhalten Sie Zugriff auf eine breitere Palette von Funktionen.** Für Workloads, die eine reine Launch-API benötigen und bei denen Sie lieber den Lebenszyklus Ihrer Instance verwalten möchten, anstatt ihn von EC2 Fleet für Sie verwalten zu lassen, verwenden Sie statt der API den Typ `instant` EC2 Fleet. [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) EC2 Fleet bietet ein breiteres Spektrum an Funktionen als RunInstances, wie in den folgenden Beispielen gezeigt. Für alle anderen Workloads sollten Sie Amazon EC2 Auto Scaling verwenden, da es ein umfassenderes Feature-Umfang für eine Vielzahl von Workloads bietet, wie beispielsweise ELB-unterstützte Anwendungen, containerisierte Workloads und Warteschlangenverarbeitungsaufträge.

Sie können eine EC2-Flotte vom Typ *instant* verwenden, um Instances in Kapazitätsblöcken zu starten. Weitere Informationen finden Sie unter [Tutorial: Ihre EC2-Flotte konfigurieren, um Instances in Kapazitätsblöcken zu starten](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md).

AWS Dienste wie Amazon EC2 Auto Scaling und Amazon EMR verwenden EC2 Fleet vom Typ *Instant, um EC2-Instances* zu starten.

## Voraussetzungen für EC2-Flotte des Typs Instant
<a name="instant-fleet-prerequisites"></a>

Informationen zu den Voraussetzungen für das Erstellen einer EC2-Flotte finden Sie unter [EC2-Flotte-Voraussetzungen](ec2-fleet-prerequisites.md).

## So funktioniert die Instant-EC2-Flotte
<a name="how-instant-fleet-works"></a>

Bei der Arbeit mit einer EC2-Flotte des Typs `instant` lautet die Ereignisabfolge wie folgt:

1. **Konfigurieren: Konfigurieren Sie** den Anfragetyp als. [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)`instant` Weitere Informationen finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md). Beachten Sie, dass Sie den API-Aufruf nicht ändern können, nachdem Sie ihn machen.

1. **Anforderung:** Wenn Sie den API-Aufruf durchführen, erstellt Amazon EC2 eine einmalige, synchrone Anforderung für Ihre gewünschte Kapazität.

1. **Antwort:** Die API-Antwort gibt die gestarteten Instances zurück sowie die Fehler für Instances, die nicht gestartet werden konnten.

1. **Beschreiben:** Sie können Ihre EC2-Flotte beschreiben, die Instances auflisten, die der EC2-Flotte zudeordnet sind, und den Verlauf Ihrer EC2-Flotte anzeigen.

1. **Instances beenden:** Sie können die Instances jederzeit beenden.

1. **Flottenanforderung löschen:** Die Flottenanforderung kann entweder manuell oder automatisch gelöscht werden:
   + Manuell: Sie können [die Flottenanforderung löschen](delete-fleet.md), nachdem Sie die Instances gestartet haben.

     Beachten Sie, dass eine gelöschte `instant`-Flotte mit laufenden Instances nicht unterstützt wird. Wenn Sie eine `instant`-Flotte löschen, beendet Amazon EC2 automatisch alle zugehörigen Instances. Bei -Flotten mit mehr als 1 000 Instances schlägt die Löschanforderung möglicherweise fehl. Wenn Ihre Flotte über mehr als 1 000 Instances verfügt, beenden Sie die meisten Instances zunächst manuell, sodass 1 000 oder weniger übrig bleiben. Löschen Sie dann die Flotte, und die verbleibenden Instances werden automatisch beendet.
   + Automatisch: Amazon EC2 löscht die Flottenanforderung einige Zeit nach einem der folgenden Ereignissen: 
     + Alle Instances werden beendet.
     + Die Flotte kann keine Instances starten.

## Beispiele
<a name="instant-fleet-examples"></a>

In den folgenden Beispielen wird gezeigt, wie Sie eine EC2-Flotte des Typs `instant` für verschiedene Anwendungsfälle nutzen. Weitere Informationen zur Verwendung der CreateFleet EC2-API-Parameter finden Sie [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)in der *Amazon EC2 EC2-API-Referenz*.

**Topics**
+ [

### Beispiel 1: Starten von Spot-Instances mit der kapazitätsoptimierten Zuweisungsstrategie
](#instant-fleet-example-1)
+ [

### Beispiel 2: Starten einer einzelnen Spot-Instance mit der kapazitätsoptimierten Zuweisungsstrategie
](#instant-fleet-example-2)
+ [

### Beispiel 3: Starten einer Spot-Instance mit Instance-Gewichtung
](#instant-fleet-example-3)
+ [

### Beispiel 4: Spot Instances innerhalb einer einzelnen Availability Zone starten
](#instant-fleet-example-4)
+ [

### Beispiel 5: Starten von Spot-Instances eines einzelnen Instance-Typs innerhalb einer Availability Zone
](#instant-fleet-example-5)
+ [

### Beispiel 6: Spot-Instances nur starten, wenn minimale Zielkapazität gestartet werden kann
](#instant-fleet-example-6)
+ [

### Beispiel 7: Starten Sie Spot-Instances nur, wenn die minimale Zielkapazität desselben Instance-Typs in einer einzigen Availability Zone gestartet werden kann
](#instant-fleet-example-7)
+ [

### Beispiel 8: Starten von Instances mit mehreren Startvorlagen
](#instant-fleet-example-8)
+ [

### Beispiel 9: Starten von Spot-Instance mit einer Basis von On-Demand-Instances
](#instant-fleet-example-9)
+ [

### Beispiel 10: Starten von Spot-Instances mit kapazitätsoptimierter Zuweisungsstrategie mit einer Basis von On-Demand-Instances unter Verwendung von Kapazitätsreservierungen und der priorisierten Zuweisungsstrategie
](#instant-fleet-example-10)
+ [

### Beispiel 11: Starten Sie Spot-Instances mithilfe einer capacity-optimized-prioritized Zuweisungsstrategie
](#instant-fleet-example-11)
+ [

### Beispiel 12: Einen Systems-Manager-Parameters anstelle einer AMI-ID angeben
](#instant-fleet-example-12)

### Beispiel 1: Starten von Spot-Instances mit der kapazitätsoptimierten Zuweisungsstrategie
<a name="instant-fleet-example-1"></a>

Das folgende Beispiel gibt die Parameter an, die in einer EC2-Flotte des Typs `instant` benötigt werden: eine Startvorlage, eine Zielkapazität, eine Standard-Kaufoption und Startvorlagenüberschreibungen.
+ Die Startvorlage wird durch ihren Startvorlagennamen und die Versionsnummer identifiziert.
+ In den 12 Startvorlagenüberschreibungen werden 4 verschiedene Instance-Typen und 3 verschiedene Subnetze angegeben, die sich jeweils in einer separaten Availability Zone befinden. Jeder Instance-Typ und jede Subnetzkombination definiert einen Spot-Kapazitätspool, der zu 12 Spot-Kapazitätspools führt.
+ Die Mindest-Zielkapazität für die Flotte ist 20 Instances.
+ Die standardmäßige Kaufoption ist `spot`, wodurch die Flotte versucht, 20 Spot-Instances in dem Spot-Kapazitätspool zu starten, der über die optimale Kapazität für die Anzahl der zu startenden Instances verfügt.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 2: Starten einer einzelnen Spot-Instance mit der kapazitätsoptimierten Zuweisungsstrategie
<a name="instant-fleet-example-2"></a>

Sie können jeweils eine Spot-Instance optimal starten, indem Sie mehrere EC2 Fleet API-Aufrufe des Typs ausführen`instant`, indem Sie den TotalTargetCapacity Wert auf 1 setzen.

Das folgende Beispiel gibt die Parameter an, die in einer EC2-Flotte des Typs Instant benötigt werden: eine Startvorlage, eine Zielkapazität, eine Standard-Kaufoption und Startvorlagenüberschreibungen. Die Startvorlage wird durch ihren Startvorlagennamen und die Versionsnummer identifiziert. Die 12 Startvorlagenüberschreibungen haben 4 verschiedene Instance-Typen und 3 verschiedene Subnetze, die sich jeweils in einer separaten Availability Zone befinden. Die Zielkapazität für die Flotte beträgt 1 Instance und die Standardeinkaufoption ist Spot, was dazu führt, dass die Flotte versucht, eine Spot-Instance aus einem der 12 Spot-Kapazitätspools basierend auf der kapazitätsoptimierten Zuweisungsstrategie zu starten, um eine Spot-Instance aus dem am meisten verfügbaren Kapazitätspool zu starten.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 1,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 3: Starten einer Spot-Instance mit Instance-Gewichtung
<a name="instant-fleet-example-3"></a>

Die folgenden Beispiele verwenden die Instance-Gewichtung, d. h. der Preis versteht sich pro Einheitsstunde anstatt pro Instance-Stunde. Jede Startkonfiguration listet einen anderen Instance-Typ und eine unterschiedliche Gewichtung auf, je nachdem, wie viele Workload-Einheiten auf der Instance ausgeführt werden können, vorausgesetzt, eine Workload-Einheit benötigt 15 GB Arbeitsspeicher und 4 V. CPUs Beispielsweise kann eine m5.xlarge (4 V CPUs und 16 GB Arbeitsspeicher) eine Einheit ausführen und ist mit 1 gewichtet, m5.2xlarge (8 V CPUs und 32 GB Arbeitsspeicher) kann 2 Einheiten ausführen und hat eine Gewichtung von 2 usw. Die gesamte Zielkapazität wird auf 40 Einheiten eingestellt. Die Standardeinkaufoption ist vor Ort, und die Allokationsstrategie ist kapazitätsoptimiert, was entweder 40 m5.xlarge (40 geteilt durch 1), 20 m5.2xlarge (40 geteilt durch 2), 10 m5.4xlarge (40 geteilt durch 4), 5 m5.8xlarge (40 geteilt durch 8) oder eine Mischung der Instance-Typen mit Gewichtungen, die zu den gewünschten Kapazität basierend auf der kapazitätsoptimierten Zuweisungsstrategie.

Weitere Informationen finden Sie unter [Instance-Gewichtung verwenden, um die Kosten und die Leistung Ihrer EC2-Flotte oder Spot-Flotte zu verwalten](ec2-fleet-instance-weighting.md).

```
{
   "SpotOptions":{
      "AllocationStrategy":"capacity-optimized"
   },
   "LaunchTemplateConfigs":[
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":8
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":8
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":8
            }
         ]
      }
   ],
   "TargetCapacitySpecification":{
      "TotalTargetCapacity":40,
      "DefaultTargetCapacityType":"spot"
   },
   "Type":"instant"
}
```

### Beispiel 4: Spot Instances innerhalb einer einzelnen Availability Zone starten
<a name="instant-fleet-example-4"></a>

Sie können eine Flotte so konfigurieren, dass alle Instances in einer einzigen Availability Zone gestartet werden, indem Sie die Spot-Optionen auf true setzen. SingleAvailabilityZone 

Die 12 Startvorlagenüberschreibungen haben unterschiedliche Instance-Typen und Subnetze (jeweils in einer separaten Availability Zone), aber die gleiche gewichtete Kapazität. Die Gesamtzielkapazität beträgt 20 Instances, die voreingestellte Kaufoption ist spot und die Spot-Zuweisungsstrategie ist kapazitätsoptimiert. Die EC2-Flotte startet 20 Spot-Instances in einem einzigen AZ, aus dem Spot-Kapazitätspool (s) mit optimaler Kapazität unter Verwendung der Launch-Spezifikationen.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleAvailabilityZone": true
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 5: Starten von Spot-Instances eines einzelnen Instance-Typs innerhalb einer Availability Zone
<a name="instant-fleet-example-5"></a>

Sie können eine Flotte so konfigurieren, dass alle Instances desselben Instance-Typs und in einer einzigen Availability Zone gestartet werden, indem Sie die SpotOptions SingleInstanceType Option auf true und SingleAvailabilityZone auf true setzen.

Die 12 Startvorlagenüberschreibungen haben unterschiedliche Instance-Typen und Subnetze (jeweils in einer separaten Availability Zone), aber die gleiche gewichtete Kapazität. Die Gesamtzielkapazität beträgt 20 Instances, die voreingestellte Kaufoption ist spot, die Spot-Zuweisungsstrategie ist kapazitätsoptimiert. Die EC2-Flotte startet 20 Spot-Instances desselben Instance-Typs in einem einzigen AZ aus dem Spot-Instance-Pool mit optimaler Kapazität unter Verwendung der Startspezifikationen.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 6: Spot-Instances nur starten, wenn minimale Zielkapazität gestartet werden kann
<a name="instant-fleet-example-6"></a>

Sie können eine Flotte so konfigurieren, dass Instances nur gestartet werden, wenn die Mindestzielkapazität gestartet werden kann, indem Sie die Spot-Optionen MinTargetCapacity auf die Mindestzielkapazität setzen, die Sie zusammen starten möchten.

Bei der Angabe MinTargetCapacity müssen Sie mindestens einen der folgenden Parameter angeben: SingleInstanceType oder SingleAvailabilityZone. In diesem Beispiel SingleInstanceType ist angegeben, sodass alle 20 Instanzen denselben Instanztyp verwenden müssen.

Die 12 Startvorlagenüberschreibungen haben unterschiedliche Instance-Typen und Subnetze (jeweils in einer separaten Availability Zone), aber die gleiche gewichtete Kapazität. Die Gesamtzielkapazität und die minimale Zielkapazität sind beide auf 20 Instances festgelegt, die Standard-Kaufoption ist Spot, die Spot-Zuweisungsstrategie ist kapazitätsoptimiert. Die EC2-Flotte startet 20 Spot-Instances aus dem Spot-Kapazitätspool mit optimaler Kapazität unter Verwendung der Startvorlagenüberschreibungen nur, wenn alle 20 Instances gleichzeitig gestartet werden können.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "MinTargetCapacity": 20
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 7: Starten Sie Spot-Instances nur, wenn die minimale Zielkapazität desselben Instance-Typs in einer einzigen Availability Zone gestartet werden kann
<a name="instant-fleet-example-7"></a>

Sie können eine Flotte so konfigurieren, dass Instances nur gestartet werden, wenn die Mindestzielkapazität mit einem einzigen Instance-Typ in einer einzigen Availability Zone gestartet werden kann, indem Sie die Spot-Optionen MinTargetCapacity auf die Mindestzielkapazität setzen, die Sie zusammen mit den SingleAvailabilityZone Optionen SingleInstanceType und starten möchten.

Die 12 Startspezifikationen, die die Startvorlage überschreiben, haben unterschiedliche Instance-Typen und Subnetze (jede in einer separaten Availability Zone), aber die gleiche gewichtete Kapazität. Die Gesamtzielkapazität und die minimale Zielkapazität sind beide auf 20 Instances festgelegt, die Standardkaufoption ist Spot, die Spot-Zuweisungsstrategie ist kapazitätsoptimiert, das SingleInstanceType ist wahr und SingleAvailabilityZone ist wahr. Die EC2-Flotte startet 20 Spot-Instances desselben Instance-Typs in einem einzigen AZ aus dem Spot-Kapazitätspool mit optimaler Kapazität unter Verwendung der Startspezifikationen nur, wenn alle 20 Instances gleichzeitig gestartet werden können.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 20
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 8: Starten von Instances mit mehreren Startvorlagen
<a name="instant-fleet-example-8"></a>

Sie können eine Flotte so konfigurieren, dass Instances mit unterschiedlichen Startspezifikationen für verschiedene Instance-Typen oder eine Gruppe von Instance-Typen gestartet werden, indem Sie mehrere Startvorlagen angeben. In diesem Beispiel wollen wir verschiedene EBS-Volume-Größen für verschiedene Instance-Typen haben und wir haben das in den Launch-Vorlagen ec2-fleet-lt-4xl, ec2-fleet-lt-9xl und ec2-fleet-lt-18xl konfiguriert.

In diesem Beispiel verwenden wir 3 verschiedene Startvorlagen für die 3 Instance-Typen, die auf ihrer Größe basieren. Die Startspezifikations-Überschreibungen für alle Startvorlagen verwenden Instance-Gewichtungen basierend auf den vCPUs des Instance-Typs. Die Gesamtzielkapazität beträgt 144 Einheiten, die voreingestellte Kaufoption ist Spot und die Spot-Zuweisungsstrategie ist kapazitätsoptimiert. Die EC2-Flotte kann entweder 9 c5n.4xlarge (144 geteilt durch 16) mit der Startvorlage ec2-fleet-4xl oder 4 c5n.9xlarge (144 geteilt durch 36) mit der Startvorlage ec2-fleet-9xl oder 2 c5n.18xlarge (144 geteilt durch 72) mit der Startvorlage ec2-fleet-18xl oder eine Mischung der Instance-Typen mit Gewichtungen bis zur gewünschten Kapazität basierend auf der kapazitätsoptimierten Allokationsstrategie starten.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-18xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":72
            },
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":72
            },
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":72
            }
         ]
      },
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-9xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":36
            },
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":36
            },
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":36
            }
         ]
      },
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-4xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":16
            },
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":16
            },
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":16
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 144,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 9: Starten von Spot-Instance mit einer Basis von On-Demand-Instances
<a name="instant-fleet-example-9"></a>

Das folgende Beispiel gibt die Gesamtzielkapazität von 20 Instances für die Flotte und eine Zielkapazität von 5 On-Demand-Instances an. Die Standard-Kaufoption ist Spot. Die Flotte startet 5 On-Demand-Instances wie angegeben, muss aber noch 15 weitere Instance starten, um die gesamte Zielkapazität zu erreichen. Die Kaufoption für die Differenz wird wie TotalTargetCapacity — OnDemandTargetCapacity = berechnet DefaultTargetCapacityType, was dazu führt, dass die Flotte 15 Spot-Instances startet, die einen der 12 Spot-Kapazitätspools bilden, die auf der kapazitätsoptimierten Zuweisungsstrategie basieren.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity": 5,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 10: Starten von Spot-Instances mit kapazitätsoptimierter Zuweisungsstrategie mit einer Basis von On-Demand-Instances unter Verwendung von Kapazitätsreservierungen und der priorisierten Zuweisungsstrategie
<a name="instant-fleet-example-10"></a>

Sie können eine Flotte so konfigurieren, dass sie zuerst On-Demand-Kapazitätsreservierungen verwendet, wenn Sie eine Basis von On-Demand-Instances mit dem standardmäßigen Zielkapazitätstyp Spot starten, indem Sie die Nutzungsstrategie für Kapazitätsreservierungen auf festlegen. use-capacity-reservations-first Und wenn mehrere Instance-Pools nicht verwendete Kapazitätsreservierungen haben, wird die gewählte On-Demand-Zuordnungsstrategie angewendet. In diesem Beispiel ist die On-Demand-Zuordnungsstrategie prioritisiert.

In diesem Beispiel sind 6 nicht verwendete Kapazitätsreservierungen verfügbar. Dies ist geringer als die On-Demand-Zielkapazität der Flotte von 10 On-Demand-Instances.

Das Konto hat die folgenden 6 nicht verwendeten Kapazitätsreservierungen in 2 Pools. Die Anzahl der Kapazitätsreservierungen in jedem Pool wird durch AvailableInstanceCount angezeigt.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
 
{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "c5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

Die folgende Flottenkonfiguration zeigt nur die relevanten Konfigurationen für dieses Beispiel. Die On-Demand-Zuweisungsstrategie hat Priorität, und die Nutzungsstrategie für Kapazitätsreservierungen hat Priorität use-capacity-reservations-first. Die Spot-Zuweisungsstrategie ist kapazitätsoptimiert. Die Gesamtzielkapazität beträgt 20, die On-Demand-Zielkapazität beträgt 10 und der voreingestellte Zielkapazitätstyp ist Spot.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "OnDemandOptions":{
       "CapacityReservationOptions": {
         "UsageStrategy": "use-capacity-reservations-first"
       },
       "AllocationStrategy":"prioritized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 3.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 4.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 5.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 6.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 7.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 8.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 9.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 10.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 11.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 12.0
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity": 10,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

Nachdem Sie die Instant-Flotte mit der vorherigen Konfiguration erstellt haben, werden die folgenden 20 Instances gestartet, um die Zielkapazität zu erreichen:
+ 7 c5.large On-Demand-Instances in us-east-1a – c5.large in us-east-1a wird zuerst priorisiert und es gibt drei verfügbare, nicht verwendete c5.large-Kapazitätsreservierungen. Die Kapazitätsreservierungen werden zuerst verwendet, um 3 On-Demand-Instances zu starten; dazu werden vier zusätzliche On-Demand-Instances gemäß der On-Demand-Zuordnungsstrategie gestartet, die in diesem Beispiel priorisiert sind.
+ 3 On-Demand-Instances vom Typ m5.large in us-east-1a — m5.large in us-east-1a wird an zweiter Stelle priorisiert, und es sind 3 ungenutzte m5.large-Kapazitätsreservierungen verfügbar.
+ 10 Spot-Instances aus einem der 12 Spot-Kapazitätspools mit der optimalen Kapazität gemäß der kapazitätsoptimierten Zuweisungsstrategie.

Nach dem Start der Flotte können Sie nachsehen, wie viele ungenutzte Kapazitätsreservierungen noch übrig sind. [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) In diesem Beispiel sollten Sie die folgende Antwort sehen, die zeigt, dass alle c5.large- und m5.large-Kapazitätsreservierungen verwendet wurden.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}
 
{
    "CapacityReservationId": "cr-222",
    "InstanceType": "c5.large", 
    "AvailableInstanceCount": 0
}
```

### Beispiel 11: Starten Sie Spot-Instances mithilfe einer capacity-optimized-prioritized Zuweisungsstrategie
<a name="instant-fleet-example-11"></a>

Das folgende Beispiel gibt die Parameter an, die in einer EC2-Flotte des Typs Instant benötigt werden: eine Startvorlage, eine Zielkapazität, eine Standard-Kaufoption und Startvorlagenüberschreibungen. Die Startvorlage wird durch ihren Startvorlagennamen und die Versionsnummer identifiziert. Die 12 Startspezifikationen, die die Startvorlage außer Kraft setzen, haben 4 verschiedene Instance-Typen mit einer zugeordneten Priorität und 3 verschiedene Subnetze je in einer separaten Availability Zone. Die Zielkapazität für die Flotte beträgt 20 Instances, und die Standardkaufoption ist Spot. Dies führt dazu, dass die Flotte versucht, 20 Spot-Instances aus einem der 12 Spot-Kapazitätspools auf der Grundlage der capacity-optimized-prioritized Zuweisungsstrategie zu starten, bei der Prioritäten nach bestem Wissen implementiert werden, aber zuerst die Kapazität optimiert wird.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized-prioritized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 2.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 4.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 4.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 4.0
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Beispiel 12: Einen Systems-Manager-Parameters anstelle einer AMI-ID angeben
<a name="instant-fleet-example-12"></a>

Im folgenden Beispiel wird eine Startvorlage verwendet, um die Konfiguration für die Instances in der Flotte anzugeben. In diesem Beispiel wird für `ImageId` anstelle der Angabe einer AMI-ID mit einem Systemmanager-Parameter auf das AMI verwiesen. Beim Start der Instance wird der Systems-Manager-Parameter in eine AMI-ID aufgelöst.

In diesem Beispiel wird der Systems-Manager-Parameter in einem gültigen Format angegeben: `resolve:ssm:golden-ami`. Es gibt andere gültige Formate für den Systems-Manager-Parameter. Weitere Informationen finden Sie unter [Verwenden eines Systems-Manager-Parameters anstelle einer AMI-ID](create-launch-template.md#use-an-ssm-parameter-instead-of-an-ami-id).

**Anmerkung**  
Der Flottentyp muss vom Typ `instant` sein. Bei anderen Flotten-Typen wird die Angabe eines Systems-Manager-Parameters anstelle einer AMI-ID nicht unterstützt.

```
{
    "LaunchTemplateData": {
        "ImageId": "resolve:ssm:golden-ami",
        "InstanceType": "m5.4xlarge",
        "TagSpecifications": [{
            "ResourceType": "instance",
            "Tags": [{
                "Key": "Name",
                "Value": "webserver"
            }]
        }]
    }
}
```

# Ausgabenlimit für Ihre EC2-Flotte oder Spot-Flotte festlegen
<a name="ec2-fleet-control-spending"></a>

Sie können ein Limit festlegen, wie viel Sie bereit sind, pro Stunde für Ihre EC2-Flotte oder Spot-Flotte auszugeben. Wenn Ihr Ausgabenlimit erreicht ist, startet die Flotte keine Instances mehr, auch wenn die Zielkapazität noch nicht erreicht ist.

Es gibt separate Ausgabenlimits für On-Demand-Instances und Spot Instances.

**Ein Ausgabenlimit für On-Demand-Instances und Spot Instances in Ihrer EC2-Flotte konfigurieren**  
Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) und die folgenden Parameter:
+ Für On-Demand-Instances: Geben Sie in der `OnDemandOptions`-Struktur Ihr Ausgabenlimit in das `MaxTotalPrice`-Feld ein.
+ Für Spot Instances: Geben Sie in der `SpotOptions`-Struktur Ihr Ausgabenlimit im `MaxTotalPrice`-Feld an.

**Ein Ausgabenlimit für On-Demand-Instances und Spot Instances in Ihrer Spot-Flotte konfigurieren**  
Sie können die Amazon EC2 EC2-Konsole oder die verwenden AWS CLI , um Ihr Ausgabenlimit zu konfigurieren.

(Konsole) Aktivieren Sie bei der Erstellung der Spot-Flotte das Kontrollkästchen **Höchstkosten für Spot Instances festlegen** und geben Sie dann einen Wert für **Maximale Kosten festlegen (pro Stunde)** ein. Weitere Informationen finden Sie in Schritt 6.e unter [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Verwenden Sie den [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)Befehl und die folgenden Parameter:
+ Für On-Demand-Instances: Geben Sie im Feld `OnDemandMaxTotalPrice` Ihr Ausgabenlimit an.
+ Für Spot Instances: Geben Sie Ihr Ausgabenlimit in das `SpotMaxTotalPrice`-Feld ein.

## Beispiele
<a name="ec2-fleet-spending-limit-examples"></a>

Im folgenden Beispiel werden zwei verschiedene Szenarien gezeigt. Im ersten Beispiel beendet die Flotte den Start von On-Demand-Instances, wenn sie die für On-Demand-Instances festgelegte Zielkapazität (`OnDemandTargetCapacity`) erreicht hat. Im zweiten Beispiel stoppt die Flotte das Starten von On-Demand-Instances, wenn die maximale Summe erreicht ist, die Sie bereit sind für On-Demand-Instances zu zahlen (`MaxTotalPrice`).

**Beispiel: Kein Starten mehr von On-Demand-Instances, wenn die Zielkapazität erreicht ist**

Bei einer Anforderung für `m4.large` On-Demand-Instances mit:
+ On-Demand-Preis: 0,10 USD pro Stunde
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 1,50 USD

Die Flotte startet 10 On-Demand-Instances, da der Gesamtpreis von 1,00 USD (10 Instances x 0,10 USD) den `MaxTotalPrice` von 1,50 USD für On-Demand-Instances nicht überschreitet.

**Beispiel: Kein Starten mehr von Instances, wenn der Höchstpreis erreicht ist**

Bei einer Anforderung für `m4.large` On-Demand-Instances mit:
+ On-Demand-Preis: 0,10 USD pro Stunde
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 0,80 USD

Wenn die Flotte die On-Demand-Zielkapazität (10 On-Demand-Instances) startet, betragen die Gesamtkosten pro Stunde 1,00 USD. Dies überschreitet die Summe (0,80 USD), die als `MaxTotalPrice` für On-Demand-Instances festgelegt ist. Damit Sie nicht mehr ausgeben, als Sie möchten, startet die Flotte nur 8 On-Demand-Instances (weniger als die On-Demand-Zielkapazität), da sonst der `MaxTotalPrice` für On-Demand-Instances überschritten werden würde.

## Instances mit Spitzenlastleistung
<a name="ec2-fleet-burstable-spot-instances"></a>

Wenn Sie Ihre Spot-Instances mit einem [Typ von Burstable Performance Instance](burstable-performance-instances.md) starten, und wenn Sie planen, Ihre Spot-Instances mit Spitzenlastleistung sofort und für eine kurze Dauer zu verwenden, ohne Leerlaufzeit für die Anrechnung von CPU-Guthaben, empfiehlt sich, diese im [Standard mode (Standardmodus)](burstable-performance-instances-standard-mode.md) zu starten, um höhere Kosten zu vermeiden. Wenn Sie die Spot Instances mit Spitzenlastleistung im [Unlimited mode (Unbegrenzten Modus)](burstable-performance-instances-unlimited-mode.md) starten und die Spitzenlastleistung der CPU sofort nutzen, geben Sie überschüssiges Guthaben für Spitzen aus. Wenn Sie die Instance für eine kurze Zeit nutzen, hat die Instance keine Zeit, CPU-Guthaben zu sammeln, um das überschüssige Guthaben zu bezahlen. Das überschüssige Guthaben wir beim Beenden der Instance abgerechnet.

Der unbegrenzte Modus für Spot Instances mit Spitzenlastleistung ist nur dann geeignet, wenn die Instance lange genug läuft, um CPU-Guthaben für Spitzen zu erhalten. Andernfalls macht das Bezahlen für überzähliges Guthaben die Spot Instances mit Spitzenlastleistung teurer als die Verwendung anderer Instances. Weitere Informationen finden Sie unter [Verwendung des unbegrenzten Modus im Vergleich zu einer festen CPU](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode).

Startguthaben sollen eine produktive erste Starterfahrung für T2-Instances bieten, indem sie ausreichende Rechenressourcen zur Verfügung gestellt werden, um die Instance zu konfigurieren. Wiederholte Starts von T2-Instances, um neue Startguthaben zu erhalten, sind nicht zulässig. Wenn Sie dauerhaft eine CPU benötigen, können Sie Guthaben verdienen (durch Leerlauf über einen gewissen Zeitraum), [Unbegrenzten Modus](burstable-performance-instances-unlimited-mode.md) für T2 Spot Instances verwenden oder einen Instance-Typ mit dedizierter CPU verwenden.

# Geben Sie Attribute für die Auswahl von Instance-Typen für EC2-Flotte oder Spot-Flotte an
<a name="ec2-fleet-attribute-based-instance-type-selection"></a>

Wenn Sie eine EC2-Flotte oder Spot-Flotte erstellen, müssen Sie mindestens einen Instance-Typ für die Konfiguration der On-Demand-Instances und Spot Instances in der Flotte angeben. Alternativ zur manuellen Angabe der Instance-Typen können Sie die Attribute angeben, die eine Instance haben muss, und Amazon EC2 identifiziert alle Instance-Typen mit diesen Attributen. Dies ist bekannt als *attributbasierte Instance-Typauswahl*. Sie können beispielsweise die minimale und maximale Anzahl von v angeben, die für Ihre Instances CPUs erforderlich ist, und die Flotte startet die Instances mit allen verfügbaren Instance-Typen, die diese vCPU-Anforderungen erfüllen. 

Die attributbasierte Auswahl von Instance-Typen ist ideal für Workloads und Frameworks, die hinsichtlich der verwendeten Instance-Typen flexibel sein können, etwa beim Ausführen von Containern oder Web-Flotten, beim Verarbeiten von Big Data und der Implementierung von Tools zur fortlaufenden Integration und Bereitstellung (CI/CD).

**Vorteile**

Die Auswahl des attributbasierten Instance-Typs bietet folgende Vorteile:
+ **Einfacher Einsatz der richtigen Instance-Typen** – Da so viele Instance-Typen verfügbar sind, kann es zeitaufwendig sein, die richtigen Instance-Typen für Ihre Workload zu finden. Wenn Sie Instance-Attribute angeben, haben die Instance-Typen automatisch die erforderlichen Attribute für Ihre Workload.
+ **Vereinfachte Konfiguration** – Um mehrere Instance-Typen für eine Flotte manuell anzugeben, müssen Sie für jeden Instance-Typ eine separate Überschreibung der Startvorlagen erstellen. Bei der attributbasierten Auswahl von Instance-Typen müssen Sie jedoch nur die Instance-Attribute in der Startvorlage oder in einer Startvorlagen-Überschreibung angeben, um mehrere Instance-Typen bereitzustellen.
+ **Automatische Verwendung neuer Instance-Typen** – Wenn Sie Instance-Attribute anstelle von Instance-Typen angeben, kann Ihre Flotte bei der Freigabe Instance-Typen einer neueren Generation verwenden, um die Zukunftsfähigkeit der Flottenkonfiguration zu gewährleisten. 
+ **Flexible Instance-Typen** – Wenn Sie Instance-Attribute anstelle von Instance-Typen angeben, kann die Spot-Flotte aus einer Vielzahl von Instance-Typen zum Starten von Spot Instances auswählen, was der [bewährten Spot-Methode der Flexibilität von Instance-Typen](spot-best-practices.md#be-instance-type-flexible) entspricht.

**Topics**
+ [

## Attributbasierte Auswahl von Instance-Typen
](#ec2fleet-abs-how-it-works)
+ [

## Preisschutz
](#ec2fleet-abs-price-protection)
+ [

## Leistungsschutz
](#ec2fleet-abis-performance-protection)
+ [

## Überlegungen
](#ec2fleet-abs-considerations)
+ [

## Erstellen einer EC2-Flotte mit attributbasierter Auswahl von Instance-Typen
](#abs-create-ec2-fleet)
+ [

## Erstellen einer Spot-Flotte mit attributbasierter Auswahl von Instance-Typen
](#abs-create-spot-fleet)
+ [

## Beispiele für EC2-Flotte-Konfigurationen, die gültig und ungültig sind
](#ec2fleet-abs-example-configs)
+ [

## Beispiele für Spot-Flotte-Konfigurationen, die gültig und ungültig sind
](#spotfleet-abs-example-configs)
+ [

## Vorschau von Instance-Typen mit bestimmten Attributen
](#ec2fleet-get-instance-types-from-instance-requirements)

## Attributbasierte Auswahl von Instance-Typen
<a name="ec2fleet-abs-how-it-works"></a>

Um die attributbasierte Auswahl von Instance-Typen in Ihrer Flottenkonfiguration zu verwenden, ersetzen Sie die Liste der Instance-Typen durch eine Liste von Instance-Attributen, die Ihre Instances erfordern. Die EC2-Flotte oder Spot-Flotte startet Instances für alle verfügbaren Instance-Typen mit den angegebenen Instance-Attributen.

**Topics**
+ [

### Arten von Instance-Attributen
](#ef-abs-instance-attribute-types)
+ [

### Wo wird die attributbasierte Auswahl von Instance-Typen konfiguriert?
](#ef-abs-where-to-configure)
+ [

### Wie die EC2-Flotte oder Spot-Flotte bei der Bereitstellung einer Flotte die attributbasierte Auswahl von Instance-Typen verwendet
](#how-ef-uses-abs)

### Arten von Instance-Attributen
<a name="ef-abs-instance-attribute-types"></a>

Es gibt mehrere Instance-Attribute, die Sie angeben können, um Ihre Datenverarbeitungsanforderungen auszudrücken, wie:
+ **vCPU-Anzahl** — Die minimale und maximale Anzahl von v CPUs pro Instanz.
+ **Arbeitsspeicher** — Das Minimum und das Maximum GiBs an Arbeitsspeicher pro Instanz.
+ **Lokaler Speicher** – Ob EBS- oder Instance-Speicher-Volumes für den lokalen Speicher verwendet werden sollen.
+ **Burstable Performance** – Gibt an, ob die T-Instance-Familie verwendet werden soll, einschließlich der Typen T4g, T3a, T3 und T2.

Eine Beschreibung der einzelnen Attribute und der Standardwerte finden Sie [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)in der *Amazon EC2 API-Referenz.*

### Wo wird die attributbasierte Auswahl von Instance-Typen konfiguriert?
<a name="ef-abs-where-to-configure"></a>

Je nachdem, ob Sie die Konsole oder die verwenden AWS CLI, können Sie die Instance-Attribute für die attributbasierte Auswahl des Instance-Typs wie folgt angeben:

In der Konsole können Sie die Instance-Attribute in einer oder beiden der folgenden Flottenkonfigurationskomponenten angeben:
+ In einer Startvorlage. Verweisen Sie dann in der Flottenanforderung auf die Startvorlage
+ (Nur Spot-Flotte) In der Flottenanfrage

In der AWS CLI können Sie die Instance-Attribute in einer oder allen der folgenden Flottenkonfigurationskomponenten angeben:
+ In einer Startvorlage. Verweisen Sie dann in der Flottenanforderung auf die Startvorlage
+ In einer Startvorlagen-Überschreibung

  Wenn Sie eine Mischung aus Instances wünschen, die unterschiedliche Instances verwenden AMIs, können Sie Instance-Attribute in mehreren Überschreibungen für Startvorlagen angeben. Zum Beispiel können verschiedene Instance-Typen x86- und ARM-basierte Prozessoren verwenden.
+ (Nur Spot-Flotte) In einer Startspezifikation

### Wie die EC2-Flotte oder Spot-Flotte bei der Bereitstellung einer Flotte die attributbasierte Auswahl von Instance-Typen verwendet
<a name="how-ef-uses-abs"></a>

Die EC2-Flotte oder Spot-Flotte stellt eine Flotte auf folgende Weise bereit:
+ Sie identifiziert die Instance-Typen mit den angegebenen Attributen.
+ Sie bestimmt anhand des Preisschutzes, welche Instance-Typen ausgeschlossen werden sollen.
+ Es bestimmt anhand der AWS Regionen oder Availability Zones, die über die entsprechenden Instance-Typen verfügen, die Kapazitätspools, aus denen der Start der Instances in Betracht gezogen wird.
+ Sie wendet die angegebene Zuweisungsstrategie an, um zu bestimmen, aus welchen Kapazitätspools die Instances gestartet werden sollen.

  Beachten Sie, dass die attributbasierte Auswahl von Instance-Typen nicht die Kapazitätspools auswählt, aus denen die Flotte bereitgestellt werden soll. Dies ist die Aufgabe der [Zuweisungsstrategien](ec2-fleet-allocation-strategy.md).

  Wenn Sie eine Zuweisungsstrategie angeben, startet die Flotte Instances gemäß der angegebenen Zuweisungsstrategie.
  + Bei Spot Instances unterstützt die attributbasierte Auswahl von Instance-Typen die **Preis-Kapazitätsoptimierte**, **kapazitätsoptimierte** und **niedrigstpreisige** Zuweisungsstrategien. Beachten Sie, dass wir nicht die Spot-Allokationsstrategie mit dem **niedrigsten Preis** empfehlen, da sie das höchste Unterbrechungsrisiko für Ihre Spot Instances birgt.
  + Für On-Demand-Instances unterstützt die attributbasierte Auswahl von Instance-Typen die **niedrigstpreisige** Zuweisungsstrategie.
+ Wenn es keine Kapazität für die Instance-Typen mit den angegebenen Instance-Attributen gibt, können keine Instances gestartet werden und die Flotte gibt einen Fehler zurück.

## Preisschutz
<a name="ec2fleet-abs-price-protection"></a>

Der Preisschutz ist ein Feature, das verhindert, dass IhreEC2-Flotte oder Spot-Flotte Instance-Typen verwendet, die Sie für zu teuer halten würden, selbst wenn sie den von Ihnen angegebenen Attributen entsprechen. Um den Preisschutz zu nutzen, legen Sie einen Preisgrenzwert fest. Wenn Amazon EC2 Instance-Typen mit Ihren Attributen auswählt, werden Instance-Typen ausgeschlossen, die über Ihrem Schwellenwert liegen.

Amazon EC2 berechnet den Preisschwellenwert wie folgt:
+ Amazon EC2 identifiziert zunächst den Instance-Typ mit dem niedrigsten Preis aus den Instance-Typen, die Ihren Attributen entsprechen.
+ Amazon EC2 nimmt dann den Wert (ausgedrückt als Prozentsatz), den Sie für den Preisschutzparameter angegeben haben, und multipliziert ihn mit dem Preis des identifizierten Instance-Typs. Das Ergebnis ist der Preis, der als Preisschwellenwert verwendet wird.

Es gibt separate Preisschwellenwert für On-Demand-Instances und Spot Instances.

Wenn Sie eine Flotte mit attributbasierter Auswahl von Instance-Typen erstellen, ist der Preisschutz standardmäßig aktiviert. Sie können die Standardwerte beibehalten oder Ihre eigenen angeben.

Sie können den Preisschutz auch deaktivieren. Um anzugeben, dass es keinen Preisschutzschwellenwert gibt, geben Sie einen hohen Prozentsatz an, z. B. `999999`.

**Topics**
+ [

### Wie der Instance-Typ mit dem niedrigsten Preis identifiziert wird
](#ec2fleet-abs-price-protection-lowest-priced)
+ [

### On-Demand-Instance-Preisschutz
](#ec2fleet-abs-on-demand-price-protection)
+ [

### Spot-Instance-Preisschutz
](#ec2fleet-abs-spot-price-protection)
+ [

### Schwellenwert für Preisschutz angeben
](#ec2fleet-abs-specify-price-protection)

### Wie der Instance-Typ mit dem niedrigsten Preis identifiziert wird
<a name="ec2fleet-abs-price-protection-lowest-priced"></a>

Amazon EC2 bestimmt den Preis, auf dem der Preisschwellenwert basieren soll, indem es den Instance-Typ mit dem niedrigsten Preis aus den Instance-Typen identifiziert, die Ihren angegebenen Attributen entsprechen. Das macht es auf folgende Weise:
+ Zunächst werden die Instance-Typen C, M oder R der aktuellen Generation betrachtet, die Ihren Attributen entsprechen. Wenn es Übereinstimmungen findet, wird der Instance-Typ mit dem niedrigsten Preis identifiziert.
+ Wenn es keine Übereinstimmung gibt, sucht es nach allen Instance-Typen der aktuellen Generation, die Ihren Attributen entsprechen. Wenn es Übereinstimmungen findet, wird der Instance-Typ mit dem niedrigsten Preis identifiziert.
+ Wenn es keine Übereinstimmung gibt, sucht es nach allen Instance-Typen der vorherigen Generation, die Ihren Attributen entsprechen, und identifiziert den Instance-Typ mit dem niedrigsten Preis.

### On-Demand-Instance-Preisschutz
<a name="ec2fleet-abs-on-demand-price-protection"></a>

Der Schwellenwert für den Preisschutz für On-Demand-Instance-Typen wird *als Prozentsatz berechnet, der über* dem identifizierten On-Demand-Instance-Typ mit dem niedrigsten Preis liegt (`OnDemandMaxPricePercentageOverLowestPrice`). Sie geben den höheren Prozentsatz an, den Sie zu zahlen bereit sind. Wenn Sie diesen Parameter nicht angeben, wird ein Standardwert von `20` verwendet, um einen Preisschutzschwellenwert zu berechnen, der 20 % über dem identifizierten Preis liegt.

Wenn der identifizierte On-Demand-Instance-Preis beispielsweise `0.4271` ist, und Sie `25` angeben, liegt der Preisschwellenwert 25 % über `0.4271`. Die Berechnung ist wie folgt: `0.4271 * 1.25 = 0.533875`. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für On-Demand-Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle On-Demand-Instance-Typen aus, die mehr als `0.533875` kosten.

### Spot-Instance-Preisschutz
<a name="ec2fleet-abs-spot-price-protection"></a>

Standardmäßig wendet Amazon EC2 automatisch einen optimalen Spot-Instance-Preisschutz an, sodass konsistent aus einer breiten Palette von Instance-Typen ausgewählt werden kann. Sie können den Preisschutz auch manuell selbst festlegen. Wenn Sie dies jedoch Amazon EC2 für Sie erledigen lassen, können Sie die Wahrscheinlichkeit erhöhen, dass Ihre Spot-Kapazität erfüllt ist.

Sie können den Preisschutz mit einer der folgenden Optionen manuell angeben. Wenn Sie den Preisschutz manuell festlegen, empfehlen wir, die erste Option zu verwenden.
+ **Ein *Prozentsatz des* identifizierten *On-Demand-Instance-Typs* mit dem niedrigsten Preis** [`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`]

  Wenn der angegebene Preis für den On-Demand-Instance-Typ beispielsweise `0.4271` ist und Sie `60` angeben, liegt der Preisgrenzwert bei 60 % von `0.4271`. Die Berechnung ist wie folgt: `0.4271 * 0.60 = 0.25626`. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für Spot Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle Spot-Instance-Typen aus, die mehr als `0.25626` kosten.
+ **Ein *Prozentsatz, der höher ist als* der identifizierte *Spot-Instance-Typ* mit dem niedrigsten Preis** [`SpotMaxPricePercentageOverLowestPrice`]

  Wenn der Preis für den identifizierten Spot-Instance-Typ beispielsweise `0.1808` ist und Sie `25` angeben, liegt der Preisschwellenwert 25 % über `0.1808`. Die Berechnung ist wie folgt: `0.1808 * 1.25 = 0.226`. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für Spot Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle Spot-Instance-Typen aus, die mehr als `0.266` kosten. Wir empfehlen die Verwendung dieses Parameters nicht, da die Spot-Preise schwanken können und daher auch Ihr Preisschutzschwellenwert schwanken kann.

### Schwellenwert für Preisschutz angeben
<a name="ec2fleet-abs-specify-price-protection"></a>

**Um den Schwellenwert für den Preisschutz anzugeben, verwenden Sie den AWS CLI**

Konfigurieren Sie beim Erstellen einer EC2-Flotte oder Spot-Flotte mithilfe von die AWS CLI Flotte für die attributbasierte Auswahl des Instance-Typs und gehen Sie dann wie folgt vor:
+ Zum Angeben des Schwellenwerts zum Preisschutz für On-Demand-Instances geben Sie in der JSON-Konfigurationsdatei in der `InstanceRequirements`-Struktur für `OnDemandMaxPricePercentageOverLowestPrice` den Preisschutzschwellenwert als Prozentsatz ein.
+ Zum Angeben des Schwellenwerts zum Preisschutz für Spot-Instances geben Sie in der JSON-Konfigurationsdatei in der `InstanceRequirements`-Struktur *einen* der folgenden Parameter an:
  + Geben Sie bei `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` den Preisschutzschwellenwert als Prozentsatz ein.
  + Geben Sie bei `SpotMaxPricePercentageOverLowestPrice` den Preisschutzschwellenwert als Prozentsatz ein.

Für weitere Informationen siehe [Erstellen einer EC2-Flotte mit attributbasierter Auswahl von Instance-Typen](#abs-create-ec2-fleet) oder [Erstellen einer Spot-Flotte mit attributbasierter Auswahl von Instance-Typen](#abs-create-spot-fleet).

**(Nur Spot-Flotte) Schwellenwert für Preisschutz mit der Konsole angeben**

Konfigurieren Sie beim Erstellen der Spot-Flotte in der Konsole die Flotte für eine attributbasierte Auswahl des Instance-Typs und gehen Sie dann folgendermaßen vor:
+ Zur Eingabe des Schwellenwerts für On-Demand-Instance-Preisschutz wählen Sie unter **Zusätzliches Instance-Attribut** die Option **On-Demand-Preisschutz** aus. Wählen Sie dann **Attribut hinzufügen** aus.
+ Um den Schwellenwert für die Preisgarantie einer Spot Instance festzulegen, wählen Sie **Zusätzliches Instance-Attribut**, wählen Sie **Spot-Preisschutz**, wählen Sie **Attribut hinzufügen**, wählen Sie einen Basiswert, auf dem Ihr Preis basieren soll, und geben Sie dann den Schwellenwert für die Preisgarantie als Prozentsatz ein.

**Anmerkung**  
Wenn Sie beim Erstellen der Flotte `TargetCapacityUnitType` auf `vcpu` oder `memory-mib` festlegen, wird der Schwellenwert für den Preisschutz anhand des Preises pro vCPU oder pro Arbeitsspeicher anstelle des Preises pro Instance angewendet.

## Leistungsschutz
<a name="ec2fleet-abis-performance-protection"></a>

Der *Leistungsschutz* ist eine Funktion, die sicherstellt, dass Ihre EC2-Flotte oder Spot-Flotte Instance-Typen verwendet, die einer bestimmten Leistungsbasislinie ähnlich sind oder diese übertreffen. Um den Leistungsschutz zu nutzen, geben Sie eine Instance-Familie als Basisreferenz an. Die Funktionen der angegebenen Instance-Familie stellen das niedrigste akzeptable Leistungsniveau dar. Bei der Auswahl von Instance-Typen für Ihre Flotte berücksichtigt Amazon EC2 Ihre angegebenen Attribute und die Leistungsbasis. Instance-Typen, die unter die Leistungsbasis fallen, werden automatisch von der Auswahl ausgeschlossen, auch wenn sie Ihren anderen angegebenen Attributen entsprechen. Dadurch wird sichergestellt, dass alle ausgewählten Instance-Typen eine ähnliche oder bessere Leistung als die von der angegebenen Instance-Familie festgelegte Leistungsbasis bieten. Amazon EC2 verwendet diese Baseline als Leitfaden für die Auswahl des Instance-Typs, es gibt jedoch keine Garantie dafür, dass die ausgewählten Instance-Typen immer die Basis für jede Anwendung überschreiten.

Derzeit unterstützt dieses Feature nur die CPU-Leistung als Basisleistungsfaktor. Die CPU-Leistung des CPU-Prozessors der angegebenen Instance-Familie dient als Leistungsbasis und stellt sicher, dass die ausgewählten Instance-Typen dieser Basislinie ähnlich sind oder diese übertreffen. Instance-Familien mit denselben CPU-Prozessoren führen zu denselben Filterergebnissen, auch wenn sich ihre Netzwerk- oder Festplattenleistung unterscheidet. Wenn Sie beispielsweise entweder `c6in` oder `c6i` als Basisreferenz angeben, würde dies zu identischen leistungsbasierten Filterergebnissen führen, da beide Instance-Familien denselben CPU-Prozessor verwenden.

**Nicht unterstützte Instance-Familien**  
Die folgenden Instance-Familien werden aus Gründen des Leistungsschutzes **nicht** unterstützt:
+ **Allgemeiner Zweck:** Mac1 \$1 Mac2 \$1 Mac2-M1Ultra \$1 Mac2-M2 \$1 Mac2-M2Pro \$1 M1 \$1 M2 \$1 T1
+ Für Rechenleistung optimiert**:** C1
+ **Speicheroptimiert:** U-3 TB1 \$1 U-6 TB1 \$1 U-9 TB1 \$1 U-12 TB1 \$1 U-18 TB1 \$1 U-24 TB1 \$1 U7i-12 TB \$1 U7in-16 TB \$1 U7in-24 TB \$1 U7in-32 TB
+ **Beschleunigtes Rechnen:** G3 \$1 G3s \$1 P3dn \$1 P4d \$1 P5
+ **Hochleistungsrechnen:** HPC7G

Wenn Sie den Leistungsschutz aktivieren, indem Sie eine unterstützte Instance-Familie angeben, schließen die zurückgegebenen Instance-Typen die oben genannten nicht unterstützten Instance-Familien aus.

Wenn Sie eine nicht unterstützte Instance-Familie als Wert für die Basisleistung angeben, gibt die API eine leere Antwort für [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)und eine Ausnahme für [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html),, [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html)und zurück. [ModifyFleet[ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html)

**Beispiel: Einen Basiswert für die CPU-Leistung festlegen**  
Im folgenden Beispiel besteht die Instance-Anforderung darin, mit Instance-Typen zu starten, deren CPU-Kerne genauso leistungsfähig sind wie die `c6i`-Instance-Familie. Dadurch werden Instance-Typen mit weniger leistungsfähigen CPU-Prozessoren herausgefiltert, auch wenn sie Ihre anderen angegebenen Instance-Anforderungen erfüllen, z. B. die Anzahl von V. CPUs Wenn Ihre angegebenen Instance-Attribute beispielsweise 4 V CPUs und 16 GB Arbeitsspeicher beinhalten, `c6i` wird ein Instance-Typ mit diesen Attributen, aber mit einer geringeren CPU-Leistung als dieser, von der Auswahl ausgeschlossen.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

## Überlegungen
<a name="ec2fleet-abs-considerations"></a>
+ Sie können entweder Instance-Typen oder Instance-Attribute in einer EC2-Flotte oder Spot-Flotte angeben, aber nicht beides gleichzeitig.

  Wenn Sie die CLI verwenden, überschreiben die Startvorlagen-Überschreibungen die Startvorlage. Wenn die Startvorlage beispielsweise einen Instance-Typ enthält und die Startvorlagen-Überschreibung Instance-Attribute enthält, überschreiben die Instances, die durch die Instance-Attribute identifiziert werden, den Instance-Typ in der Startvorlage.
+ Wenn Sie die CLI verwenden und Instance-Attribute als Überschreibungen angeben, können Sie nicht auch Gewichtungen oder Prioritäten angeben.
+ Sie können maximal vier `InstanceRequirements`-Strukturen in einer Anforderungskonfiguration angeben.

## Erstellen einer EC2-Flotte mit attributbasierter Auswahl von Instance-Typen
<a name="abs-create-ec2-fleet"></a>

Sie können eine EC2-Flotte so konfigurieren, dass sie die attributbasierte Auswahl von Instance-Typen verwendet. Es ist nicht möglich, eine EC2-Flotte mit der Amazon-EC2-Konsole zu erstellen.

Die Attribute für die attributbasierte Auswahl von Instance-Typen werden in der `InstanceRequirements`-Struktur angegeben. Wenn `InstanceRequirements` in der Flottenkonfiguration enthalten ist, müssen `InstanceType` und `WeightedCapacity` ausgeschlossen werden. Sie können die Flottenkonfiguration nicht gleichzeitig mit den Instance-Attributen bestimmen.

In den PowerShell Beispielen AWS CLI und sind die folgenden Attribute angegeben:
+ `VCpuCount`— Ein Minimum von 2 V CPUs und ein Maximum von 4 CPUs V. Wenn Sie keinen Höchstwert benötigen, können Sie den Höchstwert weglassen.
+ `MemoryMiB` – Mindestens 8 GiB Arbeitsspeicher und maximal 16 GiB. Wenn Sie kein Höchstlimit benötigen, können Sie den Höchstwert weglassen.

Diese Konfiguration identifiziert alle Instance-Typen mit 2 bis 4 V CPUs und 8 bis 16 GiB Arbeitsspeicher. Der Preisschutz und die Zuweisungsstrategie könnten jedoch einige Instance-Typen ausschließen, wenn [die EC2-Flotte die Flotte bereitstellt](#how-ef-uses-abs).

------
#### [ AWS CLI ]

**So erstellen Sie eine EC2-Flotte mit attributbasierter Auswahl von Instance-Typen**  
Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html), um eine EC2-Flotte zu erstellen. Geben Sie die Flottenkonfiguration in einer JSON-Datei an.

```
aws ec2 create-fleet \
    --region us-east-1 \
    --cli-input-json file://file_name.json
```

Die folgende Beispielsdatei `file_name.json` enthält die Parameter, mit denen eine EC2-Flotte für attributbasierte Auswahl von Instance-Typen konfiguriert wird.

```
{
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized"
    },
    "LaunchTemplateConfigs": [{
        "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template",
            "Version": "1"
        },
        "Overrides": [{
            "InstanceRequirements": {
                "VCpuCount": {
                    "Min": 2,
                    "Max": 4
                },
                "MemoryMiB": {
                    "Min": 8192,
                    "Max": 16384
                }
            }
        }]
    }],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

------
#### [ PowerShell ]

**So erstellen Sie eine EC2-Flotte mit attributbasierter Auswahl von Instance-Typen**  
Verwenden Sie das cmdlet [New-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Fleet.html).

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRangeRequest
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiBRequest
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirementsRequest
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecificationRequest
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.FleetLaunchTemplateOverridesRequest
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.FleetLaunchTemplateConfigRequest
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

New-EC2Fleet `
    -SpotOptions_AllocationStrategy "price-capacity-optimized" `
    -LaunchTemplateConfig @($launchTemplateConfig) `
    -TargetCapacitySpecification_DefaultTargetCapacityType "spot" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -Type "instant"
```

------

## Erstellen einer Spot-Flotte mit attributbasierter Auswahl von Instance-Typen
<a name="abs-create-spot-fleet"></a>

Sie können eine Flotte so konfigurieren, dass sie die attributbasierte Auswahl von Instance-Typen verwendet.

Die Attribute für die attributbasierte Auswahl von Instance-Typen werden in der `InstanceRequirements`-Struktur angegeben. Wenn `InstanceRequirements` in der Flottenkonfiguration enthalten ist, müssen `InstanceType` und `WeightedCapacity` ausgeschlossen werden. Sie können die Flottenkonfiguration nicht gleichzeitig mit den Instance-Attributen bestimmen.

In den PowerShell Beispielen AWS CLI und werden die folgenden Attribute angegeben:
+ `VCpuCount`— Ein Minimum von 2 V CPUs und ein Maximum von 4 CPUs V. Wenn Sie keinen Höchstwert benötigen, können Sie den Höchstwert weglassen.
+ `MemoryMiB` – Mindestens 8 GiB Arbeitsspeicher und maximal 16 GiB. Wenn Sie kein Höchstlimit benötigen, können Sie den Höchstwert weglassen.

Diese Konfiguration identifiziert alle Instance-Typen mit 2 bis 4 V CPUs und 8 bis 16 GiB Arbeitsspeicher. Der Preisschutz und die Zuweisungsstrategie könnten jedoch einige Instance-Typen ausschließen, wenn die [Spot-Flotte die Flotte bereitstellt](#how-ef-uses-abs).

------
#### [ Console ]

**So konfigurieren Sie eine Spot-Flotte für die attributbasierte Auswahl von Instance-Typen**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Klicken Sie im Navigationsbereich auf **Spot-Anforderungen** und wählen Sie die **Spot-Instances anfordern** aus.

1. Befolgen Sie die Schritte zum Erstellen einer Spot-Flotte. Weitere Informationen finden Sie unter [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](create-spot-fleet.md#create-spot-fleet-advanced).

   Konfigurieren Sie beim Erstellen der Spot-Flotte wie folgt die Flotte für die attributbasierte Auswahl von Instance-Typen:

   1. Wählen Sie für **Instance type requirements** (Anforderungen hinsichtlich des Instance-Typs) die Option **Specify instance attributes that match your compute requirements** (Instance-Attribute angeben, die Ihren Computinganforderungen entsprechen) aus.

   1. Geben Sie für **v CPUs** die gewünschte Mindest- und Höchstzahl von v einCPUs. Um kein Limit anzugeben, wählen Sie **Kein Minimum**, **Kein Maximum** oder beides aus.

   1. Geben Sie für **Arbeitsspeicher (GiB)** den gewünschten Mindest- und Höchstwert ein. Um kein Limit anzugeben, wählen Sie **Kein Minimum**, **Kein Maximum** oder beide Optionen aus.

   1. (Optional) Für **Zusätzliche Instance-Attribute** können Sie optional ein oder mehrere Attribute angeben, um Ihre Computinganforderungen genauer auszudrücken. Jedes zusätzliche Attribut fügt Ihrer Anfrage weitere Einschränkungen hinzu.

   1. (Optional) Um die Instance-Typen mit Ihren angegebenen Attributen anzuzeigen, erweitern Sie **Vorschau der übereinstimmenden Instance-Typen**.

------
#### [ AWS CLI ]

**So konfigurieren Sie eine Spot-Flotte für die attributbasierte Auswahl von Instance-Typen**  
Verwenden Sie den [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)Befehl, um eine Spot-Flotte zu erstellen. Geben Sie die Flottenkonfiguration in einer JSON-Datei an.

```
aws ec2 request-spot-fleet \
    --region us-east-1 \
    --spot-fleet-request-config file://file_name.json
```

Die folgende Beispielsdatei `file_name.json` enthält die Parameter, mit denen eine Spot-Flotte für attributbasierte Auswahl von Instance-Typen konfiguriert wird.

```
{
    "AllocationStrategy": "priceCapacityOptimized",
    "TargetCapacity": 20,
    "Type": "request",
    "LaunchTemplateConfigs": [{
        "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template",
            "Version": "1"
        },
        "Overrides": [{
            "InstanceRequirements": {
                "VCpuCount": {
                    "Min": 2,
                    "Max": 4
                },
                "MemoryMiB": {
                    "Min": 8192,
                    "Max": 16384
                }
            }
        }]
    }]
}
```

------
#### [ PowerShell ]

**So konfigurieren Sie eine Spot-Flotte für die attributbasierte Auswahl von Instance-Typen**  
Verwenden Sie das cmdlet [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html).

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRange
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiB
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirements
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecification
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

Request-EC2SpotFleet `
    -SpotFleetRequestConfig_AllocationStrategy "PriceCapacityOptimized" `
    -SpotFleetRequestConfig_TargetCapacity 20 `
    -SpotFleetRequestConfig_Type "Request" `
    -SpotFleetRequestConfig_LaunchTemplateConfig $launchTemplateConfig
```

------

## Beispiele für EC2-Flotte-Konfigurationen, die gültig und ungültig sind
<a name="ec2fleet-abs-example-configs"></a>

Wenn Sie den verwenden AWS CLI , um eine EC2-Flotte zu erstellen, müssen Sie sicherstellen, dass Ihre Flottenkonfiguration gültig ist. Die folgenden Beispiele zeigen gültige und ungültige Konfigurationen.

Konfigurationen gelten als ungültig, wenn sie Folgendes enthalten:
+ Eine einzelne `Overrides`-Struktur mit `InstanceRequirements` und `InstanceType`
+ Zwei `Overrides`-Strukturen, eine mit `InstanceRequirements` und die andere mit `InstanceType`
+ Zwei `InstanceRequirements`-Strukturen mit sich überlappenden Attributwerten innerhalb derselben `LaunchTemplateSpecification`

**Topics**
+ [

### Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen
](#ef-abs-example-config1)
+ [

### Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements
](#ef-abs-example-config2)
+ [

### Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen
](#ef-abs-example-config3)
+ [

### Gültige Konfiguration: Nur `InstanceRequirements` angegeben, keine überlappenden Attributwerte
](#ef-abs-example-config4)
+ [

### Die Konfiguration ist nicht gültig: `Overrides` enthalten `InstanceRequirements` und `InstanceType`.
](#ef-abs-example-config5)
+ [

### Konfiguration ungültig: Zwei `Overrides` enthalten `InstanceRequirements` und `InstanceType`
](#ef-abs-example-config6)
+ [

### Konfiguration ungültig: Überlappende Attributwerte
](#ef-abs-example-config7)

### Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen
<a name="ef-abs-example-config1"></a>

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine `Overrides`-Struktur mit einer `InstanceRequirements`-Struktur. Eine Texterklärung der Beispielkonfiguration folgt.

```
{
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5000,
        "DefaultTargetCapacityType": "spot",
        "TargetCapacityUnitType": "vcpu"
        }
    }
}
```

****`InstanceRequirements`****  
Um die attributbasierte Instance-Auswahl zu verwenden, müssen Sie die `InstanceRequirements`-Struktur in Ihre Flottenkonfiguration aufnehmen und die gewünschten Attribute für die Instances in der Flotte angeben.

Im vorhergehenden Beispiel werden die folgenden Instance-Attribute angegeben:
+ `VCpuCount`— Die Instance-Typen müssen mindestens 2 und maximal 8 v CPUs haben.
+ `MemoryMiB` – Die Instance-Typen müssen maximal 10240 MiB Speicher haben. Ein Minimum von 0 bedeutet, dass kein Mindestwert vorhanden ist.
+ `MemoryGiBPerVCpu` – Die Instance-Typen müssen maximal 10 000 GiB Speicher pro vCPU haben. Der Parameter `Min` ist optional. Indem Sie ihn weglassen, geben Sie kein Mindestlimit an.

**`TargetCapacityUnitType`**  
Der `TargetCapacityUnitType`-Parameter gibt die Einheit für die Zielkapazität an. Im Beispiel ist die Zielkapazität `5000` und der Typ der Zielkapazitätseinheit `vcpu`. Zusammen geben Sie eine gewünschte Zielkapazität von 5 000 vCPUs an. Die EC2-Flotte startet so viele Instances, dass die Gesamtzahl von v CPUs in der Flotte 5.000 v CPUs beträgt.

### Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements
<a name="ef-abs-example-config2"></a>

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine `Overrides`-Struktur mit zwei `InstanceRequirements`-Strukturen. Die in angegebenen Attribute `InstanceRequirements` sind gültig, da sich die Werte nicht überschneiden. Die erste `InstanceRequirements` Struktur gibt einen Wert `VCpuCount` von 0-2 v anCPUs, während die zweite `InstanceRequirements` Struktur 4-8 v angibt. CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen
<a name="ef-abs-example-config3"></a>

Die folgende Konfiguration ist gültig. Sie enthält zwei Startvorlagen mit jeweils einer `Overrides`-Struktur, die eine `InstanceRequirements`-Struktur enthält. Diese Konfiguration ist nützlich für `arm`- und `x86`-Architekturunterstützung in derselben Flotte.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Gültige Konfiguration: Nur `InstanceRequirements` angegeben, keine überlappenden Attributwerte
<a name="ef-abs-example-config4"></a>

Die folgende Konfiguration ist gültig. Sie enthält zwei `LaunchTemplateSpecification`-Strukturen, jeweils mit einer Startvorlage und einer `Overrides`-Struktur, die eine `InstanceRequirements`-Struktur enthält. Die in angegebenen Attribute `InstanceRequirements` sind gültig, da sich die Werte nicht überschneiden. Die erste `InstanceRequirements` Struktur gibt einen Wert `VCpuCount` von 0-2 v anCPUs, während die zweite Struktur 4-8 v angibt. `InstanceRequirements` CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Die Konfiguration ist nicht gültig: `Overrides` enthalten `InstanceRequirements` und `InstanceType`.
<a name="ef-abs-example-config5"></a>

Die folgende Konfiguration ist ungültig. Die `Overrides`-Struktur enthält `InstanceRequirements` und `InstanceType`. Sie können für `Overrides` `InstanceRequirements` oder `InstanceType` angeben, aber nicht beides.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfiguration ungültig: Zwei `Overrides` enthalten `InstanceRequirements` und `InstanceType`
<a name="ef-abs-example-config6"></a>

Die folgende Konfiguration ist ungültig. Die `Overrides`-Strukturen enthalten `InstanceRequirements` und `InstanceType`. Sie können entweder `InstanceRequirements` oder `InstanceType` angeben, aber nicht beides, auch wenn sie sich in unterschiedlichen `Overrides`-Strukturen befinden.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfiguration ungültig: Überlappende Attributwerte
<a name="ef-abs-example-config7"></a>

Die folgende Konfiguration ist ungültig. Die beiden `InstanceRequirements`-Strukturen enthalten jeweils `"VCpuCount": {"Min": 0, "Max": 2}`. Die Werte für diese Attribute überschneiden sich, was zu doppelten Kapazitätspools führt.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

## Beispiele für Spot-Flotte-Konfigurationen, die gültig und ungültig sind
<a name="spotfleet-abs-example-configs"></a>

Wenn Sie die verwenden AWS CLI , um eine Spot-Flotte zu erstellen, müssen Sie sicherstellen, dass Ihre Flottenkonfiguration gültig ist. Die folgenden Beispiele zeigen gültige und ungültige Konfigurationen.

Konfigurationen gelten als ungültig, wenn sie Folgendes enthalten:
+ Eine einzelne `Overrides`-Struktur mit `InstanceRequirements` und `InstanceType`
+ Zwei `Overrides`-Strukturen, eine mit `InstanceRequirements` und die andere mit `InstanceType`
+ Zwei `InstanceRequirements`-Strukturen mit sich überlappenden Attributwerten innerhalb derselben `LaunchTemplateSpecification`

**Topics**
+ [

### Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen
](#sf-abs-example-config1)
+ [

### Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements
](#sf-abs-example-config2)
+ [

### Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen
](#sf-abs-example-config3)
+ [

### Gültige Konfiguration: Nur `InstanceRequirements` angegeben, keine überlappenden Attributwerte
](#sf-abs-example-config4)
+ [

### Die Konfiguration ist nicht gültig: `Overrides` enthalten `InstanceRequirements` und `InstanceType`.
](#sf-abs-example-config5)
+ [

### Konfiguration ungültig: Zwei `Overrides` enthalten `InstanceRequirements` und `InstanceType`
](#sf-abs-example-config6)
+ [

### Konfiguration ungültig: Überlappende Attributwerte
](#sf-abs-example-config7)

### Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen
<a name="sf-abs-example-config1"></a>

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine `Overrides`-Struktur mit einer `InstanceRequirements`-Struktur. Eine Texterklärung der Beispielkonfiguration folgt.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
        "TargetCapacity": 5000,
            "OnDemandTargetCapacity": 0,
            "TargetCapacityUnitType": "vcpu"
    }
}
```

****`InstanceRequirements`****  
Um die attributbasierte Instance-Auswahl zu verwenden, müssen Sie die `InstanceRequirements`-Struktur in Ihre Flottenkonfiguration aufnehmen und die gewünschten Attribute für die Instances in der Flotte angeben.

Im vorhergehenden Beispiel werden die folgenden Instance-Attribute angegeben:
+ `VCpuCount`— Die Instance-Typen müssen mindestens 2 und maximal 8 v habenCPUs.
+ `MemoryMiB` – Die Instance-Typen müssen maximal 10240 MiB Speicher haben. Ein Minimum von 0 bedeutet, dass kein Mindestwert vorhanden ist.
+ `MemoryGiBPerVCpu` – Die Instance-Typen müssen maximal 10 000 GiB Speicher pro vCPU haben. Der Parameter `Min` ist optional. Indem Sie ihn weglassen, geben Sie kein Mindestlimit an.

**`TargetCapacityUnitType`**  
Der `TargetCapacityUnitType`-Parameter gibt die Einheit für die Zielkapazität an. Im Beispiel sind die Zielkapazität `5000` und der Typ der Zielkapazitätseinheit ist`vcpu`, die zusammen eine gewünschte Zielkapazität von 5.000 V angebenCPUs. Die Spot-Flotte startet so viele Instances, dass die Gesamtanzahl von v CPUs in der Flotte 5.000 v beträgtCPUs.

### Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements
<a name="sf-abs-example-config2"></a>

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine `Overrides`-Struktur mit zwei `InstanceRequirements`-Strukturen. Die in angegebenen Attribute `InstanceRequirements` sind gültig, da sich die Werte nicht überschneiden. Die erste `InstanceRequirements` Struktur gibt einen Wert `VCpuCount` von 0-2 v anCPUs, während die zweite `InstanceRequirements` Struktur 4-8 v angibt. CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen
<a name="sf-abs-example-config3"></a>

Die folgende Konfiguration ist gültig. Sie enthält zwei Startvorlagen mit jeweils einer `Overrides`-Struktur, die eine `InstanceRequirements`-Struktur enthält. Diese Konfiguration ist nützlich für `arm`- und `x86`-Architekturunterstützung in derselben Flotte.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Gültige Konfiguration: Nur `InstanceRequirements` angegeben, keine überlappenden Attributwerte
<a name="sf-abs-example-config4"></a>

Die folgende Konfiguration ist gültig. Sie enthält zwei `LaunchTemplateSpecification`-Strukturen, jeweils mit einer Startvorlage und einer `Overrides`-Struktur, die eine `InstanceRequirements`-Struktur enthält. Die in angegebenen Attribute `InstanceRequirements` sind gültig, da sich die Werte nicht überschneiden. Die erste `InstanceRequirements` Struktur gibt einen Wert `VCpuCount` von 0-2 v anCPUs, während die zweite Struktur 4-8 v angibt. `InstanceRequirements` CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Die Konfiguration ist nicht gültig: `Overrides` enthalten `InstanceRequirements` und `InstanceType`.
<a name="sf-abs-example-config5"></a>

Die folgende Konfiguration ist ungültig. Die `Overrides`-Struktur enthält `InstanceRequirements` und `InstanceType`. Sie können für `Overrides` `InstanceRequirements` oder `InstanceType` angeben, aber nicht beides.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfiguration ungültig: Zwei `Overrides` enthalten `InstanceRequirements` und `InstanceType`
<a name="sf-abs-example-config6"></a>

Die folgende Konfiguration ist ungültig. Die `Overrides`-Strukturen enthalten `InstanceRequirements` und `InstanceType`. Sie können entweder `InstanceRequirements` oder `InstanceType` angeben, aber nicht beides, auch wenn sie sich in unterschiedlichen `Overrides`-Strukturen befinden.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfiguration ungültig: Überlappende Attributwerte
<a name="sf-abs-example-config7"></a>

Die folgende Konfiguration ist ungültig. Die beiden `InstanceRequirements`-Strukturen enthalten jeweils `"VCpuCount": {"Min": 0, "Max": 2}`. Die Werte für diese Attribute überschneiden sich, was zu doppelten Kapazitätspools führt.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

## Vorschau von Instance-Typen mit bestimmten Attributen
<a name="ec2fleet-get-instance-types-from-instance-requirements"></a>

Sie können den Befehl [get-instance-types-from-instance-requirements verwenden, um eine Vorschau der Instance-Typen](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) anzuzeigen, die den von Ihnen angegebenen Attributen entsprechen. Dies ist besonders nützlich, um herauszufinden, welche Attribute in Ihrer Anforderungskonfiguration angegeben werden sollen, ohne Instances zu starten. Beachten Sie, dass der Befehl die verfügbare Kapazität nicht berücksichtigt.

**Um eine Vorschau einer Liste von Instanztypen anzuzeigen, indem Sie Attribute mit dem AWS CLI**

1. (Optional) Um alle möglichen Attribute zu generieren, die angegeben werden können, verwenden Sie den Befehl [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) und den Parameter. `--generate-cli-skeleton` Sie können die Ausgabe optional in eine Datei umleiten, um sie mit mit `input > attributes.json` zu speichern.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --region us-east-1 \
       --generate-cli-skeleton input > attributes.json
   ```

   Erwartete Ausgabe

   ```
   {
       "DryRun": true,
       "ArchitectureTypes": [
           "i386"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 0,
               "Max": 0
           },
           "MemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "CpuManufacturers": [
               "intel"
           ],
           "MemoryGiBPerVCpu": {
               "Min": 0.0,
               "Max": 0.0
           },
           "ExcludedInstanceTypes": [
               ""
           ],
           "InstanceGenerations": [
               "current"
           ],
           "SpotMaxPricePercentageOverLowestPrice": 0,
           "OnDemandMaxPricePercentageOverLowestPrice": 0,
           "BareMetal": "included",
           "BurstablePerformance": "included",
           "RequireHibernateSupport": true,
           "NetworkInterfaceCount": {
               "Min": 0,
               "Max": 0
           },
           "LocalStorage": "included",
           "LocalStorageTypes": [
               "hdd"
           ],
           "TotalLocalStorageGB": {
               "Min": 0.0,
               "Max": 0.0
           },
           "BaselineEbsBandwidthMbps": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorTypes": [
               "gpu"
           ],
           "AcceleratorCount": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorManufacturers": [
               "nvidia"
           ],
           "AcceleratorNames": [
               "a100"
           ],
           "AcceleratorTotalMemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "NetworkBandwidthGbps": {
               "Min": 0.0,
               "Max": 0.0
           },
           "AllowedInstanceTypes": [
               ""
           ]
       },
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. Erstellen Sie eine JSON-Konfigurationsdatei mit der Ausgabe des vorherigen Schritts und konfigurieren Sie sie wie folgt:
**Anmerkung**  
Sie müssen Werte für `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount` und `MemoryMiB` angeben. Sie können die anderen Attribute weglassen. In diesem Fall werden die Standardwerte verwendet.  
[Eine Beschreibung der einzelnen Attribute und ihrer Standardwerte finden Sie unter -instance-requirements. get-instance-types-from](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html)

   1. Geben Sie für `ArchitectureTypes` mindestes einen Prozessorarchitekturtyp an.

   1. Geben Sie für `VirtualizationTypes` mindestens eine Art von Virtualisierung an.

   1. Geben Sie für `VCpuCount` die Mindest- und Höchstzahl von v an. CPUs Um keinen Mindestgrenzwert anzugeben, geben Sie für `Min` an`0`. Wenn Sie keine Maximalgrenze angeben möchten, lassen Sie den `Max`-Parameter weg.

   1. Geben Sie für `MemoryMiB` den Mindest- und Höchstwert für Speicher in MiB an. Wenn Sie keine Mindestgrenze angeben möchten, geben Sie `0` für `Min` an. Wenn Sie keine Maximalgrenze angeben möchten, lassen Sie den `Max`-Parameter weg.

   1. Sie können optional eines oder mehrere der anderen Attribute angeben, um die Liste der zurückgegebenen Instance-Typen weiter einzuschränken.

1. Um eine Vorschau der Instance-Typen mit den Attributen anzuzeigen, die Sie in der JSON-Datei angegeben haben, verwenden Sie den Befehl [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) und geben Sie mithilfe des Parameters den Namen und den Pfad zu Ihrer JSON-Datei an. `--cli-input-json` Sie können die Ausgabe optional so formatieren, dass sie in einem Tabellenformat angezeigt wird.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --cli-input-json file://attributes.json \
       --output table
   ```

   *attributes.json*-Beispieldatei

   In diesem Beispiel sind die erforderlichen Attribute in der JSON-Datei enthalten. Sie lauten `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount`, und `MemoryMiB`. Darüber hinaus ist das optionale `InstanceGenerations`-Attribut ebenfalls enthalten. Beachten Sie, dass für `MemoryMiB` der `Max`-Wert weggelassen werden kann, um anzuzeigen, dass kein Grenzwert vorhanden ist.

   ```
   {
       
       "ArchitectureTypes": [
           "x86_64"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 4,
               "Max": 6
           },
           "MemoryMiB": {
               "Min": 2048
           },
           "InstanceGenerations": [
               "current"
           ]
       }
   }
   ```

   Beispielausgabe

   ```
   ------------------------------------------
   |GetInstanceTypesFromInstanceRequirements|
   +----------------------------------------+
   ||             InstanceTypes            ||
   |+--------------------------------------+|
   ||             InstanceType             ||
   |+--------------------------------------+|
   ||  c4.xlarge                           ||
   ||  c5.xlarge                           ||
   ||  c5a.xlarge                          ||
   ||  c5ad.xlarge                         ||
   ||  c5d.xlarge                          ||
   ||  c5n.xlarge                          ||
   ||  d2.xlarge                           ||
   ...
   ```

1. Nachdem Sie Instance-Typen identifiziert haben, die Ihren Anforderungen entsprechen, notieren Sie die Instance-Attribute, die Sie verwendet haben, damit Sie sie beim Konfigurieren Ihrer Flottenanforderung verwenden können.

# Instance-Gewichtung verwenden, um die Kosten und die Leistung Ihrer EC2-Flotte oder Spot-Flotte zu verwalten
<a name="ec2-fleet-instance-weighting"></a>

Bei der Instance-Gewichtung weisen Sie jedem Instance-Typ in Ihrer EC2-Flotte oder Spot-Flotte eine Gewichtung zu, um deren Rechenkapazität und Leistung im Verhältnis zueinander darzustellen. Basierend auf der Gewichtung kann die Flotte eine beliebige Kombination der angegebenen Instance-Typen verwenden, sofern sie die gewünschte Zielkapazität erfüllen kann. Dies kann Ihnen helfen, die Kosten und die Leistung Ihrer Flotte zu verwalten.

Die Gewichtung stellt die Kapazitätseinheiten dar, die ein Instance-Typ zur gesamten Zielkapazität beiträgt.

**Beispiel: Verwenden Sie die Gewichtung von Instances für das Leistungsmanagement**

Angenommen, Ihre Flotte hat zwei Instance-Typen, und Sie weisen jedem Instance-Typ eine unterschiedliche Gewichtung zu, um widerzuspiegeln, wie viele Sie jeweils benötigen, um dieselbe Performance zu erzielen. Gehen Sie wie folgt vor:
+  `m5.large` – Gewicht: 1
+ `m5.2xlarge` – Gewicht: 4

Wenn Sie diese Gewichtung zuweisen, sagen Sie, dass Sie 4 `m5.large`-Instances benötigen, um dieselbe Leistung wie 1 `m5.2xlarge` zu erzielen.

Verwenden Sie die folgende Formel, um zu berechnen, wie viele Instances jedes Instance-Typs für eine bestimmte Zielkapazität benötigt werden:

`target capacity / weight = number of instances`

Wenn Ihre Zielkapazität 8 Einheiten beträgt, könnte die Flotte die Zielkapazität entweder mit einem `m5.large` oder `m5.2xlarge`, einer Kombination aus beidem, wie folgt erreichen:
+ 8 `m5.large` Instances (Kapazität von 8 / Gewicht von 1 = 8 Instances)
+ 2 `m5.2xlarge` Instances (Kapazität von 8 / Gewicht von 4 = 2 Instances)
+ 4 `m5.large` und 1 `m5.2xlarge`

**Beispiel: Verwenden Sie die Gewichtung von Instances für das Kostenmanagement**

Standardmäßig gilt der von Ihnen angegebene Preis *pro Instance-Stunde*. Wenn Sie das Feature der Instance-Gewichtung verwenden, gilt der von Ihnen angegebene Preis *pro Einheitsstunde*. Der Preis pro Einheitsstunde lässt sich errechnen, indem Sie Ihren Preis für einen Instance-Typ durch die Anzahl der Einheiten dividieren, die er darstellt. Die Flotte berechnet die Anzahl der zu startenden Instances, indem die Zielkapazität durch die Instance-Gewichtung geteilt wird. Wenn es sich bei dem Ergebnis nicht um eine Ganzzahl handelt, rundet die Flotte dieses auf die nächste Ganzzahl auf, sodass die Größe Ihrer Flotte nicht unter der Zielkapazität liegt. Die Flotte kann alle Pools auswählen, die Sie in Ihrer Startspezifikation angeben, selbst wenn die Kapazität der gestarteten Instances die angeforderte Zielkapazität übersteigt.

Die folgende Tabelle enthält Beispiele für die Berechnung des Preises pro Einheit für eine Flotte mit einer Zielkapazität von 10.


| Instance-Typ | Instance-Gewichtung | Zielkapazität | Anzahl an gestarteten Instances | Preis pro Instance-Stunde | Preis pro Einheitsstunde | 
| --- | --- | --- | --- | --- | --- | 
| r3.xlarge |  2  | 10 |  5 (10 geteilt durch 2)  |  \$10.05  |  0,025 USD (0,05 geteilt durch 2)  | 
| r3.8xlarge |  8  | 10 |  2 (10 geteilt durch 8, Ergebnis aufgerundet)  |  \$10.10  |  0,0125 USD (0,10 geteilt durch 8)  | 

Verwenden Sie Flotte Instance-Gewichtung wie folgt, um die gewünschte Zielkapazität in den Pools mit dem niedrigsten Preis pro Einheit zum Zeitpunkt der Erfüllung bereitzustellen:

1. Geben Sie die Zielkapazität für Ihre Flotte entweder in Instances (Standard) oder in den Einheiten Ihrer Wahl an, z. B. virtuelle CPUs, Arbeitsspeicher, Speicher oder Durchsatz.

1. Legen Sie den Preis pro Einheit fest.

1. Geben Sie für jede Startspezifikation die Gewichtung an, d. h. die Anzahl der Einheiten, die der Instance-Typ für die Zielkapazität darstellt.

**Beispiel für die Instance-Gewichtung**  
Überlegen Sie sich eine Spot-Flotten-Anforderung mit der folgenden Konfiguration:
+ Eine Zielkapazität von 24
+ Eine Startspezifikation mit dem Instance-Typ `r3.2xlarge` und der Gewichtung 6
+ Eine Startspezifikation mit dem Instance-Typ `c3.xlarge` und der Gewichtung 5

Die Gewichtung stellt die Anzahl an Einheiten dar, die der Instance-Typ hinsichtlich der Zielkapazität darstellt. Wenn die erste Startspezifikation den niedrigsten Preis pro Einheit (Preis für `r3.2xlarge` pro Instance-Stunde geteilt durch 6) bereitstellt, würde die Flotte vier dieser Instances starten (24 geteilt durch 6).

Wenn die zweite Startspezifikation den niedrigsten Preis pro Einheit (Preis für `c3.xlarge` pro Instance-Stunde geteilt durch 5) bereitstellt, würde die Flotte fünf dieser Instances starten (24 geteilt durch 5, Ergebnis aufgerundet).

**Instance-Gewichtung und Zuweisungsstrategie**  
Überlegen Sie sich eine Spot-Flotten-Anforderung mit der folgenden Konfiguration:
+ Eine Zielkapazität von 30 Spot-Instances
+ Eine Startspezifikation mit dem Instance-Typ `c3.2xlarge` und der Gewichtung 8
+ Eine Startspezifikation mit dem Instance-Typ `m3.xlarge` und der Gewichtung 8
+ Eine Startspezifikation mit dem Instance-Typ `r3.xlarge` und der Gewichtung 8

Die Flotte würde vier Instances starten (30 geteilt durch 8, Ergebnis aufgerundet). Bei der `diversified`-Strategie startet die Flotte eine Instance in jedem der drei Pools und die vierte Instance in dem Pool, für den der niedrigste Preis pro Einheit anfällt.

# Verwenden Sie Zuweisungsstrategien, um festzustellen, wie die EC2-Flotte oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausfüllt
<a name="ec2-fleet-allocation-strategy"></a>

Wenn Sie mehrere Kapazitätspools (die jeweils einen Instance-Typ und eine Availability Zone umfassen) in einer EC2-Flotte oder Spot-Flotte verwenden, können Sie mithilfe einer *Zuweisungsstrategie* steuern, wie Amazon EC2 Ihre Spot- und On-Demand-Kapazitäten aus diesen Pools ausfüllt. Die Zuweisungsstrategien können für die verfügbare Kapazität, den Preis und die zu verwendenden Instance-Typen optimiert werden. Es gibt unterschiedliche Zuweisungsstrategien für Spot Instances und On-Demand-Instances.

**Topics**
+ [

## Zuweisungsstrategien für Spot-Instances
](#ec2-fleet-allocation-strategies-for-spot-instances)
+ [

## Zuweisungsstrategie für On-Demand-Instances
](#ec2-fleet-allocation-strategies-for-on-demand-instances)
+ [

## Die geeignete Zuweisungsstrategie auswählen
](#ec2-fleet-allocation-use-cases)
+ [

## Zielkapazität für Spot Instances erhalten
](#ec2-fleet-maintain-fleet-capacity)
+ [

## Priorisieren von Instance-Typen für On-Demand-Kapazität
](#ec2-fleet-on-demand-priority)

## Zuweisungsstrategien für Spot-Instances
<a name="ec2-fleet-allocation-strategies-for-spot-instances"></a>

Ihre Startkonfiguration bestimmt alle möglichen Spot-Kapazitätspools (Instance-Typen und Availability Zones), aus denen EC2-Flotte oder Spot-Flotte Spot Instances starten kann. Beim Starten von Instances nutzt Flotte jedoch die von Ihnen angegebene Zuweisungsstrategie, um die jeweiligen Pools aus allen möglichen Pools auszuwählen.

**Anmerkung**  
(Nur Linux-Instances) Wenn Sie eine Spot Instance mit aktiviertem [AMD SEV-SNP](sev-snp.md) starten, wird Ihnen eine zusätzliche stündliche Nutzungsgebühr in Höhe von 10 % des [On-Demand-Stundensatzes](https://aws.amazon.com/ec2/pricing/on-demand/) für den ausgewählten Instance-Typ berechnet. Wenn die Zuweisungsstrategie den Preis als Eingabe verwendet, berücksichtigt die Flotte diese zusätzliche Gebühr nicht. Es wird nur der Spot-Preis verwendet.

Sie können eine der folgenden Zuweisungsstrategien für Spot Instances angeben:

**Preis-/kapazitätsoptimiert** (empfohlen)  
Die Flotte identifiziert die Pools mit der höchsten Kapazitätsverfügbarkeit für die Anzahl der Instances, die gestartet werden. Das bedeutet, dass wir Spot Instances aus den Pools anfordern werden, von denen wir glauben, dass die Wahrscheinlichkeit einer kurzfristigen Unterbrechung am geringsten ist. Die Flotte fordert dann Spot Instances aus dem günstigsten dieser Pools an.  
Die **Preis-/kapazitätsoptimierte** Zuweisungsstrategie ist die beste Wahl für die meisten Spot-Workloads, z. B. statuslose containerisierte Anwendungen, Microservices, Webanwendungen, Daten- und Analytikaufträge sowie Batchverarbeitung.  
Wenn Sie den verwenden AWS CLI, ist der Parametername `price-capacity-optimized` für EC2 Fleet und `priceCapacityOptimized` für Spot Fleet.

**Kapazitätsoptimiert**  
Die Flotte identifiziert die Pools mit der höchsten Kapazitätsverfügbarkeit für die Anzahl der Instances, die gestartet werden. Das bedeutet, dass wir Spot Instances aus den Pools anfordern werden, von denen wir glauben, dass die Wahrscheinlichkeit einer kurzfristigen Unterbrechung am geringsten ist.  
Im Fall von Spot-Instances ändern sich die Preise allmählich im Lauf der Zeit, basierend auf langfristigen Trends bei Angebot und Nachfrage. Die Kapazität fluktuiert jedoch in Echtzeit. Bei Anwendung der Strategie **Kapazitätsoptimiert** wird Spot Instances automatisch zu den am besten verfügbaren Pools gestartet, indem Echtzeitdaten zur Kapazität analysiert werden und prognostiziert wird, welche Pools am besten verfügbar sind. Diese Strategie ist gut für Workloads, bei denen Unterbrechungen aufgrund von Neustarts von Aufgaben höhere Kosten verursachen, wie Continuous Integration (CI), Image- und Medien-Rendering, Deep Learning und High Performance Compute (HPC)-Workloads, bei denen Unterbrechungen höhere Kosten verursachen, da Aufgaben neu gestartet werden müssen. Da die **Kapazitätsoptimiert**-Strategie die Zahl der Unterbrechungen reduzieren kann, trägt sie zur Senkung der Gesamtkosten Ihrer Workload bei.  
Alternativ können Sie die **Kapazitätsoptimiertpriorisierte** Zuweisungsstrategie mit einem Prioritätsparameter verwenden, um die Instance-Typen von der höchsten zur niedrigsten Priorität zu ordnen. Sie können dieselbe Priorität für verschiedene Instance-Typen festlegen. Die Flotte wird zuerst für die Kapazität optimiert, berücksichtigt jedoch so gut wie möglich die Prioritäten der Instance-Typen (wenn z. B. die Berücksichtigung der Prioritäten keinen wesentlichen Einfluss auf die Fähigkeit der Flotte zur Bereitstellung optimaler Kapazität hat). Dies ist eine gute Option für Workloads, bei denen die Möglichkeit von Unterbrechungen minimiert werden muss und die Präferenz für bestimmte Instance-Typen wichtig ist. Beachten Sie, dass, wenn Sie die Priorität für Instance-Typen für Ihre Spot-Kapazität festlegen, dieselbe Priorität auch auf Ihre On-Demand-Instances angewendet wird, wenn die On-Demand-Zuweisungsstrategie auf **priorisiert** eingestellt ist. Die Verwendung von Prioritäten wird für Spot-Flotte nur unterstützt, wenn Ihre Flotte eine Startvorlage verwendet.   
Wenn Sie den verwenden AWS CLI, lauten die Parameternamen `capacity-optimized` und `capacity-optimized-prioritized` für EC2 Fleet und `capacityOptimized` und `capacityOptimizedPrioritized` für Spot Fleet.

**Diversifiert**  
Spot-Instances werden auf alle Spot-Kapazitätspools verteilt. Wenn Sie den verwenden AWS CLI, gilt der Parametername sowohl `diversified` für EC2 Fleet als auch für Spot Fleet.

**Niedrigster Preis** (nicht empfohlen)  
Wir empfehlen nicht, die Strategie für die Zuteilung des **niedrigsten Preises** zu wählen, da sie das größte Risiko einer Unterbrechung Ihrer Spot Instances birgt.
Die Spot-Instances kommen aus dem preisgünstigsten Pool mit verfügbarer Kapazität. Bei Verwendung von AWS CLI ist dies die Standardstrategie. Es wird jedoch empfohlen, die Standardeinstellung zu überschreiben, indem Sie die **Preis – Kapazitätsoptimierte** Zuweisungsstrategie angeben.  
Bei der Niedrigstpreisstrategie werden die Spot Instances aus dem nächstgünstigeren Pool mit freien Kapazitäten bezogen, wenn der Pool mit dem niedrigsten Preis keine freien Kapazitäten hat. Wenn in einem Pool die Kapazität zu Neige geht, bevor Ihre gewünschte Kapazität erreicht ist, wird Ihre Anforderung von der Flotte über den nächstgünstigsten Pool erfüllt. Damit die gewünschte Kapazität auf jeden Fall erreicht wird, erhalten Sie möglicherweise Spot-Instances aus mehreren Pools.  
Da bei dieser Strategie nur der Instance-Preis und nicht die Kapazitätsverfügbarkeit berücksichtigt wird, kann es zu hohen Unterbrechungsraten kommen.  
Die Niedrigstpreisstrategie ist nur verfügbar, wenn Sie die AWS CLI verwenden. Der Parametername ist `lowest-price` für EC2 Fleet und `lowestPrice` für Spot Fleet.

**Anzahl der zu verwendenden Pools**  
Die Anzahl der Spot-Pools, über die Ihre Spot-Zielkapazität zugewiesen werden soll. Ist nur gültig, wenn die Zuweisungsstrategie auf **Niedrigster Preis** eingestellt ist. Die Flotte wählt die günstigsten Spot-Pools aus und weist Ihre Spot-Zielkapazität gleichmäßig über die von Ihnen angegebene Anzahl von Spot-Pools zu.  
Beachten Sie, dass die Flotte versucht, Spot Instances aus der Anzahl der Pools zu ziehen, die Sie nach bestem Aufwand angeben. Wenn einem Pool die Spot-Kapazität ausgeht, bevor Ihre Zielkapazität erreicht ist, wird die Flotte Ihre Anfrage weiterhin erfüllen, indem sie sie aus dem nächsten preisgünstigsten Pool zieht. Um sicherzustellen, dass Ihre Zielkapazität erreicht wird, erhalten Sie möglicherweise Spot-Instances von mehr als der von Ihnen angegebenen Anzahl von Pools. Wenn die meisten Pools keine Spot-Kapazität haben, erhalten Sie Ihre volle Zielkapazität möglicherweise von weniger als der von Ihnen angegebenen Anzahl von Pools.  
Dieser Parameter ist nur verfügbar, wenn die Strategie für die Zuteilung mit dem **niedrigsten Preis** angegeben wird, und nur bei Verwendung von AWS CLI. Der Parametername ist `InstancePoolsToUseCount` sowohl für EC2-Flotte als auch Spot-Flotte.

## Zuweisungsstrategie für On-Demand-Instances
<a name="ec2-fleet-allocation-strategies-for-on-demand-instances"></a>

Ihre Startkonfiguration bestimmt alle möglichen Spot-Kapazitätspools (Instance-Typen und Availability Zones), aus denen EC2-Flotte oder Spot-Flotte On-Demand-Instances starten kann. Beim Starten von Instances nutzt Flotte jedoch die von Ihnen angegebene Zuweisungsstrategie, um die jeweiligen Pools aus allen möglichen Pools auszuwählen.

Sie können eine der folgenden Zuweisungsstrategien für On-Demand-Instances angeben:

**niedrigster Preis**  
Die On-Demand-Instances kommen aus dem preisgünstigsten Pool mit verfügbarer Kapazität. Dies ist die Standardstrategie.  
Wenn der günstigste Pool keine verfügbare Kapazität aufweist, kommen die On-Demand-Instances aus dem nächstgünstigsten Pool mit verfügbarer Kapazität.  
Wenn in einem Pool die Kapazität zu Neige geht, bevor Ihre gewünschte Kapazität erreicht ist, wird Ihre Anforderung von der Flotte über den nächstgünstigsten Pool erfüllt. Damit die gewünschte Kapazität auf jeden Fall erreicht wird, erhalten Sie möglicherweise On-Demand-Instances aus mehreren Pools.

**Priorisiert**  
Die Flotte verwendet die Priorität, die Sie jeder Einführungsvorlagen-Überschreibung zugewiesen haben, und launcht Instance-Typen mit der höchsten Priorität zuerst. Diese Strategie kann nicht mit attributbasierter Auswahl von Instance-Typen verwendet werden. Ein Beispiel für die Verwendung dieser Zuweisungsstrategie finden Sie unter [Priorisieren von Instance-Typen für On-Demand-Kapazität](#ec2-fleet-on-demand-priority).

## Die geeignete Zuweisungsstrategie auswählen
<a name="ec2-fleet-allocation-use-cases"></a>

Sie können Ihre Flotte für Ihren Anwendungsfall optimieren, indem Sie die entsprechende Spot-Zuweisungsstrategie wählen.

### Gleichgewicht zwischen niedrigstem Preis und Kapazitätsverfügbarkeit
<a name="ec2-fleet-strategy-balance-price-and-capacity-availability"></a>

Um die Kompromisse zwischen den Spot-Kapazitätspools mit dem niedrigsten Preis und den Spot-Kapazitätspools mit der höchsten Kapazitätsverfügbarkeit auszugleichen, empfehlen wir, die **Preis-Kapazitätsoptimierte** Zuweisungsstrategie zu verwenden. Bei dieser Strategie werden Entscheidungen darüber getroffen, von welchen Pools Spot Instances angefordert werden sollen, sowohl auf der Grundlage des Preises der Pools als auch der Kapazitätsverfügbarkeit der Spot Instances in diesen Pools. Das bedeutet, dass wir Spot Instances aus den Pools anfordern werden, von denen wir glauben, dass die Wahrscheinlichkeit einer kurzfristigen Unterbrechung am geringsten ist, wobei der Preis weiterhin berücksichtigt wird.

Wenn Ihre Flotte belastbare und statuslose Workloads ausführt, einschließlich containerisierter Anwendungen, Microservices, Webanwendungen, Daten- und Analytikaufträge sowie Stapelverarbeitung, dann sollten Sie die **Preis-Kapazitätsoptimierte** Zuweisungsstrategie verwenden, um optimale Kosteneinsparungen und Kapazitätsverfügbarkeit zu erzielen.

Wenn Ihre Flotte Workloads ausführt, bei denen Unterbrechungen aufgrund von Neustarts von Aufgaben höhere Kosten verursachen, sollten Sie Checkpointing implementieren, damit die Anwendungen von dem Punkt aus neu gestartet werden können, an dem sie unterbrochen wurden. Durch die Verwendung von Checkpointing passen Sie die **Preis-Kapazitätsoptimierte** Zuweisungsstrategie an diese Workloads an, da sie Kapazität aus den Pools mit dem niedrigsten Preis zuweist, die auch eine niedrige Spot-Instance-Unterbrechungsrate bieten.

Ein Beispiel für JSON-Konfigurationen, die die **Preis-Kapazitätsoptimierte** Zuweisungsstrategie verwenden, finden Sie im Folgenden:
+ EC2-Flotte – [Beispiel 10: Spot-Instances in einer price-capacity-optimized Flotte starten](ec2-fleet-examples.md#ec2-fleet-config11)
+ Spot-Flotte – [Beispiel 11: Spot Instances in einer priceCapacityOptimized-Flotte starten](spot-fleet-examples.md#fleet-config11)

### Wenn Workloads mit hohen Unterbrechungskosten verbunden sind
<a name="ec2-fleet-strategy-capacity-optimized"></a>

Sie können die **kapazitätsoptimierte** Strategie optional verwenden, wenn Sie Workloads ausführen, die entweder Instance-Typen mit ähnlichen Preisen verwenden oder bei denen die Kosten einer Unterbrechung so hoch sind, dass jegliche Kostenersparnis im Vergleich zu einer geringfügigen Zunahme der Unterbrechungen nicht ausreicht. Bei dieser Strategie wird die Kapazität aus den am besten verfügbaren Spot-Kapazitätspools zugewiesen, die die Möglichkeit von weniger Unterbrechungen bieten, was die Gesamtkosten Ihres Workloads senken kann.

Wenn die Möglichkeit von Unterbrechungen minimiert werden muss, aber die Präferenz für bestimmte Instance-Typen wichtig ist, können Sie Ihre Pool-Prioritäten ausdrücken, indem Sie die **kapazitätsoptimiert-priorisierte** Zuweisungsstrategie verwenden und dann die Reihenfolge der zu verwendenden Instance-Typen von der höchsten zur niedrigsten Priorität festlegen.

Beachten Sie Folgendes: Wenn Sie Prioritäten auf **kapazitätsoptimiert-priorisiert** festlegen, werden die gleichen Prioritäten auch auf Ihre On-Demand-Instances angewendet, wenn die On-Demand-Zuweisungsstrategie auf **priorisiert** eingestellt ist. Beachten Sie, dass für Spot-Flotte die Verwendung von Prioritäten nur unterstützt wird, wenn Ihre Flotte eine Startvorlage verwendet.

Beispiele für JSON-Konfigurationen, die die **kapazitätsoptimierte** Zuweisungsstrategie verwenden, finden Sie im Folgenden:
+ EC2-Flotte – [Beispiel 8: Starten von Spot Instances in einer kapazitätsoptimierten Flotte](ec2-fleet-examples.md#ec2-fleet-config9)
+ Spot-Flotte – [Beispiel 9: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte](spot-fleet-examples.md#fleet-config9)

Beispiele für JSON-Konfigurationen, die die **kapazitätsoptimierte priorisierte** Zuweisungsstrategie verwenden, finden Sie im Folgenden:
+ EC2-Flotte – [Beispiel 9: Starten von Spot Instances in einer kapazitätsoptimierten Flotte mit Prioritäten](ec2-fleet-examples.md#ec2-fleet-config10)
+ Spot-Flotte – [Beispiel 10: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte mit Prioritäten](spot-fleet-examples.md#fleet-config10)

### Wenn Ihr Workload zeitlich flexibel ist und die Kapazitätsverfügbarkeit kein Faktor ist
<a name="ec2-fleet-strategy-time-flexible-workload"></a>

Wenn Ihre Flotte klein ist oder nur für einen kurzen Zeitraum ausgeführt wird, können Sie **Preis-Kapazitätsoptimiert** nutzen, um die Kosteneinsparungen zu maximieren und dabei die Kapazitätsverfügbarkeit zu berücksichtigen.

### Wenn Ihre Flotte groß ist oder lange läuft
<a name="ec2-fleet-strategy-large-workload-long-time"></a>

Wenn Ihre Flotte groß ist oder für einen langen Zeitraum ausgeführt wird, können Sie die Verfügbarkeit Ihrer Flotte verbessern, indem Sie die Spot Instances mit der Strategie **diversifiziert** über mehrere Pools verteilen. Wenn Ihre Spot-Flotten-Anforderung beispielsweise 10 Pools und eine Zielkapazität von 100 Instances angibt, startet die Flotte 10 Spot Instances in jedem Pool. Wenn der Spot-Preis für einen Pool Ihren Höchstpreis für diesen Pool übersteigt, sind nur 10 % Ihrer Flotte betroffen. Bei dieser Strategie reagiert Ihre Flotte außerdem weniger empfindlich auf Steigerungen des Spot-Preises für die verschiedenen Pools im Laufe der Zeit. Bei der **diversifizierten** Strategie setzt die Flotte keine Spot Instances in Pools mit einem Spot-Preis ein, der gleich oder höher ist als der On-Demand-Preis.[https://aws.amazon.com/ec2/pricing/](https://aws.amazon.com/ec2/pricing/)

## Zielkapazität für Spot Instances erhalten
<a name="ec2-fleet-maintain-fleet-capacity"></a>

Wenn Spot Instances aufgrund einer Änderung in Bezug auf den Spot-Preis oder die verfügbare Kapazität eines Spot-Kapazitätspools beendet werden, startet eine Flotte vom Typ `maintain` Ersatz-Spot-Instances. Die Zuweisungsstrategie bestimmt die Pools, von denen aus die Ersatz-Instances gestartet werden, wie folgt:
+ Wenn die Zuweisungsstrategie **Preis-Kapazitätsoptimiert** ist, startet die Flotte Ersatz-Instances in den Pools mit der größten Spot-Instance-Kapazitätsverfügbarkeit. Dabei wird auch der Preis berücksichtigt und die günstigsten Pools mit hoher Kapazitätsverfügbarkeit identifiziert.
+ Wenn die Zuweisungsstrategie **Kapazitätsoptimiert** ist, startet die Flotte Ersatz-Instances in den Pools mit der größten verfügbaren Spot Instance-Kapazität.
+ Wenn die Zuweisungsstrategie **Diversifiziert** lautet, verteilt die Flotte die Ersatz-Spot-Instances über die verbleibenden Pools.

## Priorisieren von Instance-Typen für On-Demand-Kapazität
<a name="ec2-fleet-on-demand-priority"></a>

Wenn dieEC2-Flotte oder Spot-Flotte versucht, Ihre On-Demand-Kapazität zu erfüllen, startet sie standardmäßig zuerst den kostengünstigsten Instance-Typ. Wenn die On-Demand-Zuweisungsstrategie auf **Priorisiert** eingestellt ist, verwendet die Flotte die Priorität, um zu bestimmen, welcher Instance-Typ bei der Erfüllung der On-Demand-Kapazität zuerst verwendet werden soll. Die Priorität wird der Startvorlagen-Überschreibung zugewiesen, und die höchste Priorität wird zuerst gestartet.

**Beispiel: Priorisieren von Instance-Typen**

In diesem Bespiel konfigurieren Sie drei Startvorlagen-Überschreibungen, jede mit einem anderen Instance-Typ.

Der On-Demand-Preis für die Instance-Typen variiert. Im Folgenden sind die in diesem Beispiel verwendeten Instance-Typen nach Preisen aufgeführt, beginnend mit dem günstigsten Instance-Typ:
+ `m4.large` – am günstigsten
+ `m5.large`
+ `m5a.large`

Wenn Sie die Reihenfolge nicht anhand der Priorität bestimmen, startet die Flotte zur Erfüllung der On-Demand-Kapazität mit dem günstigsten Instance-Typ.

Nehmen wir jedoch an, Sie hätten ungenutzte `m5.large` Reserved Instances, die Sie zuerst verwenden möchten. Sie können die Startvorlagen-Überschreibungspriorität so einstellen, dass die Instance-Typen wie folgt in der Reihenfolge ihrer Priorität verwendet werden:
+ `m5.large` – Priorität 1
+ `m4.large` – Priorität 2
+ `m5a.large` – Priorität 3

# Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen
<a name="ec2-fleet-capacity-rebalance"></a>

Mit Kapazitätsneuausgleich kann Ihre EC2-Flotte oder Spot-Flotte die gewünschte Spot-Kapazität aufrechterhalten, indem Spot Instances, bei denen das Risiko einer Unterbrechung besteht, proaktiv ersetzt werden. Wenn eine Spot-Instance ein erhöhtes Unterbrechungsrisiko hat, sendet Amazon EC2 eine [Neuausgleichsempfehlung](rebalance-recommendations.md). Wenn Kapazitätsneuausgleich aktiviert ist, löst die Empfehlung zur Neuverteilung den Start einer neuen Spot-Instance aus, bevor die gefährdete Instance unterbrochen wird.

Der Kapazitätsneuausgleich hilft Ihnen, die Verfügbarkeit von Workloads aufrechtzuerhalten, indem Sie Ihre Flotte proaktiv um eine neue Spot Instance erweitern, bevor eine ausgeführte Instance durch Amazon EC2 unterbrochen wird.

**EC2-Flotte konfigurieren, Kapazitätsneuausgleich zu verwenden, um eine Ersatz-Spot-Instance zu starten**  
Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) und die relevanten Parameter in der `MaintenanceStrategies`-Struktur. Eine JSON-Beispielkonfiguration finden Sie unter [Beispiel 7: Konfigurieren des Kapazitätsneuausgleichs, um Ersatz-Spot-Instances zu starten](ec2-fleet-examples.md#ec2-fleet-config8).

**Spot-Flotte so konfigurieren, dass der Kapazitätsneuausgleich zum Starten einer neuen Spot Instance verwendet wird**  
Sie können die Amazon EC2 EC2-Konsole oder die verwenden, um Capacity AWS CLI Rebalancing zu konfigurieren.

(Konsole) Aktivieren Sie bei der Erstellung der Spot-Flotte das Kontrollkästchen **Kapazitätsneuausgleich**. Weitere Informationen finden Sie in Schritt 6.d unter [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Verwenden Sie den [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)Befehl und die entsprechenden Parameter in der `SpotMaintenanceStrategies` Struktur. Eine JSON-Beispielkonfiguration finden Sie unter [Beispiel 8: Konfigurieren des Kapazitätsneuausgleichs, um den Ersatz Spot-Instances zu starten](spot-fleet-examples.md#fleet-config8).

**Topics**
+ [

## Einschränkungen
](#ec2-fleet-capacity-rebalance-limitations)
+ [

## Konfigurationsoptionen
](#ec2-fleet-capacity-rebalance-config-options)
+ [

## Überlegungen
](#ec2-fleet-capacity-rebalance-considerations)

## Einschränkungen
<a name="ec2-fleet-capacity-rebalance-limitations"></a>
+ Die Kapazitätsanpassung ist nur für Flotten des Typs `maintain` verfügbar.
+ Wenn die Flotte läuft, können Sie die Kapazitätsausgleichs-Einstellung nicht ändern. Um die Einstellung Kapazitätsausgleich zu ändern, müssen Sie die Flotte löschen und eine neue Flotte erstellen.

## Konfigurationsoptionen
<a name="ec2-fleet-capacity-rebalance-config-options"></a>

`ReplacementStrategy` für die EC2-Flotte und Spot-Flotte unterstützt die folgenden beiden Werte:

`launch-before-terminate`  
Amazon EC2 kann die Spot Instances beenden, die eine Neuausgleichsbenachrichtigung erhalten, nachdem neue Ersatz-Spot-Instances gestartet wurden. Wenn Sie `launch-before-terminate` angeben, müssen Sie auch einen Wert für `termination-delay` angeben. Nachdem die neuen Ersatz-Instances gestartet wurden, wartet Amazon EC2 während der Dauer des `termination-delay` und beendet dann die alten Instances. Für `termination-delay` beträgt das Minimum 120 Sekunden (2 Minuten) und das Maximum 7 200 Sekunden (2 Stunden).  
Wir empfehlen die Verwendung von `launch-before-terminate` nur, wenn Sie vorhersagen können, wie lange Ihre Verfahren zum Herunterfahren der Instances dauern werden. Dadurch wird sichergestellt, dass die alten Instances erst beendet werden, wenn die Verfahren zum Herunterfahren abgeschlossen sind. Beachten Sie, dass Amazon EC2 die alten Instances mit einer zweiminütigen Warnung vor der `termination-delay` unterbrechen kann.  
Wir raten dringend davon ab, die Zuweisungsstrategie `lowest-price` (EC2-Flotte) oder `lowestPrice` (Spot-Flotte) in Kombination mit `launch-before-terminate` zu verwenden, um zu vermeiden, dass Ersatz-Spot-Instances vorhanden sind, die ebenfalls ein erhöhtes Risiko einer Unterbrechung aufweisen.

`launch`  
Amazon EC2 startet Ersatz-Spot-Instances, wenn eine Neuausgleichsbenachrichtigung für bestehende Spot-Instances ausgegeben wird. Amazon EC2 beendet nicht die Instances, die eine Neuausgleichsbenachrichtigung erhalten. Sie können die alten Instances beenden oder laufen lassen. Ihnen werden alle Instances in Rechnung gestellt, während sie ausgeführt werden.

## Überlegungen
<a name="ec2-fleet-capacity-rebalance-considerations"></a>

Wenn Sie eine EC2-Flotte oder Spot-Flotte für Kapazitätsausgleich konfigurieren, sollten Sie Folgendes berücksichtigen:

**Stellen Sie so viele Spot-Kapazitätspools wie möglich in der Anfrage bereit**  
Konfigurieren Sie Ihre Flotte für die Verwendung mehrerer Instance-Typen und Availability Zones. Dies bietet die Flexibilität, Spot-Instances in verschiedenen Spot-Kapazitätspools zu starten. Weitere Informationen finden Sie unter [Flexibel sein bei Instance-Typen und Availability Zones](spot-best-practices.md#be-instance-type-flexible).

**Vermeiden Sie ein erhöhtes Risiko einer Unterbrechung von Ersatz-Spot-Instances**  
Um ein erhöhtes Unterbrechungsrisiko zu vermeiden, empfehlen wir die `capacity-optimized`- oder `capacity-optimized-prioritized`-Zuweisungsstrategie. Diese Strategien stellen sicher, dass Ersatz-Spot-Instances in den optimalen Spot-Kapazitätspools gestartet werden und ihre Unterbrechung in naher Zukunft daher weniger wahrscheinlich ist. Weitere Informationen finden Sie unter [Nutzen der preis- und kapazitätsoptimierten Zuweisungsstrategie](spot-best-practices.md#use-capacity-optimized-allocation-strategy).  
Ihre Ersatz-Spot-Instances haben möglicherweise ein erhöhtes Risiko einer Unterbrechung, wenn Sie die `lowest-price`-Zuweisungsstrategie verwenden. Dies liegt daran, dass Amazon EC2 immer Instances im preisgünstigsten Pool startet, der zu diesem Zeitpunkt verfügbare Kapazität hat, auch wenn Ihre Ersatz-Spot-Instances wahrscheinlich kurz nach dem Start unterbrochen werden.

**Amazon EC2 startet eine neue Instance nur dann, wenn die Verfügbarkeit gleich oder besser ist**  
Eines der Ziele des Kapazitätsausgleichs ist die Verbesserung der Verfügbarkeit einer Spot Instance. Wenn eine vorhandene Spot Instance eine Neuausgleichsempfehlung erhält, startet Amazon EC2 nur dann eine neue Instance, wenn die neue Instance dieselbe oder eine bessere Verfügbarkeit als die vorhandene Instance bietet. Wenn das Risiko einer Unterbrechung einer neuen Instance größer ist als das der vorhandenen Instance, startet Amazon EC2 keine neue Instance. Amazon EC2 wird die Spot-Kapazitätspools jedoch weiterhin bewerten und eine neue Instance starten, falls sich die Verfügbarkeit verbessert.  
Es besteht die Möglichkeit, dass Ihre vorhandene Instance unterbrochen wird, ohne dass Amazon EC2 pro-aktiv eine neue Instance startet. In diesem Fall versucht Amazon EC2, eine neue Instance zu starten, sobald die Unterbrechungsmeldung für eine Spot Instance eingeht, unabhängig davon, ob bei der neuen Instance ein hohes Unterbrechungsrisiko besteht.

**Capacity Rebalancing erhöht nicht die Unterbrechungsrate Ihrer Spot-Instance**  
Wenn Sie Capacity Rebalancing aktivieren, wird Ihre [Spot-Instance-Unterbrechungsrate](spot-interruptions.md) (die Anzahl der Spot-Instances, die zurückgefordert werden, wenn Amazon EC2 die Kapazität zurück benötigt) nicht erhöht. Wenn der Kapazitätsausgleich jedoch feststellt, dass bei einer Instance das Risiko einer Unterbrechung besteht, versucht Amazon EC2 sofort, eine neue Instance zu starten. Das Ergebnis ist, dass möglicherweise mehr Instances ersetzt werden, als wenn Sie darauf gewartet hätten, dass Amazon EC2 eine neue Instance startet, nachdem die gefährdete Instance unterbrochen wurde.  
Sie können zwar mehr Instances mit aktiviertem Capacity Rebalancing ersetzen, jedoch Sie profitieren davon, dass Sie eher proaktiv als reaktiv sind, indem Sie mehr Zeit haben, Maßnahmen zu ergreifen, bevor Ihre Instances unterbrochen werden. Mit einer [Spot-Instance-Unterbrechungsbenachrichtigung](spot-instance-termination-notices.md) haben Sie normalerweise nur bis zu zwei Minuten Zeit, um Ihre Instance ordnungsgemäß herunterzufahren. Wenn Capacity Rebalancing eine neue Instance im Voraus startet, geben Sie bestehenden Prozessen eine bessere Chance, sie auf Ihrer gefährdeten Instance abzuschließen. Sie können mit dem Herunterfahren Ihrer Instance beginnen und verhindern, dass neue Arbeiten für Ihre gefährdete Instance geplant werden. Sie können auch damit beginnen, die neu gestartete Instance für die Übernahme der Anwendung vorzubereiten. Mit dem proaktiven Ersetzen durch Capacity Rebalancing profitieren Sie von einer reibungslosen Kontinuität.  
Betrachten Sie als theoretisches Beispiel zur Demonstration der Risiken und Vorteile des Einsatzes von Capacity Rebalancing das folgende Szenario:  
+ 14:00 Uhr – Für Instance-A wird eine Empfehlung zum erneuten Ausgleich empfangen und Amazon EC2 versucht sofort, eine Ersatz-Instance-B zu starten, sodass Sie Zeit haben, Ihre Shutdown-Verfahren zu starten.\$1
+ 14:30 Uhr — Für Instance-B wird eine Empfehlung zum erneuten Ausgleich empfangen, die durch Instance-C ersetzt wird, sodass Sie Zeit haben, Ihre Shutdown-Verfahren zu starten.\$1
+ 14:32 Uhr — Wenn Capacity Rebalancing nicht aktiviert wäre und um 14:32 Uhr eine Benachrichtigung über eine Unterbrechung der Spot-Instance für Instance-A eingegangen wäre, hätten Sie nur bis zu zwei Minuten Zeit gehabt, um Maßnahmen zu ergreifen, währenddessen Instance-A allerdings bis zu diesem Zeitpunkt hochgefahren wäre.
\$1 Wenn `launch-before-terminate` angegeben ist, beendet Amazon EC2 die gefährdete Instance, nachdem die Ersatz-Instance online geschaltet wurde.

**Amazon EC2 kann einen neuen Ersatz Spot-Instances starten, bis die erfüllte Kapazität die doppelte Zielkapazität hat**  
Wenn eine Flotte für den Kapazitätsneuausgleich konfiguriert ist, versucht die Flotte, eine neue Ersatz-Spot-Instance für jede Spot-Instance zu starten, die eine Ausgleichsempfehlung erhält. Nachdem eine Spot-Instance eine Neuausgleichsempfehlung erhalten hat, wird sie nicht mehr als Teil der erfüllten Kapazität gezählt. Je nach Ersetzungsstrategie beendet Amazon EC2 die Instance entweder nach einer vorkonfigurierten Beendigungsverzögerung oder lässt sie laufen. Dies gibt Ihnen die Möglichkeit, [Neuausgleichsaktionen](rebalance-recommendations.md#rebalancing-actions) für die Instance durchzuführen.  
Wenn Ihre Flotte die doppelte Zielkapazität erreicht, wird sie keine neuen Ersatz-Instances mehr starten, selbst wenn die Ersatz-Instances selbst eine Empfehlung zum Neuausgleich erhalten.  
Angenommen, Sie erstellen Sie eine Spot-Flotte mit einer Zielkapazität von 100 Spot Instances. Alle Spot Instances erhalten eine Neuausgleichsempfehlung, die dazu führt, dass Amazon EC2 100 Ersatz-Spot-Instances startet. Dadurch wird die Anzahl der erfüllten Spot-Instances auf 200 erhöht, was der doppelten Zielkapazität entspricht. Einige der Ersatz-Instances erhalten eine Neuausgleichsempfehlung, es werden jedoch keine Ersatz-Instances mehr gestartet, da die Flotte die doppelte Zielkapazität nicht überschreiten kann.   
Beachten Sie, dass Ihnen alle Instances in Rechnung gestellt werden, während sie ausgeführt werden.

**Wir empfehlen Ihnen, die Flotte so zu konfigurieren, dass Spot Instances beendet werden, die eine Neuausgleichsempfehlung erhalten.**  
Wenn Sie Ihre Flotte für den Kapazitätsneuausgleich konfigurieren, empfehlen wir Ihnen, `launch-before-terminate` mit einer angemessenen Beendigungsverzögerung nur dann auszuwählen, wenn Sie vorhersagen können, wie lange die Verfahren zum Herunterfahren der Instances dauern werden. Dadurch wird sichergestellt, dass die alten Instances erst beendet werden, wenn die Verfahren zum Herunterfahren abgeschlossen sind.  
Wenn Sie die für die Neuausgleichsempfehlung empfohlenen Instances selbst beenden möchten, empfehlen wir Ihnen, das Signal für die Neuausgleichsempfehlung zu überwachen, das von den Spot-Instances in der Flotte empfangen wird. Durch die Überwachung des Signals können Sie schnell [Neuausgleichsaktionen](rebalance-recommendations.md#rebalancing-actions) für die betroffenen Instances durchführen, bevor Amazon EC2 sie unterbricht, und dann können Sie sie manuell beenden. Wenn Sie die Instances nicht beenden, bezahlen Sie weiterhin für sie, während sie ausgeführt werden. Amazon EC2 beendet die Instances, die eine Neuausgleichsempfehlung erhalten, nicht automatisch.  
Sie können Benachrichtigungen mithilfe von Amazon EventBridge - oder Instance-Metadaten einrichten. Weitere Informationen finden Sie unter [Überwachen von Signalen für Neuausgleichsempfehlungen](rebalance-recommendations.md#monitor-rebalance-recommendations).

**Die Flotte zählt keine Instances, die bei der Berechnung der erfüllten Kapazität bei einer Verringerung oder Vergrößerung eine Neuausgleichsempfehlung während der Skalierung erhalten**  
Wenn Ihre Flottett für den Kapazitätsneuausgleich konfiguriert ist und Sie die Zielkapazität so ändern, dass sie entweder abskaliert oder aufskaliert wird, zählt die Flotte die Instances nicht, die für den Ausgleich markiert sind, wie folgt:  
+ Abskalieren – Wenn Sie die gewünschte Zielkapazität verringern, beendet Amazon EC2 Instances, die nicht für eine Neuverteilung markiert sind, bis die gewünschte Kapazität erreicht ist. Die Instances, die für einen Neuausgleich markiert sind, werden nicht auf die erfüllte Kapazität angerechnet.

  Ein Beispiel: Angenommen, Sie erstellen eine Spot-Flotte mit einer Zielkapazität von 100 Spot Instances. 10 Instances erhalten eine Neuausgleichsempfehlung. Amazon EC2 startet also 10 neue Ersatz-Instances, was zu einer erfüllten Kapazität von 110 Instances führt. Sie reduzieren dann die Zielkapazität auf 50 (abskalieren), aber die erfüllte Kapazität beträgt tatsächlich 60 Instances, da die 10 Instances, die für einen Neuausgleich markiert sind, nicht von Amazon EC2 beendet werden. Sie müssen diese Instances manuell beenden oder Sie können sie laufen lassen.
+ Aufskalieren – Wenn Sie Ihre gewünschte Zielkapazität erhöhen, startet Amazon EC2 neue Instances, bis die gewünschte Kapazität erreicht ist. Die Instances, die für einen Neuausgleich markiert sind, werden nicht auf die erfüllte Kapazität angerechnet. 

  Ein Beispiel: Angenommen, Sie erstellen eine Spot-Flotte mit einer Zielkapazität von 100 Spot Instances. 10 Instances erhalten eine Neuausgleichsempfehlung. Die Flotte startet also 10 neue Ersatz-Instances, was zu einer erfüllten Kapazität von 110 Instances führt. Sie erhöhen dann die Zielkapazität auf 200 (Erweiterung), aber die erfüllte Kapazität beträgt tatsächlich 210 Instances, da die 10 Instances, die für einen Neuausgleich markiert sind, nicht von der Flotte als Teil der Zielkapazität gezählt werden. Sie müssen diese Instances manuell beenden, oder Sie können sie laufen lassen.

# Kapazitätsreservierungen verwenden, um On-Demand-Kapazitäten in der EC2-Flotte zu reservieren
<a name="ec2-fleet-on-demand-capacity-reservations"></a>

Mit On-Demand-Kapazitätsreservierungen können Sie Rechenkapazität für Ihre On-Demand-Instances in einer bestimmten Availability Zone für eine beliebige Dauer reservieren. Sie können eine EC2-Flotte so konfigurieren, dass sie die Kapazitätsreservierungen beim Starten von On-Demand-Instances zuerst verwendet.

Kapazitätsreservierungen auf Abruf sind nur für EC2-Flotten verfügbar, bei denen der Anfragetyp auf `instant` eingestellt ist.

Kapazitätsreservierungen werden entweder als `open` oder `targeted` konfiguriert. EC2-Flotte kann On-Demand-Instances entweder in `open`- oder `targeted`-Kapazitätsreservierungen wie folgt starten:
+ Wenn eine Kapazitätsreservierung `open` ist, werden On-Demand-Instances mit übereinstimmenden Attributen automatisch in der reservierten Kapazität ausgeführt.
+ Wenn die Kapazitätsreservierung `targeted` ist, müssen die On-Demand-Instances speziell für die Ausführung in der reservierten Kapazität ausgerichtet sein. Dies ist nützlich, um bestimmte Kapazitätsreservierungen zu verwenden oder um zu kontrollieren, wann bestimmte Kapazitätsreservierungen verwendet werden sollen. 

Wenn Sie `targeted`-Kapazitätsreservierungen in Ihrer EC2-Flotte verwenden, müssen genügend Kapazitätsreservierungen vorhanden sein, um die angeforderte On-Demand-Kapazität zu erfüllen, andernfalls schlägt der Start fehl. Um zu vermeiden, dass ein Start fehlschlägt, fügen Sie stattdessen die `targeted`-Kapazitätsreservierungen einer Ressourcengruppe hinzu, und richten Sie dann die Ressourcengruppe an. Die Ressourcengruppe muss nicht über ausreichende Kapazitätsreservierungen verfügen. Wenn die Kapazitätsreservierungen ausgehen, bevor die Ziel-On-Demand-Kapazität erfüllt ist, kann die Flotte die verbleibende Zielkapazität in reguläre On-Demand-Kapazität starten.

**So verwenden Sie Kapazitätsreservierungen mit EC2-Flotte**

1. Konfigurieren Sie die Flotte als Typ `instant`. Sie können Kapazitätsreservierungen für Flotten anderer Art nicht verwenden.

1. Konfigurieren Sie die Nutzungsstrategie für Kapazitätsreservierungen als `use-capacity-reservations-first`.

1. Wählen Sie in der Startvorlage für **Kapazitätsreservierung** entweder **Öffnen** oder **Ziel nach Gruppe** aus. Wenn Sie **Ziel nach Gruppe** wählen, geben Sie die Ressourcengruppen-ID für Kapazitätsreservierungen an.

Wenn die Flotte versucht, die On-Demand-Kapazität zu erfüllen, und wenn sie feststellt, dass mehrere Instance-Pools über ungenutzte übereinstimmende Kapazitätsreservierungen verfügen, bestimmt sie die Pools, in denen die On-Demand-Instances gestartet werden sollen, basierend auf der On-Demand-Zuordnungsstrategie (`lowest-price` oder `prioritized`).

**Zugehörige Ressourcen**
+ CLI-Beispiele für die Konfiguration einer Flotte für die Verwendung von Kapazitätsreservierungen zur Erfüllung von On-Demand-Kapazitäten finden Sie unter [Beispielhafte CLI-Konfigurationen für EC2-Flotte](ec2-fleet-examples.md), insbesondere Beispiele 5 bis 7.
+ Ein Tutorial, das Sie Schritt für Schritt durch die Erstellung von Kapazitätsreservierungen, deren Verwendung in Ihrer Flotte und die Anzeige der verbleibenden Kapazitätsreservierungen führt, finden Sie unter [Tutorial: EC2 Fleet so konfigurieren, dass On-Demand Instances mit gezielten Kapazitätsreservierungen gestartet werden](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md)
+ Informationen zur Konfiguration von Kapazitätsreservierungen finden Sie unter [Rechenkapazität mit EC2-On-Demand-Kapazitätsreservierungen reservieren](ec2-capacity-reservations.md) und unter [Kapazitätsreservierung auf Abruf FAQs](https://aws.amazon.com/ec2/faqs/#On-Demand_Capacity_Reservation).

# Mit EC2-Flotten arbeiten
<a name="manage-ec2-fleet"></a>

Um mit EC2-Flotte zu beginnen, erstellen Sie eine Anforderung mit der Gesamtzielkapazität, der On-Demand-Kapazität, der Spot-Kapazität und einer Startvorlage, welche die Konfiguration für die Instances in der Flotte angibt. Sie können optional zusätzliche Parameter angeben oder die Flotte Standardwerte verwenden lassen. Sie können die Flottenanforderung sowie ihre Instances und Volumes auch taggen, wenn Sie die Flotte erstellen.

Die Flotte startet On-Demand-Instances, wenn freie Kapazität vorhanden ist, und startet Spot Instances, wenn Ihr Höchstpreis den Spot-Preis übersteigt und Kapazität verfügbar ist.

Sobald Ihre Flotte gestartet ist, können Sie die Flottenanforderung, die Instances in der Flotte und alle Flottenereignisse beschreiben. Sie können bei Bedarf auch zusätzliche Tags zuweisen.

Wenn Sie Flottenparameter ändern müssen, z. B. die Gesamtzielkapazität, können Sie die Flotte ändern, vorausgesetzt, sie wurde so konfiguriert, dass sie die Kapazität beibehält. Sie können die Zielkapazität einer einmaligen Anfrage nach der Übermittlung nicht mehr ändern.

Eine Flottenanforderung bleibt solange aktiv, bis sie abläuft oder Sie sie löschen. Wenn Sie die Flottenanforderung löschen, können Sie die zugeordneten Instances beenden oder laufen lassen. Wenn Sie sich dafür entscheiden, sie laufen zu lassen, werden die On-Demand Instances ausgeführt, bis Sie sie beenden, und die Spot Instances laufen, bis sie unterbrochen werden oder Sie sie beenden.

**Topics**
+ [

# EC2-Flotte-Anforderungsstatus
](EC2-fleet-states.md)
+ [

# EC2-Flotte-Voraussetzungen
](ec2-fleet-prerequisites.md)
+ [

# Erstellen einer EC2-Flotte
](create-ec2-fleet.md)
+ [

# Neue oder vorhandene EC2-Flotte, sowie die Instances und Volumes, die sie startet markieren
](tag-ec2-fleet.md)
+ [

# Eine EC2-Flotte, ihre Instances und ihre Ereignisse beschreiben
](describe-ec2-fleet.md)
+ [

# Ändern einer EC2-Flotte
](modify-ec2-fleet.md)
+ [

# EC2-Flottenanforderung und die Instances in der Flotte löschen
](delete-fleet.md)

# EC2-Flotte-Anforderungsstatus
<a name="EC2-fleet-states"></a>

Eine EC2-Flotte-Anfrage kann einen von verschiedenen Status haben, wobei jeder Status eine andere Phase des Lebenszyklus der Anfrage und der Verwaltung der Instances angibt.

Eine EC2-Flotte-Anfrage kann die folgenden Zustände aufweisen:

`submitted`  
Die EC2-Flotte-Anforderung wird evaluiert und Amazon EC2 bereitet den Start der Zielanzahl von Instances vor. Wenn eine Anforderung Ihre Flottenlimits überschreiten würde, wird sie sofort gelöscht.

`active`  
Die EC2-Flotte-Anfrage wurde validiert und Amazon EC2 versucht, die Zielanzahl der laufenden Instances beizubehalten. Die Anforderung bleibt so lange in diesem Zustand, bis sie geändert oder gelöscht wird.

`modifying`  
Die EC2-Flotte-Anforderung wird geändert. Die Anforderung bleibt in diesem Zustand, bis die Änderung vollständig bearbeitet oder die Anforderung gelöscht wird. Nur ein `maintain`-Flottentyp kann geändert werden. Dieser Status gilt nicht für die anderen Anforderungstypen.

`deleted_running`  
Die EC2-Flotte-Anforderung wird gelöscht und startet keine weiteren Spot Instances. Die bestehenden Instances laufen weiter, bis sie unterbrochen oder manuell beendet werden. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances unterbrochen oder beendet wurden. Nur ein EC2-Flotte vom Typ `maintain` oder `request` kann laufende Instances haben, nachdem die EC2-Flotte-Anforderung gelöscht wurde. Eine gelöschte `instant`-Flotte mit laufenden Instances wird nicht unterstützt. Dieser Status gilt nicht für `instant`-Flotten.

`deleted_terminating`  
Die EC2-Flotte-Anforderung wird gelöscht und die zugehörigen Instances werden beendet. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances beendet wurden.

`deleted`  
Die EC2-Flotte-Anforderung wird gelöscht und hat keine laufenden Instances. Die Anforderung wird zwei Tage nach Beendigung der zugehörigen Instances gelöscht.

# EC2-Flotte-Voraussetzungen
<a name="ec2-fleet-prerequisites"></a>

**Topics**
+ [

## Startvorlage
](#ec2-fleet-prerequisites-launch-template)
+ [

## Serviceverknüpfte Rolle für EC2-Flotte
](#ec2-fleet-service-linked-role)
+ [

## Gewähren Sie Zugriff auf vom Kunden verwaltete Schlüssel zur Verwendung mit verschlüsselten AMIs und EBS-Snapshots
](#ec2-fleet-service-linked-roles-access-to-cmks)
+ [

## Berechtigungen für EC2-Flotten-Benutzer
](#ec2-fleet-iam-users)

## Startvorlage
<a name="ec2-fleet-prerequisites-launch-template"></a>

Eine Startvorlage gibt die Konfigurationsinformationen über die zu startenden Instances an, wie beispielsweise den Instance-Typ und die Availability Zone. Weitere Informationen über Startvorlagen finden Sie unter [Instance-Startparametern in Amazon-EC2-Startvorlagen speichern](ec2-launch-templates.md).

## Serviceverknüpfte Rolle für EC2-Flotte
<a name="ec2-fleet-service-linked-role"></a>

Die `AWSServiceRoleForEC2Fleet`-Rolle gewährt der EC2-Flotte die Berechtigung, in Ihrem Namen Instances anzufordern, zu launchen, zu beenden und zu markieren. Amazon EC2 verwendet diese serviceverknüpfte Rolle, um die folgenden Aktionen durchzuführen:
+ `ec2:RunInstances` – Instances starten.
+ `ec2:RequestSpotInstances` – Spot-Instances anfragen.
+ `ec2:TerminateInstances` – Instances beenden.
+ `ec2:DescribeImages`— Beschreiben Sie Amazon Machine Images (AMIs) für die Instances.
+ `ec2:DescribeInstanceStatus` – Beschreiben des Status der Instances.
+ `ec2:DescribeSubnets` – Beschreiben der Subnetze für Instances.
+ `ec2:CreateTags` – Tags (Markierungen) zu den EC2-Flotte, Instances und Volumes hinzufügen.

Stellen Sie sicher, dass diese Rolle vorhanden ist, bevor Sie die AWS CLI oder eine API verwenden, um eine EC2-Flotte zu erstellen.

**Anmerkung**  
Ein `instant` EC2-Flotte erfordert diese Rolle nicht.

Um die Rolle anzulegen, verwenden Sie die IAM-Konsole wie folgt.

**Um die AWSServiceRoleForEC2Fleet Rolle für die EC2-Flotte zu erstellen**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

1. Gehen Sie auf der Seite **Select trusted entity** (Vertrauenswürdige Entität auswählen) wie folgt vor:

   1. Wählen Sie unter **Vertrauenswürdiger Entitätstyp** die Option **AWS -Service** aus.

   1. Wählen Sie unter **Anwendungsfall** für **Service oder Anwendungsfall** die Option **EC2-Flotte** aus.
**Tipp**  
Achten Sie darauf, **EC2-Flotte** auszuwählen. Wenn Sie **EC2** wählen, wird der Anwendungsfall **EC2-Flotte** nicht in der Liste der **Anwendungsfälle** angezeigt. Der Anwendungsfall **EC2 — Fleet** erstellt automatisch eine Richtlinie mit den erforderlichen IAM-Berechtigungen und schlägt **AWSServiceRoleForEC2Fleet** als Rollennamen vor.

   1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **Add permissions** (Berechtigungen hinzufügen) die Option **Next** (Weiter) aus.

1. Wählen Sie auf der Seite **Benennen, Überprüfen und Erstellen** die Option **Rolle erstellen** aus.

**Wenn Sie EC2 Fleet nicht mehr verwenden müssen, empfehlen wir Ihnen, die Fleet-Rolle zu löschen. AWSService RoleFor EC2** Nachdem diese Rolle aus Ihrem Konto gelöscht wurde, können Sie die Rolle erneut anlegen, wenn Sie eine andere Flotte anlegen.

Weitere Informationen finden Sie unter [Serviceverknüpfte Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) im *IAM-Benutzerhandbuch*.

## Gewähren Sie Zugriff auf vom Kunden verwaltete Schlüssel zur Verwendung mit verschlüsselten AMIs und EBS-Snapshots
<a name="ec2-fleet-service-linked-roles-access-to-cmks"></a>

Wenn Sie in Ihrer EC2-Flotte ein [verschlüsseltes AMI](AMIEncryption.md) oder einen verschlüsselten Amazon EBS-Snapshot angeben und einen AWS KMS Schlüssel für die Verschlüsselung verwenden, müssen Sie der **AWSServiceRoleForEC2Flottenrolle** die Berechtigung zur Verwendung des vom Kunden verwalteten Schlüssels erteilen, damit Amazon EC2 Instances in Ihrem Namen starten kann. Dazu müssen Sie dem vom Kunden verwalteten Schlüssel eine Erteilung hinzufügen, wie im Folgenden gezeigt:

Bei der Einrichtung von Berechtigungen ist die Erteilung von Berechtigung eine Alternative zu Schüsselrichtlinien. Weitere Informationen finden Sie unter [Verwenden von Erteilungen](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) und [Verwenden von Schlüsselrichtlinien in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) im *Entwicklerhandbuch für AWS Key Management Service *.

**Um der AWSService RoleFor EC2 Flottenrolle Berechtigungen zur Verwendung des vom Kunden verwalteten Schlüssels zu erteilen**
+ Verwenden Sie den Befehl [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html), um dem vom Kunden verwalteten Schlüssel einen Grant hinzuzufügen und den Principal (die dienstbezogene **AWSServiceRoleForEC2Flottenrolle**) anzugeben, der die Berechtigung zur Ausführung der durch die Gewährung erlaubten Operationen erhält. Der vom Kunden verwaltete Schlüssel wird durch den `key-id`-Parameter und den ARN des vom Kunden verwalteten Schlüssels angegeben. Der Principal wird durch den `grantee-principal` Parameter und den ARN der mit dem **AWSServiceRoleForEC2Fleet-Service** verknüpften Rolle angegeben.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/AWSServiceRoleForEC2Fleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Berechtigungen für EC2-Flotten-Benutzer
<a name="ec2-fleet-iam-users"></a>

Wenn Ihre Benutzer eine EC2-Flotte erstellen oder verwalten, stellen Sie sicher, dass Sie ihnen die erforderlichen Berechtigungen gewähren.

**So erstellen Sie eine Richtlinie für EC2-Flotte**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Richtlinien**.

1. Wählen Sie **Richtlinie erstellen** aus.

1. Wählen Sie auf der Seite **Create policy** (Richtlinie erstellen) die Registerkarte **JSON**, ersetzen Sie den Text durch den im Folgenden gezeigten Text, und wählen Sie **Review policy** (Richtlinie überprüfen).

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:*"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                 "iam:ListRoles",
                 "iam:PassRole",
                 "iam:ListInstanceProfiles"
               ],
               "Resource":"arn:aws:iam::123456789012:role/DevTeam*"
           }
       ]
   }
   ```

------

   `ec2:*` erteilt einem Benutzer die Berechtigung, alle Amazon-EC2-API-Aktionen aufzurufen. Sie können die Berechtigung eines Benutzer auf bestimmte Amazon EC2-API-Aktionen beschränken, indem Sie diese Aktionen stattdessen explizit angeben.

   Der Benutzer muss über die Berechtigung verfügen, die folgenden Aktionen aufzurufen: `iam:ListRoles`, um vorhandene IAM-Rollen aufzulisten, `iam:PassRole`, um die Rolle für die EC2-Flotte anzugeben und `iam:ListInstanceProfiles`, um vorhandene Instance-Profile aufzulisten.

   (Optional) Um einem Benutzer das Erstellen von Rollen oder Instance-Profilen mithilfe der IAM-Konsole zu ermöglichen, müssen Sie der Richtlinie auch die folgenden Aktionen hinzufügen:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Geben Sie auf der Seite **Review policy (Richtlinie überprüfen)** einen Richtlinienamen und eine Beschreibung ein und wählen Sie anschließend **Create policy (Richtlinie erstellen)** aus.

1. Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
   + Benutzer und Gruppen in AWS IAM Identity Center:

     Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
   + Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

     Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
   + IAM-Benutzer:
     + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
     + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

# Erstellen einer EC2-Flotte
<a name="create-ec2-fleet"></a>

Um eine EC2-Flotte zu erstellen, definieren Sie die Flottenkonfiguration in einer JSON-Datei und verweisen Sie mit dem Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) auf die Datei. In der JSON-Datei müssen Sie die Gesamtzielkapazität für die Flotte angeben, separate Zielkapazitäten für Spot Instances und On-Demand-Instances sowie eine Startvorlage angeben, die Konfiguration für die Instances in der Flotte definiert, z. B. eine AMI, einen Instance-Typ, ein Subnetz oder eine Availability Zone, und eine oder mehrere Sicherheitsgruppen. Sie können optional zusätzliche Konfigurationen angeben, z. B. Parameter zum Überschreiben der Konfiguration der Startvorlage, Zuweisungsstrategien für die Auswahl von Spot Instances und On-Demand-Instances aus den EC2-Kapazitätspools und den Höchstbetrag, den Sie bereit sind, für die Flotte zu zahlen. Weitere Informationen finden Sie unter [Konfigurationsoptionen für Ihre EC2-Flotte oder Spot-Flotte](ec2-fleet-configuration-strategies.md).

Die EC2-Flotte startet On-Demand-Instances, wenn freie Kapazität vorhanden ist, und startet Spot Instances, wenn Ihr Höchstpreis den Spot-Preis übersteigt und Kapazität verfügbar ist.

Wenn Ihre Flotte Spot-Instances enthält und vom Typ `maintain` ist, versucht Amazon EC2, Ihre Flottenzielkapazität aufrechtzuerhalten, wenn Ihre Spot Instances unterbrochen werden.

## EC2-Flotte-Einschränkungen
<a name="EC2-fleet-limitations"></a>

Die folgenden Einschränkungen gelten für EC2-Flotte:
+ Das Erstellen einer EC2-Flotte ist nur über die [Amazon EC2 EC2-API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html), [AWS CLI[AWS SDKs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html#API_CreateFleet_SeeAlso)](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html), und verfügbar. [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)
+ Eine EC2-Flottenanfrage kann sich nicht über mehrere Regionen erstrecken. AWS Sie müssen für jede Region eine eigene EC2-Flotte anlegen.
+ Eine EC2-Flotte-Anfrage darf sich nicht über verschiedene Subnetze in derselben Availability Zone erstrecken.

## Erstellen einer EC2-Flotte
<a name="create-ec2-fleet-procedure"></a>

Um eine Flotte von Instances mit EC2-Flotte zu starten, müssen Sie in Ihrer Flottenanforderung nur die folgenden Parameter angeben, und die Flotte verwendet die Standardwerte für die anderen Parameter:
+ `LaunchTemplateId` oder – `LaunchTemplateName`Gibt die zu verwendende Startvorlage an (die die Parameter für die zu startenden Instances enthält, wie beispielsweise den Instance-Typ, die Availability Zone)
+ `TotalTargetCapacity` – Gibt die Gesamtzielkapazität für die Flotte an
+ `DefaultTargetCapacityType` – Gibt an, ob die Standardkaufoption On-Demand oder Spot ist

Um die in der Startvorlage angegebenen Parameter außer Kraft zu setzen, können Sie eine oder mehrere Überschreibungen angeben. Jede Überschreibung kann nach Instance-Typ, Availability Zone, Subnetz und Höchstpreis variieren und eine unterschiedliche gewichtete Kapazität beinhalten. Alternativ zur manuellen Angabe der Instance-Typen können Sie die Attribute angeben, die eine Instance haben muss, und Amazon EC2 identifiziert alle Instance-Typen mit diesen Attributen. Weitere Informationen finden Sie unter [Geben Sie Attribute für die Auswahl von Instance-Typen für EC2-Flotte oder Spot-Flotte an](ec2-fleet-attribute-based-instance-type-selection.md).

Für EC2-Flotten vom Typ `instant` können Sie einen Systems-Manager-Parameter anstelle der AMI-ID angeben. Sie können den Systems-Manager-Parameter in der Überschreibung oder in der Startvorlage angeben. Weitere Informationen finden Sie unter [Verwenden eines Systems-Manager-Parameters anstelle einer AMI-ID](create-launch-template.md#use-an-ssm-parameter-instead-of-an-ami-id).

Die Flottenparameter in einer JSON-Datei angeben. Informationen zu allen möglichen Parametern, die Sie angeben können, finden Sie unter [Alle EC2-Konfigurationsoptionen anzeigen](#ec2-fleet-cli-skeleton). 

Flottenkonfigurationsbeispiele finden Sie unter [Beispielhafte CLI-Konfigurationen für EC2-Flotte](ec2-fleet-examples.md).

Derzeit wird das Erstellen einer EC2-Flotte in der Konsole nicht unterstützt.

**Eine EC2-Flotte erstellen**  
Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html), um die Flotte zu erstellen, und geben Sie die JSON-Datei an, welche die Flottenkonfigurationsparameter enthält.

```
aws ec2 create-fleet --cli-input-json file://file_name.json
```

Es folgt eine Beispielausgabe für eine Flotte des Typs `request` oder `maintain`:

```
{
    "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE"
}
```

Es folgt eine Beispielausgabe für eine Flotte des Typs `instant`, die die Zielkapazität gestartet hat:

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [],
  "Instances": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef9" 
      ],
      "InstanceType": "c5.large",
      "Platform": null
    },
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-5678901234abcdef0",
        "i-5432109876abcdef9" 
      ]
  ]
}
```

Es folgt eine Beispielausgabe für eine Flotte des Typs `instant`, die die Zielkapazität teilweise mit Fehlern für Instances gestartet hat, die nicht gestartet wurden:

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.xlarge",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientInstanceCapacity",
      "ErrorMessage": ""
    },
  ],
  "Instances": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef9" 
      ]
  ]
}
```

Es folgt eine Beispielausgabe für eine Flotte des Typs `instant`, die keine Instances gestartet hat:

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.xlarge",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientCapacity",
      "ErrorMessage": ""
    },
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientCapacity",
      "ErrorMessage": ""
    },
  ],
  "Instances": []
}
```

## Erstellen einer EC2-Flotte, die nicht voll funktionsfähige Spot Instances ersetzt
<a name="ec2-fleet-health-checks"></a>

EC2-Flotte überprüft den Zustand der Instances in der Flotte alle zwei Minuten. Der Zustand einer Instance lautet entweder `healthy` oder `unhealthy`.

EC2-Flotte bestimmt den Zustand einer Instance mit den von Amazon EC2 bereitgestellten Zustandsprüfungen. Eine Instance wird als `unhealthy` bestimmt, wenn der Status der Instance-Statusprüfung oder der Systemstatusprüfung für drei aufeinanderfolgende Zustandsprüfungen `impaired` ist. Weitere Informationen finden Sie unter [Statusprüfungen für Amazon-EC2-Instances](monitoring-system-instance-status-check.md).

Sie können Ihre Flotte so konfigurieren, dass nicht voll funktionsfähige Spot-Instances ersetzt werden. Nach der Festlegung von `ReplaceUnhealthyInstances` auf `true` wird eine Spot Instance ersetzt, wenn sie als `unhealthy` gemeldet wird. Die Flotte kann die Zielkapazität einige Minuten lang unterschreiten, während eine nicht voll funktionsfähige Spot-Instance ersetzt wird.

**Voraussetzungen**
+ Die Ersetzung im Zuge von Zustandsprüfungen wird nur für EC2-Flotten unterstützt, die eine Zielkapazität (Flotten vom Typ `maintain`) beibehalten und nicht für Flotten vom Typ `request` oder `instant`.
+ Der Austausch von Zustandsprüfungen wird nur für Spot-Instances unterstützt. Diese Feature wird für On-Demand-Instances nicht unterstützt.
+ Sie können Ihre EC2-Flotte nur beim Erstellen so konfigurieren, dass nicht voll funktionsfähige Instances ersetzt werden.
+ Benutzer können die Ersetzung im Rahmen von Zustandsprüfungen nur verwenden, wenn sie über die Berechtigung zum Aufrufen der `ec2:DescribeInstanceStatus`-Aktion verfügen.

**So konfigurieren Sie ein EC2-Flotte, um nicht voll funktionsfähige Spot-Instances zu ersetzen**

1. Verwenden Sie die Informationen zum Erstellen einer EC2-Flotte in [Erstellen einer EC2-Flotte](#create-ec2-fleet-procedure).

1. Um die Flotte so zu konfigurieren, dass sie nicht voll funktionsfähige Spot Instances ersetzt, geben Sie in der JSON-Datei für `ReplaceUnhealthyInstances` `true` an. 

## Alle EC2-Konfigurationsoptionen anzeigen
<a name="ec2-fleet-cli-skeleton"></a>

Um die vollständige Liste der EC2-Flottenkonfigurationsparameter anzuzeigen, können Sie eine JSON-Datei erzeugen. Eine Beschreibung jedes Parameters finden Sie unter [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Eine JSON-Datei mit allen verfügbaren EC2-Flotte-Parametern erzeugen**  
Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) (AWS CLI) und den `--generate-cli-skeleton`-Parameter, um eine EC2-Flotten-JSON-Datei zu erzeugen und die Ausgabe zum Speichern in eine Datei umzuleiten.

```
aws ec2 create-fleet \
    --generate-cli-skeleton input > ec2createfleet.json
```

Es folgt eine Beispielausgabe.

```
{
    "DryRun": true,
    "ClientToken": "",
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized",
        "MaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch"
            }
        },
        "InstanceInterruptionBehavior": "hibernate",
        "InstancePoolsToUseCount": 0,
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 0,
        "MaxTotalPrice": ""
    },
    "OnDemandOptions": {
        "AllocationStrategy": "prioritized",
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        },
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 0,
        "MaxTotalPrice": ""
    },
    "ExcessCapacityTerminationPolicy": "termination",
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "",
                "LaunchTemplateName": "",
                "Version": ""
            },
            "Overrides": [
                {
                    "InstanceType": "r5.metal",
                    "MaxPrice": "",
                    "SubnetId": "",
                    "AvailabilityZone": "",
                    "WeightedCapacity": 0.0,
                    "Priority": 0.0,
                    "Placement": {
                        "AvailabilityZone": "",
                        "Affinity": "",
                        "GroupName": "",
                        "PartitionNumber": 0,
                        "HostId": "",
                        "Tenancy": "dedicated",
                        "SpreadDomain": "",
                        "HostResourceGroupArn": ""
                    },
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "MemoryMiB": {
                            "Min": 0,
                            "Max": 0
                        },
                        "CpuManufacturers": [
                            "amd"
                        ],
                        "MemoryGiBPerVCpu": {
                            "Min": 0.0,
                            "Max": 0.0
                        },
                        "ExcludedInstanceTypes": [
                            ""
                        ],
                        "InstanceGenerations": [
                            "previous"
                        ],
                        "SpotMaxPricePercentageOverLowestPrice": 0,
                        "OnDemandMaxPricePercentageOverLowestPrice": 0,
                        "BareMetal": "included",
                        "BurstablePerformance": "required",
                        "RequireHibernateSupport": true,
                        "NetworkInterfaceCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "LocalStorage": "excluded",
                        "LocalStorageTypes": [
                            "ssd"
                        ],
                        "TotalLocalStorageGB": {
                            "Min": 0.0,
                            "Max": 0.0
                        },
                        "BaselineEbsBandwidthMbps": {
                            "Min": 0,
                            "Max": 0
                        },
                        "AcceleratorTypes": [
                            "inference"
                        ],
                        "AcceleratorCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "AcceleratorManufacturers": [
                            "amd"
                        ],
                        "AcceleratorNames": [
                            "a100"
                        ],
                        "AcceleratorTotalMemoryMiB": {
                            "Min": 0,
                            "Max": 0
                        }
                    }
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 0,
        "OnDemandTargetCapacity": 0,
        "SpotTargetCapacity": 0,
        "DefaultTargetCapacityType": "on-demand",
        "TargetCapacityUnitType": "memory-mib"
    },
    "TerminateInstancesWithExpiration": true,
    "Type": "instant",
    "ValidFrom": "1970-01-01T00:00:00",
    "ValidUntil": "1970-01-01T00:00:00",
    "ReplaceUnhealthyInstances": true,
    "TagSpecifications": [
        {
            "ResourceType": "fleet",
            "Tags": [
                {
                    "Key": "",
                    "Value": ""
                }
            ]
        }
    ],
    "Context": ""
}
```

# Neue oder vorhandene EC2-Flotte, sowie die Instances und Volumes, die sie startet markieren
<a name="tag-ec2-fleet"></a>

Um die Kategorisierung und Verwaltung Ihrer EC2-Flotten-Anforderungen und den Instances und Volumes, die sie startet, zu vereinfachen, können Sie sie mit benutzerdefinierten Metadaten markieren. Sie können einer EC2-Flotte-Anforderung beim Erstellen oder danach ein Tags (Markierungen) zuweisen. Ebenso können Sie den Instances und Volumes ein Tag zuweisen, wenn sie von der Flotte gestartet werden oder später.

Wenn Sie eine Flottenanforderung markieren, werden die Instances und Volumes, die von der Flotte gestartet werden, nicht automatisch markiert. Sie müssen die von der Flotte gestarteten Instances und Volumes explizit markieren. Sie können festlegen, dass Tags nur der Flottenanforderung, nur den Instances, die von der Flotte gestartet werden oder nur den Volumes zugewiesen werden, die den Instances zugeordnet sind, die von der Flotte gestartet wurden oder allen von ihnen.

**Anmerkung**  
Bei `instant`-Flottentypen können Sie Volumes markieren, die an On-Demand-Instances und Spot-Instances angehängt sind. Bei `request`- oder `maintain`-Flottentypen können Sie nur Volumes markieren, die an On-Demand-Instances angehängt sind.

Weitere Informationen zur Funktionsweise von Tags (Markierungen) finden Sie unter [Markieren Ihrer Amazon-EC2-Ressourcen mit Tags (Markierungen)](Using_Tags.md).

**Voraussetzung**

Gewähren Sie dem Benutzer die Berechtigung zum Markieren von Ressourcen. Weitere Informationen finden Sie unter [Beispiel: Markieren von Ressourcen](ExamplePolicies_EC2.md#iam-example-taggingresources).

**So gewähren Sie einem Benutzer die Berechtigung zum Markieren von Ressourcen**  
Erstellen Sie eine IAM-Richtlinie, die Folgendes beinhaltet:
+ Die Aktion `ec2:CreateTags`. Dadurch erhält der Benutzer die Berechtigung zum Erstellen von Tags.
+ Die Aktion `ec2:CreateFleet`. Dadurch wird dem Benutzer die Berechtigung zum Erstellen einer EC2-Flotten-Anfrage gewährt.
+ Für `Resource` wird empfohlen, dass Sie `"*"` angeben. Dadurch können Benutzer alle Ressourcentypen markieren.

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in AWS IAM Identity Center:

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

**So markieren Sie eine neue EC2-Flotte-Anforderung**  
Um eine EC2-Flotte-Anforderungen beim Erstellen zu markieren, geben Sie das Schlüssel-Wert-Paar in der [JSON-Datei](create-ec2-fleet.md#ec2-fleet-cli-skeleton) an, mit der die Flotte erstellt wird. Der Wert für `ResourceType` muss `fleet` sein. Wenn Sie einen anderen Wert angeben, schlägt die Flottenanforderung fehl.

**So markieren Sie Instances und Volumes, die durch eine EC2-Flotte gestartet werden**  
Um Instances und Volumes mit Tags zu markieren, wenn sie durch die Flotte gestartet werden, geben Sie die Tags in der [Startvorlage](create-launch-template.md) an, auf die in der EC2-Flotte-Anforderung verwiesen wird.

**Anmerkung**  
Sie können keine an Spot-Instances angehängt Volumes markieren, die von einem `request`- oder `maintain`-Flottentyp gestartet werden.

**Eine vorhandene EC2-Flotten-Anforderung, Instance oder Volume markieren**  
Verwenden Sie den Befehl [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html), um vorhandene Ressourcen zu markieren.

```
aws ec2 create-tags \
    --resources fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE i-1234567890abcdef0 vol-1234567890EXAMPLE \
    --tags Key=purpose,Value=test
```

# Eine EC2-Flotte, ihre Instances und ihre Ereignisse beschreiben
<a name="describe-ec2-fleet"></a>

Sie können Ihre EC2-Flottenkonfiguration, die Instances in Ihrer EC2-Flotte und den Ereignisverlauf Ihrer EC2-Flotte beschreiben.

**Topics**
+ [

## Beschreiben der EC2-Flotte
](#describe-all-ec2-fleets)
+ [

## Alle Instances in Ihrer EC2-Flotte beschreiben
](#describe-instances-in-ec2-fleet)
+ [

## Eventhistorie für Ihre EC2-Flotte beschreiben
](#describe-ec2-fleet-event-history)

## Beschreiben der EC2-Flotte
<a name="describe-all-ec2-fleets"></a>

------
#### [ AWS CLI ]

**So beschreiben Sie Ihre EC2-Flotte**  
Verwenden Sie den Befehl [describe-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleets.html).

```
aws ec2 describe-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Es folgt eine Beispielausgabe.

```
{
    "Fleets": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2022-02-09T03:35:52+00:00",
            "FleetId": "fleet-364457cd-3a7a-4ed9-83d0-7b63e51bb1b7",
            "FleetState": "active",
            "ExcessCapacityTerminationPolicy": "termination",
            "FulfilledCapacity": 2.0,
            "FulfilledOnDemandCapacity": 0.0,
            "LaunchTemplateConfigs": [
                {
                    "LaunchTemplateSpecification": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "$Latest"
                    }
                }
            ],
            "TargetCapacitySpecification": {
                "TotalTargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "SpotTargetCapacity": 2,
                "DefaultTargetCapacityType": "spot"
            },
            "TerminateInstancesWithExpiration": false,
            "Type": "maintain",
            "ReplaceUnhealthyInstances": false,
            "SpotOptions": {
                "AllocationStrategy": "capacity-optimized",
                "InstanceInterruptionBehavior": "terminate"
            },
            "OnDemandOptions": {
                "AllocationStrategy": "lowestPrice"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**So beschreiben Sie Ihre EC2-Flotte**  
Verwenden Sie das cmdlet [Get-EC2FleetList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetList.html).

```
Get-EC2FleetList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Alle Instances in Ihrer EC2-Flotte beschreiben
<a name="describe-instances-in-ec2-fleet"></a>

Die zurückgegebene Liste der laufenden Instances wird regelmäßig aktualisiert und kann veraltet sein.

------
#### [ AWS CLI ]

**So beschreiben Sie die Instances für die angegebene EC2-Flotte**  
Verwenden Sie den Befehl [describe-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-instances.html).

```
aws ec2 describe-fleet-instances \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Es folgt eine Beispielausgabe.

```
{
    "ActiveInstances": [
        {
            "InstanceId": "i-09cd595998cb3765e", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-86k84j6p"
        }, 
        {
            "InstanceId": "i-09cf95167ca219f17", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-dvxi7fsm"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
}
```

------
#### [ PowerShell ]

**So beschreiben Sie die Instances für die angegebene EC2-Flotte**  
Verwenden Sie das cmdlet [Get-EC2FleetInstanceList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetInstanceList.html).

```
Get-EC2FleetInstanceList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Eventhistorie für Ihre EC2-Flotte beschreiben
<a name="describe-ec2-fleet-event-history"></a>

Weitere Informationen über die Ereignisse im Ereignisverlauf finden Sie unter [EC2-Flotte-Ereignistypen](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-event-types).

------
#### [ AWS CLI ]

**So beschreiben Sie die Ereignisse für die angegebene EC2-Flotte**  
Verwenden Sie den Befehl [describe-fleet-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-history.html).

```
aws ec2 describe-fleet-history \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2020-06-01T00:00:00Z
```

Es folgt eine Beispielausgabe.

```
{
    "HistoryRecords": [
        {
            "EventInformation": {
                "EventSubType": "submitted"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:05.000Z"
        },
        {
            "EventInformation": {
                "EventSubType": "active"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:15.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "t2.small, ami-07c8bc5c1ce9598c3, ...",
                "EventSubType": "progress"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-083a1c446e66085d2"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-090db02406cc3c2d6"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
    "LastEvaluatedTime": "1970-01-01T00:00:00.000Z", 
    "StartTime": "2020-06-01T00:00:00.000Z"
}
```

------
#### [ PowerShell ]

**So beschreiben Sie die Ereignisse für die angegebene EC2-Flotte**  
Verwenden Sie das cmdlet [Get-EC2FleetHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetHistory.html).

```
Get-EC2FleetHistory `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE `
    -UtcStartTime 2020-06-01T00:00:00Z
```

------

# Ändern einer EC2-Flotte
<a name="modify-ec2-fleet"></a>

Sie können die Gesamtzielkapazität, die Spot-Kapazität und die On-Demand-Kapazität einer EC2-Flotte ändern. Sie können auch festlegen, ob laufende Instances beendet werden sollen, wenn die neue Gesamtzielkapazität unter die aktuelle Größe der Flotte fällt.

## Überlegungen
<a name="modify-ec2-fleet-considerations"></a>

Beachten Sie Folgendes, wenn Sie eine EC2-Flotte ändern:
+ **Flottentyp** – Sie können nur ein EC2-Flotte des Typs `maintain` ändern. Sie können eine EC2-Flotte des Typs `request` oder `instant` nicht ändern.
+ **Flottenparameter** – Sie können die folgenden Parameter einer EC2-Flotte ändern:
  + `target-capacity-specification` – Zielkapazität erhöhen oder verringern für:
    + `TotalTargetCapacity`
    + `OnDemandTargetCapacity`
    + `SpotTargetCapacity`
  + `excess-capacity-termination-policy` – Ob laufende Instances beendet werden sollen, wenn die Gesamtzielkapazität der EC2-Flotte unter die aktuelle Flottengröße gesenkt wird. Folgende sind gültige Werte:
    + `no-termination`
    + `termination`
+ **Flottenverhalten bei der Erhöhung der Gesamtzielkapazität** – Wenn Sie die Gesamtzielkapazität erhöhen, startet die EC2-Flotte die zusätzlichen Instances entsprechend der Instance-Kaufoption, die als `DefaultTargetCapacityType` angegeben wurde, welche entweder On-Demand-Instances oder Spot Instances sind, und der angegebenen [Zuweisungsstrategie](ec2-fleet-allocation-strategy.md) entsprechen.
+ **Flottenverhalten bei der Verringerung der Gesamtzielkapazität** – Wenn Sie die Zielkapazität verringern, löscht die EC2-Flotte alle offenen Anfragen, die die neue Zielkapazität überschreiten. Sie können anfordern, dass die Spot-Flotte Spot Instances beendet, bis die Größe der Flotte die neue Zielkapazität erreicht. Wenn eine EC2-Flotte eine Spot-Instance aufgrund einer Verringerung der Zielkapazität beendet, erhält die Instance eine Benachrichtigung über die Unterbrechung einer Spot-Instance.

  Instances werden auf der Grundlage der Zuweisungsstrategie für die Beendigung ausgewählt:
  + `capacity-optimized` – Beendet Instances aus Pools mit der geringsten verfügbaren Kapazität.
  + `price-capacity-optimized` – Verwendet eine Kombination aus Preis und verfügbarer Kapazität: beendet Instances aus Pools mit der geringsten verfügbaren Kapazität und dem höchsten Preis unter diesen Pools.
  + `diversified` – Beendet Instances über alle Pools hinweg.
  + `lowest-price` – Beendet Instances aus Pools mit dem höchsten Preis.

  Alternativ können Sie anfordern, dass die EC2-Flotte ihre aktuelle Größe beibehält, dabei jedoch keine Spot Instances ersetzt, die unterbrochen werden oder die Sie manuell beenden.
+ **Flottenstatus** – Sie können eine EC2-Flotte ändern, die sich im Zustand `submitted` oder `active` befindet. Wenn Sie eine Flotte ändern, wird sie in den `modifying`-Zustand versetzt.

## Befehle zum Ändern einer EC2-Flotte
<a name="modify-ec2-fleet-commands"></a>

------
#### [ AWS CLI ]

**Die Gesamtzielkapazität einer EC2-Flotte ändern**  
Verwenden Sie den Befehl [modify-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-fleet.html).

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=20
```

Wenn Sie die Zielkapazität verringern, die aktuelle Größe der Flotte jedoch beibehalten möchten, können Sie das vorherige Bespiel wie folgt ändern:

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=10 \
    --excess-capacity-termination-policy no-termination
```

------
#### [ PowerShell ]

**Die Gesamtzielkapazität einer EC2-Flotte ändern**  
Verwenden Sie das cmdlet [Edit-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Fleet.html).

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20
```

Wenn Sie die Zielkapazität verringern, die aktuelle Größe der Flotte jedoch beibehalten möchten, können Sie das vorherige Bespiel wie folgt ändern:

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# EC2-Flottenanforderung und die Instances in der Flotte löschen
<a name="delete-fleet"></a>

Wenn Sie eine EC2-Flottenanforderung nicht mehr benötigen, können Sie sie löschen. Nachdem Sie eine Flottenanforderung gelöscht haben, werden alle der Flotte zugeordneten Spot-Anfragen abgebrochen, sodass keine neuen Spot Instances gestartet werden.

Wenn Sie eine EC2-Flottenanforderung löschen, müssen Sie auch angeben, ob Sie alle ihre Instances beenden möchten. Dazu gehören sowohl On-Demand-Instances als auch Spot-Instances. Bei `instant`-Flotten muss EC2 Fleet die Instances beenden, wenn die Flotte gelöscht wird. Eine gelöschte `instant`-Flotte mit laufenden Instances wird nicht unterstützt.

**Warnung**  
**Das Beenden einer Instance ist dauerhaft und irreversibel.**  
Nachdem Sie eine Instance beendet haben, können Sie keine Verbindung mehr zu ihr herstellen und sie kann nicht wiederhergestellt werden. Alle angehängten Amazon-EBS-Volumes, die so konfiguriert sind, dass sie beim Beenden gelöscht werden, werden ebenfalls dauerhaft gelöscht und können nicht wiederhergestellt werden. Alle auf den Instance-Speicher-Volumes gespeicherten Daten gehen dauerhaft verloren. Weitere Informationen finden Sie unter [Wie die Kündigung von Instances funktioniert](how-ec2-instance-termination-works.md).  
Bevor Sie eine Instance beenden, stellen Sie sicher, dass Sie alle Daten, die Sie nach der Beendigung behalten müssen, im persistenten Speicher gesichert haben.

Wenn Sie festlegen, dass die Instances beendet werden müssen, wenn die Flottenanforderung abgebrochen wird, wechselt die Flottenanforderung in den `deleted_terminating`-Status. Andernfalls befindet sie sich im `deleted_running`-Zustand und die Instances werden weiter ausgeführt, bis sie unterbrochen oder von Ihnen manuell beendet werden.

**Einschränkungen**
+ Sie können bis zu 25 Flotten vom Typ `instant` in einem einzigen Vorgang löschen.
+ Sie können bis zu 100 Flotten vom Typ `maintain` oder `request` in einem Vorgang löschen.
+ Sie können bis zu 125 Flotten in einem einzigen Vorgang löschen, sofern Sie das oben angegebene Kontingent für jeden Flottentyp nicht überschreiten.
+ Wenn Sie die angegebene Anzahl an zu löschenden Flotten überschreiten, werden keine Flotten gelöscht.
+ Eine gelöschte `instant`-Flotte mit laufenden Instances wird nicht unterstützt. Wenn Sie eine `instant`-Flotte löschen, beendet Amazon EC2 automatisch alle zugehörigen Instances. Bei `instant`-Flotten mit mehr als 1 000 Instances schlägt die Löschanforderung möglicherweise fehl. Wenn Ihre Flotte über mehr als 1 000 Instances verfügt, beenden Sie die meisten Instances zunächst manuell, sodass 1 000 oder weniger übrig bleiben. Löschen Sie dann die Flotte, und die verbleibenden Instances werden automatisch beendet.

------
#### [ AWS CLI ]

**So löschen Sie eine EC2-Flottenanforderung und beenden die zugehörigen Instances**  
Verwenden Sie den Befehl [delete-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-fleets.html) mit der Option `--terminate-instances`.

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Es folgt eine Beispielausgabe.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_terminating", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
        }
    ]
}
```

**So löschen Sie eine EC2-Flottenanforderung, ohne die zugehörigen Instances zu beenden**  
Ändern Sie das vorherige Beispiel, indem Sie stattdessen die Option `--no-terminate-instances` verwenden. Beachten Sie, dass `--no-terminate-instances` für `instant`-Flotten nicht unterstützt wird.

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Es folgt eine Beispielausgabe.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_running", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-4b8aaae8-dfb5-436d-a4c6-3dafa4c6b7dcEXAMPLE"
        }
    ]
}
```

------
#### [ PowerShell ]

**So löschen Sie eine EC2-Flottenanforderung und beenden die zugehörigen Instances**  
Verwenden Sie das [Remove-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Fleet.html)Cmdlet mit dem `-TerminateInstance` Parameter.

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**So löschen Sie eine EC2-Flottenanforderung, ohne die zugehörigen Instances zu beenden**  
Ändern Sie das vorherige Beispiel, indem Sie den Wert des Parameters `-TerminateInstance` ändern.

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

## Beheben von Fehlern, wenn eine Flotte nicht gelöscht werden kann
<a name="troubleshoot-delete-fleet"></a>

Wenn eine EC2-Flottenanforderung nicht gelöscht werden kann, gibt `UnsuccessfulFleetDeletions` in der Ausgabe die ID der EC2-Flotten-Anforderung, einen Fehlercode und eine Fehlermeldung zurück.

Die Fehlercodes sind:
+ `ExceededInstantFleetNumForDeletion`
+ `fleetIdDoesNotExist`
+ `fleetIdMalformed`
+ `fleetNotInDeletableState`
+ `NoTerminateInstancesNotSupported`
+ `UnauthorizedOperation`
+ `unexpectedError`

**Fehlerbehebung bei `ExceededInstantFleetNumForDeletion`**  
Wenn Sie versuchen, mehr als 25 `instant`-Flotten in einer einzigen Anfrage zu löschen, wird der `ExceededInstantFleetNumForDeletion`-Fehler zurückgegeben. Es folgt eine Beispielausgabe für diesen Fehler.

```
{
    "UnsuccessfulFleetDeletions": [
     {
          "FleetId": " fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
          "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
           }
     },
     {
           "FleetId": "fleet-9a941b23-0286-5bf4-2430-03a029a07e31",
           "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
            }
     }
     .
     .
     .
     ],
     "SuccessfulFleetDeletions": []
}
```

**Fehlerbehebung bei `NoTerminateInstancesNotSupported`**  
Wenn Sie angeben, dass die Instances in einer `instant`-Flotte beim Löschen der Flotte nicht beendet werden dürfen, wird der `NoTerminateInstancesNotSupported`-Fehler zurückgegeben. `--no-terminate-instances` wird nicht für `instant`-Flotten unterstützt. Es folgt eine Beispielausgabe für diesen Fehler.

```
{
      "UnsuccessfulFleetDeletions": [
            {
                  "FleetId": "fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
                  "Error": {
                          "Message": "NoTerminateInstances option is not supported for instant fleet",
                          "Code": "NoTerminateInstancesNotSupported"
                   }
            }
       ],
       "SuccessfulFleetDeletions": []
}
```

**Fehlerbehebung bei `UnauthorizedOperation`**  
Wenn Sie keine Berechtigung zum Beenden von Instances haben, erhalten Sie den `UnauthorizedOperation`-Fehler beim Löschen einer Flotte, die ihre Instances beenden muss. Das Folgende ist die Fehlerantwort.

```
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this 
operation. Encoded authorization failure message: VvuncIxj7Z_CPGNYXWqnuFV-YjByeAU66Q9752NtQ-I3-qnDLWs6JLFd
KnSMMiq5s6cGqjjPtEDpsnGHzzyHasFHOaRYJpaDVravoW25azn6KNkUQQlFwhJyujt2dtNCdduJfrqcFYAjlEiRMkfDHt7N63SKlweKUl
BHturzDK6A560Y2nDSUiMmAB1y9UNtqaZJ9SNe5sNxKMqZaqKtjRbk02RZu5V2vn9VMk6fm2aMVHbY9JhLvGypLcMUjtJ76H9ytg2zRlje
VPiU5v2s-UgZ7h0p2yth6ysUdhlONg6dBYu8_y_HtEI54invCj4CoK0qawqzMNe6rcmCQHvtCxtXsbkgyaEbcwmrm2m01-EMhekLFZeJLr
DtYOpYcEl4_nWFX1wtQDCnNNCmxnJZAoJvb3VMDYpDTsxjQv1PxODZuqWHs23YXWVywzgnLtHeRf2o4lUhGBw17mXsS07k7XAfdPMP_brO
PT9vrHtQiILor5VVTsjSPWg7edj__1rsnXhwPSu8gI48ZLRGrPQqFq0RmKO_QIE8N8s6NWzCK4yoX-9gDcheurOGpkprPIC9YPGMLK9tug
</Message></Error></Errors><RequestID>89b1215c-7814-40ae-a8db-41761f43f2b0</RequestID></Response>
```

Um den Fehler zu beheben, müssen Sie die `ec2:TerminateInstances`-Aktion der IAM-Richtlinie hinzufügen, wie im folgenden Beispiel gezeigt.

# Mit Spot-Flotten arbeiten
<a name="work-with-spot-fleets"></a>

Zum Verwenden einer Spot-Flotte erstellen Sie eine Anforderung mit der Gesamtzielkapazität für Spot Instances, einem optionalen On-Demand-Anteil, und geben Sie entweder manuell ein AMI und ein Schlüsselpaar an oder geben Sie eine Startvorlage an, die die Konfiguration für die Instances in der Flotte enthält. Sie können optional zusätzliche Parameter angeben oder die Flotte Standardwerte verwenden lassen. Sie können die Flottenanforderung sowie ihre Instances und Volumes auch taggen, wenn Sie die Flotte erstellen.

Die Flotte startet On-Demand-Instances, wenn freie Kapazität vorhanden ist, und startet Spot Instances, wenn Ihr Höchstpreis den Spot-Preis übersteigt und Kapazität verfügbar ist.

Sobald Ihre Flotte gestartet ist, können Sie die Flottenanforderung, die Instances in der Flotte und alle Flottenereignisse beschreiben. Sie können bei Bedarf auch zusätzliche Tags zuweisen.

Wenn Sie Flottenparameter ändern müssen, z. B. die Gesamtzielkapazität, können Sie die Flotte ändern, vorausgesetzt, sie wurde so konfiguriert, dass sie die Kapazität beibehält. Sie können die Zielkapazität einer einmaligen Anfrage nach der Übermittlung nicht mehr ändern.

Eine Flotten-Anforderung bleibt solange aktiv, bis sie abläuft oder Sie sie verwerfen (löschen). Wenn Sie die Flottenanforderung stornieren, können Sie die Instances entweder beenden oder diese laufen lassen. Wenn Sie sich dafür entscheiden, sie laufen zu lassen, werden die On-Demand Instances ausgeführt, bis Sie sie beenden, und die Spot Instances laufen, bis sie unterbrochen werden oder Sie sie beenden.

**Topics**
+ [

# Status von Spot-Flotten-Anforderungen
](spot-fleet-states.md)
+ [

# Spot-Flotten-Berechtigungen
](spot-fleet-prerequisites.md)
+ [

# Erstellen einer Spot-Flotte
](create-spot-fleet.md)
+ [

# Eine neue Spot-Flotte sowie die Instances und Volumes, die sie startet, markieren
](tag-spot-fleet.md)
+ [

# Eine Spot-Flottenanforderung, ihre Instances und den Ereignisverlauf beschreiben
](manage-spot-fleet.md)
+ [

# Ändern einer Spot-Flotten-Anforderung
](modify-spot-fleet.md)
+ [

# Spot-Flotten-Anforderung abbrechen (löschen)
](cancel-spot-fleet.md)
+ [

# Automatische Skalierung für Spot-Flotten verstehen
](spot-fleet-automatic-scaling.md)

# Status von Spot-Flotten-Anforderungen
<a name="spot-fleet-states"></a>

Eine Spot-Flotte-Anfrage kann einen von verschiedenen Status haben, wobei jeder Status auf eine andere Phase des Lebenszyklus der Anfrage und der Verwaltung der Instances hinweist.

Eine Spot-Flotten-Anforderung einen der folgenden Status aufweisen:

`submitted`  
Die Spot-Flotten-Anforderung wird evaluiert und Amazon EC2 bereitet den Start der gewünschten Anzahl an Instances vor. Wenn eine Anforderung Ihre Spot-Flottenlimits überschreiten würde, wird sie sofort abgebrochen.

`active`  
Die Spot-Flotte wurde validiert und Amazon EC2 versucht, die gewünschte Anzahl an ausgeführten Spot Instances aufrechtzuerhalten. Die Anforderung bleibt so lange in diesem Zustand, bis sie geändert oder abgebrochen wird.

`modifying`  
Die Spot-Flotten-Anforderung wird geändert. Die Anforderung bleibt in diesem Zustand, bis die Änderung vollständig bearbeitet oder die Anforderung abgebrochen wird. Nur ein `maintain`-Flottentyp kann geändert werden. Dieser Status gilt nicht für einen einmaligen `request`-Flottentyp.

`cancelled_running`  
Die Spot-Flotte wird abgebrochen (gelöscht) und startet keine weiteren Spot Instances. Die bestehenden Instances laufen weiter, bis sie unterbrochen oder manuell beendet werden. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances unterbrochen oder beendet wurden.

`cancelled_terminating`  
Die Spot-Flotten-Anforderung ist abgebrochen (gelöscht) und die zugehörigen Instances sind beendet. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances beendet wurden.

`cancelled`  
Die Spot-Flotten-Anforderung ist abgebrochen (gelöscht) und hat keine ausgeführten Instances. Die Anforderung wird zwei Tage nach Beendigung der zugehörigen Instances gelöscht.

# Spot-Flotten-Berechtigungen
<a name="spot-fleet-prerequisites"></a>

Wenn Ihre Benutzer eine Spot-Flotte erstellen oder verwalten sollen, müssen Sie diesen die erforderlichen Berechtigungen gewähren.

Wenn Sie die Amazon EC2-Konsole zum Erstellen einer Spot-Flotte verwenden, erstellt sie zwei serviceverknüpfte Rollen namens `AWSServiceRoleForEC2SpotFleet` und `AWSServiceRoleForEC2Spot` und eine Rolle namens `aws-ec2-spot-fleet-tagging-role`, die der Spot-Flotte die Berechtigungen zum Anfordern, Launchen, Beenden und Markieren von Ressourcen in Ihrem Namen erteilen. Wenn Sie die AWS CLI oder eine API verwenden, müssen Sie sicherstellen, dass diese Rollen existieren.

Verwenden Sie die folgenden Anweisungen, um die erforderlichen Berechtigungen zu erteilen und die Rollen zu erstellen.

**Topics**
+ [

## Benutzern die Berechtigung für Spot-Flotte gewähren
](#spot-fleet-iam-users)
+ [

## Serviceverknüpfte Rolle für Spot-Flotte
](#service-linked-roles-spot-fleet-requests)
+ [

## Serviceverknüpfte Rolle für Spot-Instances
](#service-linked-roles-spot-instances)
+ [

## IAM-Rolle zum Markieren einer Spot-Flotte
](#spot-fleet-service-linked-role)

## Benutzern die Berechtigung für Spot-Flotte gewähren
<a name="spot-fleet-iam-users"></a>

Wenn Ihre Benutzer eine Spot-Flotte erstellen oder verwalten, stellen Sie sicher, dass Sie ihnen die erforderlichen Berechtigungen gewähren.

**So erstellen Sie eine Richtlinie für Spot-Flotte**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Policies** und **Create policy** aus.

1. Wählen Sie auf der Seite **Richtlinie erstellen** die Option **JSON** aus und ersetzen Sie den Text durch Folgendes.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:RunInstances",
                   "ec2:CreateTags",
                   "ec2:RequestSpotFleet",
                   "ec2:ModifySpotFleetRequest",
                   "ec2:CancelSpotFleetRequests",
                   "ec2:DescribeSpotFleetRequests",
                   "ec2:DescribeSpotFleetInstances",
                   "ec2:DescribeSpotFleetRequestHistory"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:CreateServiceLinkedRole",
                   "iam:ListRoles",
                   "iam:ListInstanceProfiles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   Die vorangehende Beispielrichtlinie gewährt einem Benutzer die Berechtigungen, die für die meisten Spot-Flotten-Anwendungsfälle erforderlich sind. Um den Benutzer auf bestimmte API-Aktionen zu beschränken, geben Sie stattdessen nur diese API-Aktionen an.

   **EC2 und IAM erforderlich APIs**

   Folgendes APIs muss in der Richtlinie enthalten sein:
   + `ec2:RunInstances` – erforderlich zum Launchen von Instances in einer Spot-Flotte
   + `ec2:CreateTags` – erforderlich zum Markieren der Spot-Flotten-Anforderung, der Instances oder der Volumes
   + `iam:PassRole` – erforderlich, um die Spot-Flotten-Rolle anzugeben
   + `iam:CreateServiceLinkedRole` – erforderlich zum Erstellen der serviceverknüpften Rolle
   + `iam:ListRoles` – erforderlich zum Aufzählen vorhandener IAM-Rollen
   + `iam:ListInstanceProfiles` – erforderlich zum Aufzählen vorhandener Instance-Profile
**Wichtig**  
Wenn Sie in der Startspezifikation oder Startvorlage eine Rolle für das IAM-Instance-Profil angeben, müssen Sie dem Benutzer die Berechtigung gewähren, die Rolle an den Service zu übergeben. Schließen Sie hierzu in der IAM-Richtlinie `"arn:aws:iam::*:role/IamInstanceProfile-role"` als Ressource für die Aktion `iam:PassRole` ein. Weitere Informationen finden Sie im [*IAM-Benutzerhandbuch* unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS Dienst](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

   **Spot-Flotte APIs**

   Fügen Sie Ihrer Richtlinie bei Bedarf die folgenden Spot Fleet API-Aktionen hinzu:
   + `ec2:RequestSpotFleet`
   + `ec2:ModifySpotFleetRequest`
   + `ec2:CancelSpotFleetRequests`
   + `ec2:DescribeSpotFleetRequests`
   + `ec2:DescribeSpotFleetInstances`
   + `ec2:DescribeSpotFleetRequestHistory`

   **Optionales IAM APIs**

   (Optional) Um einem Benutzer das Erstellen von Rollen oder Instance-Profilen mithilfe der IAM-Konsole zu ermöglichen, müssen Sie der Richtlinie die folgenden Aktionen hinzufügen:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Wählen Sie **Review policy (Richtlinie prüfen)** aus.

1. Geben Sie auf der Seite **Review policy (Richtlinie überprüfen)** einen Richtlinienamen und eine Beschreibung ein und wählen Sie anschließend **Create policy (Richtlinie erstellen)** aus.

1. Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
   + Benutzer und Gruppen in AWS IAM Identity Center:

     Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
   + Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

     Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
   + IAM-Benutzer:
     + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
     + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

## Serviceverknüpfte Rolle für Spot-Flotte
<a name="service-linked-roles-spot-fleet-requests"></a>

Amazon EC2 nutzt serviceverknüpfte Rollen für die Berechtigungen, die für den Aufruf anderer AWS -Services in Ihrem Namen benötigt werden. Eine dienstverknüpfte Rolle ist ein einzigartiger Typ von IAM-Rolle, die direkt mit einem AWS Dienst verknüpft ist. Mit Diensten verknüpfte Rollen bieten eine sichere Möglichkeit, Berechtigungen an AWS Dienste zu delegieren, da nur der verknüpfte Dienst eine dienstbezogene Rolle übernehmen kann. Weitere Informationen finden Sie unter [Serviceverknüpfte Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) im *IAM-Benutzerhandbuch*.

Amazon EC2 verwendet die angegebene serviceverknüpfte Rolle **AWSServiceRoleForEC2SpotFleet**, um Instances in Ihrem Namen zu starten und zu verwalten.

**Wichtig**  
Wenn Sie in Ihrer Spot-Flotte ein verschlüsseltes [AMI](AMIEncryption.md) oder einen verschlüsselten Amazon EBS-Snapshot angeben, müssen Sie der **AWSServiceRoleForEC2SpotFleet**Rolle die Berechtigung zur Verwendung des CMK erteilen, damit Amazon EC2 Instances in Ihrem Namen starten kann. Weitere Informationen finden Sie unter [Gewähren Sie Zugriff auf CMKs zur Verwendung mit verschlüsselten Snapshots AMIs und EBS-Snapshots](#spot-fleet-service-linked-roles-access-to-cmks).

### Berechtigungen erteilt von AWSService RoleFor EC2 SpotFleet
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2SpotFleet"></a>

Die **AWSServiceRoleForEC2SpotFleet**Rolle gewährt der Spot-Flotte die Berechtigung, Instances in Ihrem Namen anzufordern, zu starten, zu beenden und zu taggen. Amazon EC2 verwendet diese serviceverknüpfte Rolle, um die folgenden Aktionen durchzuführen:
+ `ec2:RequestSpotInstances` - Spot-Instances-Anforderung
+ `ec2:RunInstances` – Starten von Instances
+ `ec2:TerminateInstances` – Beenden von Instances
+ `ec2:DescribeImages`- Beschreiben Sie Amazon Machine Images (AMIs) für die Instanzen
+ `ec2:DescribeInstanceStatus` – Beschreiben des Status der Instances
+ `ec2:DescribeSubnets` – Beschreiben der Subnetze für die Instances
+ `ec2:CreateTags` – Hinzufügen von Tags zur Spot-Flotten-Anforderung, zu Instances und zu Volumes
+ `elasticloadbalancing:RegisterInstancesWithLoadBalancer` – Hinzufügen der angegebenen Instances zum angegebenen Load Balancer
+ `elasticloadbalancing:RegisterTargets` – Registrieren der die angegebenen Ziele bei der angegebenen Zielgruppe

### Erstellen der serviceverknüpften Rolle
<a name="service-linked-role-creating-for-spot-fleet"></a>

Größtenteils müssen Sie die serviceverknüpfte Rolle nicht manuell erstellen. Amazon EC2 erstellt die **AWSServiceRoleForEC2SpotFleet**serviceverknüpfte Rolle, wenn Sie zum ersten Mal eine Spot-Flotte mithilfe der Konsole erstellen. 

Wenn Sie vor Oktober 2017, als Amazon EC2 begann, diese servicebezogene Rolle zu unterstützen, eine aktive Spot-Flotte-Anfrage hatten, hat Amazon EC2 die **AWSServiceRoleForEC2SpotFleet**Rolle in Ihrem Konto erstellt. AWS Weitere Informationen finden Sie unter [Eine neue Rolle wurde in meinem AWS Konto](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared) angezeigt im *IAM-Benutzerhandbuch*.

Wenn Sie die AWS CLI oder eine API verwenden, um eine Spot-Flotte zu erstellen, müssen Sie zunächst sicherstellen, dass diese Rolle existiert.

**Um die AWSService RoleFor EC2 SpotFleet Rolle für Spot-Flotte mithilfe der Konsole zu erstellen**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

1. Gehen Sie auf der Seite **Select trusted entity** (Vertrauenswürdige Entität auswählen) wie folgt vor:

   1. Wählen Sie unter **Vertrauenswürdiger Entitätstyp** die Option **AWS -Service** aus.

   1. Wählen Sie unter **Anwendungsfall** für **Service oder Anwendungsfall** **EC2**.

   1. Wählen Sie für **Anwendungsfall** **EC2-Spot-Flotte** aus.
**Anmerkung**  
Im Anwendungsfall **EC2 — Spot Fleet** wird automatisch eine Richtlinie mit den erforderlichen IAM-Berechtigungen erstellt und **AWSEC2SpotFleetServiceRolePolicy**als Rollennamen vorgeschlagen.

   1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **Add permissions** (Berechtigungen hinzufügen) die Option **Next** (Weiter) aus.

1. Wählen Sie auf der Seite **Benennen, Überprüfen und Erstellen** die Option **Rolle erstellen** aus.

**Um die AWSService RoleFor EC2 SpotFleet Rolle für Spot Fleet mit dem zu erstellen AWS CLI**  
Verwenden Sie den [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html)-Befehl wie folgt:

```
aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com
```

Wenn Sie Spot Fleet nicht mehr verwenden müssen, empfehlen wir Ihnen, die **AWSServiceRoleForEC2SpotFleet**Rolle zu löschen. Nachdem diese Rolle in Ihrem Konto gelöscht wurde, erstellt Amazon EC2 die Rolle erneut, wenn Sie eine Spot-Flotte über die Konsole anfordern. Weitere Informationen finden Sie unter [Löschen einer serviceverknüpften Rolle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr) im *IAM-Benutzerhandbuch*.

### Gewähren Sie Zugriff auf CMKs zur Verwendung mit verschlüsselten Snapshots AMIs und EBS-Snapshots
<a name="spot-fleet-service-linked-roles-access-to-cmks"></a>

Wenn Sie in Ihrer Spot-Flottenanfrage ein verschlüsseltes [AMI](AMIEncryption.md) oder einen verschlüsselten Amazon EBS-Snapshot angeben und einen vom Kunden verwalteten Schlüssel für die Verschlüsselung verwenden, müssen Sie der **AWSServiceRoleForEC2SpotFleet**Rolle die Berechtigung zur Verwendung des CMK erteilen, damit Amazon EC2 Instances in Ihrem Namen starten kann. Dazu müssen Sie eine Erteilung zum CMK hinzufügen, wie im Folgenden gezeigt:

Bei der Einrichtung von Berechtigungen ist die Erteilung von Berechtigung eine Alternative zu Schüsselrichtlinien. Weitere Informationen finden Sie unter [Verwenden von Erteilungen](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) und [Verwenden von Schlüsselrichtlinien in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) im *Developer-Handbuch für AWS Key Management Service *.

**Um der AWSService RoleFor EC2 SpotFleet Rolle Berechtigungen zur Verwendung des CMK zu erteilen**
+ Verwenden Sie den Befehl [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html), um dem CMK einen Grant hinzuzufügen und den Principal (die mit dem **AWSServiceRoleForEC2SpotFleet**Service verknüpfte Rolle) anzugeben, dem die Berechtigung erteilt wird, die mit dem Grant erlaubten Operationen auszuführen. Der CMK wird durch den Parameter `key-id` und den ARN des CMK spezifiziert. Der Principal wird durch den `grantee-principal` Parameter und den ARN der **AWSServiceRoleForEC2SpotFleet**dienstverknüpften Rolle angegeben.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spotfleet.amazonaws.com/AWSServiceRoleForEC2SpotFleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Serviceverknüpfte Rolle für Spot-Instances
<a name="service-linked-roles-spot-instances"></a>

Amazon EC2 verwendet die serviceverknüpfte Rolle namens **AWSServiceRoleForEC2Spot, um Spot-Instances** in Ihrem Namen zu starten und zu verwalten. Weitere Informationen finden Sie unter [Serviceverknüpfte Rolle für Spot-Instance-Anforderungen](service-linked-roles-spot-instance-requests.md).

## IAM-Rolle zum Markieren einer Spot-Flotte
<a name="spot-fleet-service-linked-role"></a>

Die IAM-Rolle `aws-ec2-spot-fleet-tagging-role` gewährt der Spot-Flotte die Berechtigung, die Spot-Flotten-Anforderung, -Instances und -Volumes zu markieren. Weitere Informationen finden Sie unter [Eine neue Spot-Flotte sowie die Instances und Volumes, die sie startet, markieren](tag-spot-fleet.md).

**Wichtig**  
Wenn Sie sich dafür entscheiden, Instances in der Flotte zu markieren und gleichzeitig die Zielkapazität beizubehalten (die Spot-Flotten-Anfrage ist vom Typ `maintain`), können die Unterschiede in den Berechtigungen, die für den Benutzer und die `IamFleetRole` festgelegt sind, zu einem inkonsistenten Tag-Verhalten der Instances in der Flotte führen. Wenn `IamFleetRole` die `CreateTags`-Berechtigung nicht enthält, werden einige der von der Flotte gestarteten Instances möglicherweise nicht markiert. Während wir daran arbeiten, diese Inkonsistenz zu beheben, um sicherzustellen, dass alle Instances, die von der Flotte gestartet werden, markiert sind, empfehlen wir, die `aws-ec2-spot-fleet-tagging-role`-Rolle für die `IamFleetRole` zu verwenden. Um eine bestehende Rolle zu verwenden, können Sie alternativ die `AmazonEC2SpotFleetTaggingRole` AWS verwaltete Richtlinie an die bestehende Rolle anhängen. Andernfalls müssen Sie die `CreateTags`-Berechtigung manuell zu Ihrer vorhandenen Richtlinie hinzufügen.

**So erstellen Sie die IAM-Rolle zum Markieren einer Spot-Flotte:**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Rollen** aus.

1. Wählen Sie **Create role** (Rolle erstellen) aus.

1. Wählen Sie auf der Seite **Select trusted entity** (Auswahl der vertrauenswürdigen Entität) unter **Trusted entity type** (Auswahl der vertrauenswürdigen Entität) die Option **AWS service** (-Service) aus.

1. Unter **Use case** (Anwendungsfall) wählen Sie ausgehend von **Use cases for other AWS services** (Anwendungsfälle für andere -Services) die Option **EC2** und danach **EC2 - Spot Fleet Tagging** (EC2 – Spot-Flotten-Markierung) aus.

1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **Add permissions** (Berechtigungen hinzufügen) die Option **Next** (Weiter) aus.

1. Geben Sie auf der Seite **Name, review, and create** (Benennen, überprüfen und erstellen) für **Role name** (Rollenname) einen Namen für die Rolle ein (z. B. **aws-ec2-spot-fleet-tagging-role**).

1. Überprüfen Sie die Informationen auf der Seite, und wählen Sie dann **Create role** (Rolle erstellen) aus.

### Serviceübergreifende Confused-Deputy-Prävention
<a name="cross-service-confused-deputy-prevention"></a>

Das [Confused-Deputy-Problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) ist ein Sicherheitsproblem, bei dem eine Entität, die nicht über die Berechtigung zum Ausführen einer Aktion verfügt, eine Entität mit größeren Rechten zwingen kann, die Aktion auszuführen. Wir empfehlen, dass Sie die globalen Bedingungskontext-Schlüssel [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) und [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) in der `aws-ec2-spot-fleet-tagging-role`-Vertrauensrichtlinie verwenden, um die Berechtigungen, welche die Spot-Flotte einem anderen Service erteilt, auf die Ressource zu beschränken.

**Um die SourceAccount Bedingungsschlüssel aws: SourceArn und aws: zur `aws-ec2-spot-fleet-tagging-role` Vertrauensrichtlinie hinzuzufügen**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

1. Wählen Sie im Navigationsbereich **Rollen**.

1. Suchen Sie die `aws-ec2-spot-fleet-tagging-role`, die Sie zuvor erstellt haben, und wählen Sie den Link (nicht das Kontrollkästchen) aus.

1. Wählen Sie unter **Summary** (Zusammenfassung) die Registerkarte **Trust Relationships** (Vertrauensstellungen) und dann **Edit trust policy** (Vertrauensrichtlinie bearbeiten) aus.

1. Fügen Sie in der JSON-Anweisung ein `Condition`-Element hinzu, das Ihre globalen `aws:SourceAccount`- und `aws:SourceArn`-Bedingungskontextschlüssel zur Verhinderung des [Confused-Deputy-Problems](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) folgendermaßen festlegt:

   ```
   "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
   ```
**Anmerkung**  
Wenn der `aws:SourceArn`-Wert die Konto-ID enthält und Sie beide globalen Bedingungskontextschlüssel verwenden, müssen der `aws:SourceAccount`-Wert und das Konto im `aws:SourceArn`-Wert dieselbe Konto-ID verwenden, wenn sie in der gleichen Richtlinienanweisung verwendet wird.

   Die endgültige Vertrauensrichtlinie wird folgendermaßen aussehen:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Sid": "ConfusedDeputyPreventionExamplePolicy",
       "Effect": "Allow",
       "Principal": {
         "Service": "spotfleet.amazonaws.com"
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
       }
     }
   }
   ```

------

1. Wählen Sie **Richtlinie aktualisieren**.

Die folgende Tabelle enthält potenzielle Werte für `aws:SourceArn`, um den Umfang Ihrer `aws-ec2-spot-fleet-tagging-role` in unterschiedlichem Grad an Spezifität einzuschränken.


****  

| API-Operation | Aufgerufener Service | Scope | `aws:SourceArn` | 
| --- | --- | --- | --- | 
| RequestSpotFleet | AWS STS (AssumeRole) | Beschränken Sie die AssumeRole Funktion aws-ec2-spot-fleet-tagging-role spot-fleet-requests auf das angegebene Konto. | arn:aws:ec2:\$1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Beschränkt die AssumeRole Funktion aws-ec2-spot-fleet-tagging-role spot-fleet-requests auf das angegebene Konto und die angegebene Region. Beachten Sie, dass diese Rolle in anderen Regionen nicht verwendbar ist. | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Begrenzen Sie die AssumeRole-Funktion in aws-ec2-spot-fleet-tagging-role nur auf Maßnahmen, welche die Flotte sfr-11111111-1111-1111-1111-111111111111 betreffen. Beachten Sie, dass diese Rolle möglicherweise nicht für andere Spot-Flotten verwendbar ist. Außerdem kann diese Rolle nicht verwendet werden, um neue Spot-Flotten zu starten. request-spot-fleet | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-11111111-1111-1111-1111-111111111111 | 

# Erstellen einer Spot-Flotte
<a name="create-spot-fleet"></a>

Mit dem AWS-Managementkonsole können Sie schnell eine Spot-Flotte-Anfrage erstellen, indem Sie nur ein AMI und Ihre gewünschte Gesamtzielkapazität auswählen. Amazon EC2 wird eine Flotte konfigurieren, die Ihren Bedürfnissen am besten entspricht und den bewährten Methoden für Spot folgt. Andernfalls können Sie jede der Standardeinstellungen ändern.

Wenn Sie On-Demand-Instances in Ihre Flotte aufnehmen möchten, müssen Sie in Ihrer Anfrage eine Startvorlage angeben und die gewünschte On-Demand-Kapazität angeben.

Die Flotte startet On-Demand-Instances, wenn freie Kapazität vorhanden ist, und Spot Instances, wenn Ihr Höchstpreis den Spot-Preis übersteigt und Kapazität verfügbar ist.

Wenn Ihre Flotte Spot Instances enthält und vom Typ `maintain` ist, versucht Amazon EC2, Ihre Flottenzielkapazität aufrechtzuerhalten, wenn Ihre Spot Instances unterbrochen werden.

**Erforderliche Berechtigungen**  
Weitere Informationen finden Sie unter [Spot-Flotten-Berechtigungen](spot-fleet-prerequisites.md).

**Topics**
+ [

## Schnelle Erstellung einer Spot-Flottenanforderung
](#create-spot-fleet-quick)
+ [

## Eine Spot-Flottenanforderung mit definierten Parametern erstellen
](#create-spot-fleet-advanced)
+ [

## Eine Spot-Flotte erstellen, die fehlerhafte Spot Instances ersetzt
](#spot-fleet-health-checks)

## Schnelle Erstellung einer Spot-Flottenanforderung
<a name="create-spot-fleet-quick"></a>

Führen Sie diese Schritte aus, um schnell eine Spot-Flottenanforderung mit der Amazon-EC2-Konsole zu erstellen.

**So erstellen Sie eine Spot-Flottenanforderung mit den empfohlenen Einstellungen**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wenn Sie noch keine Erfahrung mit Spot haben, wird eine Willkommensseite angezeigt. Wählen Sie **Get started** aus. Wählen Sie andernfalls **Spot-Flottenanforderung erstellen**.

1. Wählen Sie unter **Startparameter** die Option **Startparameter manuell konfigurieren** aus.

1. Wählen Sie für **AMI** ein AMI aus.

1. Geben Sie unter **Zielkapazität** für **Gesamtzielkapazität** die Anzahl der anzufordernden Einheiten an. Als Einheitentyp können Sie **Instances**CPUs, **v** oder **Memory (GiB)** wählen.

1. Überprüfen Sie für **Ihre Flottenanforderung auf einen Blick** Ihre Flottenkonfiguration und wählen Sie **Start** aus.

## Eine Spot-Flottenanforderung mit definierten Parametern erstellen
<a name="create-spot-fleet-advanced"></a>

Sie können eine Spot-Flotte mit von Ihnen definierten Parametern erstellen.

------
#### [ Console ]

**So erstellen Sie eine Spot-Flottenanforderung mit definierten Parametern**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wenn Sie noch keine Erfahrung mit Spot haben, wird eine Willkommensseite angezeigt. Wählen Sie **Get started** aus. Wählen Sie andernfalls **Spot-Flottenanforderung erstellen**.

1. Für **Startparameter** können Sie die Startparameter entweder manuell konfigurieren oder eine Startvorlage verwenden, und zwar wie folgt:

   1. [Manuell konfigurieren] Um die Startparameter in der Amazon-EC2-Konsole zu definieren, wählen Sie **Startparameter manuell konfigurieren** und gehen dann wie folgt vor:

      1. Wählen Sie für **AMI** eines der von AMIs bereitgestellten Standardoptionen aus AWS, oder wählen Sie **Search for AMI**, um ein AMI aus unserer Benutzergemeinschaft AWS Marketplace, das oder eines Ihrer eigenen zu verwenden.
**Anmerkung**  
Wenn ein in den Startparametern angegebenes AMI abgemeldet oder deaktiviert ist, können keine neuen Instances über das AMI gestartet werden. Bei Flotten, die darauf eingestellt sind, die Zielkapazität beizubehalten, wird die Zielkapazität nicht beibehalten.

      1. (Optional) Wählen Sie für **Key pair name (Schlüsselpaarname=** ein bestehendes Schlüsselpaar aus oder erstellen Sie ein neues.

         [Bestehendes Schlüsselpaar] Wählen Sie das Schlüsselpaar aus.

         [Neues Schlüsselpaar] Wählen Sie **Neues Schlüsselpaar erstellen** aus, um zur Seite **Schlüsselpaare** zu gelangen. Wenn Sie fertig sind, kehren Sie zur Seite **Spot-Anfragen** zurück und aktualisieren Sie die Liste.

      1. (Optional) Erweitern Sie **Zusätzliche Startparameter** und gehen Sie wie folgt vor:

         1. (Optional) Um die Amazon-EBS-Optimierung zu aktivieren, wählen Sie für **EBS-optimiert** die Option **EBS-optimierte Instance starten** aus.

         1. (Optional) Um temporären Speicher auf Blockebene für Ihre Instances hinzuzufügen, wählen Sie für **Instance store (Instance-Speicher)** die Option **Attach at launch (Beim Start anhängen)** aus.

         1. (Optional) Um Speicher hinzuzufügen, wählen Sie **Neues Volume hinzufügen** aus und geben Sie je nach Instance-Typ zusätzliche Instance-Speicher-Volumes oder Amazon-EBS-Volumes an.

         1. (Optional) Die grundlegende Überwachung ist standardmäßig für Ihre Instances aktiviert. Um die detaillierte Überwachung zu aktivieren, wählen Sie **unter Überwachung** die Option ** CloudWatch Detaillierte Überwachung aktivieren** aus.

         1. (Optional:) Wenn Sie für **Tenancy** eine Dedicated-Spot-Instance ausführen möchten, wählen Sie die Option **Dedicated - run a dedicated instance** (Dedicated – Dedicated-Instance ausführen) aus.

         1. (Optional) Wählen Sie für **Security groups (Sicherheitsgruppen)** eine oder mehrere Sicherheitsgruppen aus oder erstellen Sie eine neue.

            [Bestehende Sicherheitsgruppe] Wählen Sie eine oder mehrere Sicherheitsgruppen aus.

            [Neue Sicherheitsgruppe] Wählen Sie **Neue Sicherheitsgruppe erstellen** aus, um zur Seite **Sicherheitsgruppen** zu gelangen. Wenn Sie fertig sind, kehren Sie zu den **Spot-Anfragen** zurück und aktualisieren Sie die Liste.

         1. (Optional) Um Ihre Instances vom Internet aus erreichbar zu machen, wählen Sie für **Automatische Zuweisung von IPv4 öffentlichen IP-Adressen** die Option **Aktivieren** aus.

         1. (Optional) Um Ihre Spot-Instances mit einer IAM-Rolle zu starten, geben Sie für **IAM instance profile (IAM-Instance-Profil)** die Rolle an.

         1. (Optional) Wenn Sie ein Start-Skript ausführen möchten, kopieren Sie dieses in **User data**.

         1. (Optional) Um ein Tag hinzuzufügen, wählen Sie **Tag erstellen** aus, geben Sie den Schlüssel und Wert für das Tag ein und wählen Sie **Erstellen** aus. Wiederholen Sie diesen Schritt für jeden Tag (Markierung).

            Damit die Instances und die Spot-Flottenanforderung mit demselben Tag markiert werden, stellen Sie für jedes Tag sicher, dass sowohl **Instance** als auch **Flotte** ausgewählt ist. Um nur die von der Flotte gestarteten Instances zu markieren, löschen Sie **Fleet**. Um nur die Spot-Flottenanforderung zu markieren, löschen Sie **Instances**.

   1. [Startvorlage] Um eine Konfiguration zu verwenden, die Sie in einer Startvorlage erstellt haben, wählen Sie **Startvorlage verwenden** und wählen Sie für **Startvorlage** eine Startvorlage aus.
**Anmerkung**  
Wenn Sie On-Demand-Kapazität in Ihrer Spot-Flotte verwenden möchten, müssen Sie eine Startvorlage angeben.

1. Gehen Sie für **Additional request details (Zusätzliche Anforderungsdetails)** wie folgt vor:

   1. Überprüfen Sie die zusätzlichen Details der Anfrage. Um Änderungen vorzunehmen, deaktivieren Sie **Apply defaults (Standardeinstellungen anwenden)**.

   1. (Optional) Für **IAM fleet role (IAM-Flottenrolle)** können Sie die Standardrolle verwenden oder eine andere Rolle auswählen. Um nach dem Ändern der Rolle die Standardrolle zu verwenden, wählen Sie **Use default role (Standardrolle verwenden)**.

   1. (Optional) Sie können eine Anfrage erstellen, die nur während eines bestimmten Zeitraums gültig ist, indem Sie **Request valid from** und **Request valid until** bearbeiten.

   1. (Optional) Standardmäßig beendet Amazon EC2 Ihre Spot Instances, wenn die Spot-Flotte-Anforderung abläuft. Um sie nach Ablauf Ihrer Anfrage am Laufen zu halten, deaktivieren Sie **Terminate the instances when the request expires (Instances beenden, wenn die Anfrage abläuft)**.

   1. (Optional) Um Ihre Spot-Instances mit einem Load Balancer zu registrieren, wählen Sie die Option **Receive traffic from one or more load balancers (Datenverkehr von einem oder mehreren Load Balancern entgegennehmen)** und legen Sie einen oder mehrere Classic Load Balancer oder Zielgruppen fest.

1. Führen Sie für die **Zielkapazität** die folgenden Schritte aus:

   1. Geben Sie für **Gesamtzielkapazität** die Anzahl der anzufordernden Einheiten an. Als Einheitentyp können Sie **Instances**CPUs, **v** oder **Memory (MiB)** wählen. Um eine Zielkapazität von 0 anzugeben (damit Sie später Kapazität hinzufügen können), wählen Sie **Zielkapazität erhalten** aus.

   1. (Optional) Geben Sie für **On-Demand-Basiskapazität einschließen** die Anzahl der anzufordernden On-Demand-Einheiten an. Die Zahl muss unter der **Total target capacity** (Zielkapazität insgesamt) liegen. Amazon EC2 berechnet die Differenz und weist die Differenz Spot-Einheiten für die Anforderung zu.
**Wichtig**  
 Um optionale On-Demand-Kapazität anzugeben, müssen Sie zunächst eine Startvorlage auswählen.

   1. (Optional) Standardmäßig beendet der Amazon EC2 Spot Instances, wenn sie unterbrochen werden. Um die Zielkapazität aufrechtzuerhalten, wählen Sie **Zielkapazität aufrechterhalten** aus. Sie können dann festlegen, dass Amazon EC2 Spot Instances beendet, anhält oder in den Ruhezustand versetzt, wenn ie unterbrochen werden. Hierzu wählen sie die entsprechende Option unter **Interruption behavior** aus.
**Anmerkung**  
Wenn ein in den Startparametern angegebenes AMI abgemeldet oder deaktiviert ist, können keine neuen Instances über das AMI gestartet werden. In diesem Fall wird bei Flotten, die darauf eingestellt sind, die Zielkapazität beizubehalten, die Zielkapazität nicht aufrechterhalten.

   1. (Optional) Damit die Spot-Flotte eine Ersatz-Spot-Instance starten kann, wenn eine Benachrichtigung zum Instance-Neuausgleich für eine vorhandene Spot-Instance in der Flotte ausgegeben wird, wählen Sie **Neuausgleich der Kapazität** und dann eine Instance-Ersetzungsstrategie aus. Wenn Sie **Vor Beendigung starten** auswählen, geben Sie die Verzögerung (in Sekunden) an, bevor Amazon EC2 die alten Instances beendet. Weitere Informationen finden Sie unter [Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen](ec2-fleet-capacity-rebalance.md).

   1. (Optional) Um den Betrag zu kontrollieren, den Sie pro Stunde für alle Spot-Instances in Ihrer Flotte zahlen, wählen Sie **Maximalkosten für Spot-Instances einstellen** und geben dann den maximalen Gesamtbetrag ein, den Sie pro Stunde zu zahlen bereit sind. Ist der maximale Gesamtbetrag erreicht, stoppt die Spot-Flotte das Starten von Spot-Instances auch dann, wenn die Zielkapazität noch nicht erreicht ist. Weitere Informationen finden Sie unter [Ausgabenlimit für Ihre EC2-Flotte oder Spot-Flotte festlegen](ec2-fleet-control-spending.md).

1. Gehen Sie unter **Netzwerk** wie folgt vor:

   1. Wählen Sie für **Netzwerk** eine vorhandene VPC aus oder erstellen Sie eine neue.

      [Vorhandene VPC] Wählen Sie die VPC aus.

      [Neue VPC] Wählen Sie **Create new VPC (Neue VPC erstellen** aus, um zur Amazon VPC-Konsole zu gelangen. Wenn Sie fertig sind, kehren Sie zu dieser Bildschirmseite zurück und aktualisieren Sie die Liste.

   1. (Optional:) Lassen Sie für **Availability Zone** Amazon EC2 die Availability Zones für Ihre Spot Instances auswählen oder geben Sie eine oder mehrere Availability Zones an.

      Wenn Sie mehr als ein Subnetz in einer Availability Zone haben, wählen Sie das geeignete Subnetz unter **Subnet (Subnetz)** aus. Um Subnetze hinzuzufügen, wählen Sie **Create new subnet (Neues Subnetz)** aus, um die Amazon VPC-Konsole aufzurufen. Wenn Sie fertig sind, kehren Sie zu dieser Bildschirmseite zurück und aktualisieren Sie die Liste.

1. Für **Anforderungen an Instance-Typen** können Sie entweder Instance-Attribute angeben und Amazon EC2 die optimalen Instance-Typen mit diesen Attributen identifizieren lassen oder Sie können eine Liste von Instances angeben. Weitere Informationen finden Sie unter [Geben Sie Attribute für die Auswahl von Instance-Typen für EC2-Flotte oder Spot-Flotte an](ec2-fleet-attribute-based-instance-type-selection.md).

   1. Wenn Sie **Specify instance attributes that match your compute requirements** (Instance-Attribute angeben, die Ihren Computinganforderungen entsprechen) auswählen, geben Sie Ihre Instance-Attribute wie folgt an:

      1. Geben Sie für **v CPUs** die gewünschte Mindest- und Höchstzahl von v CPUs ein. Um kein Limit anzugeben, wählen Sie **Kein Minimum** oder **Kein Maximum** oder beides aus.

      1. Geben Sie für **Arbeitsspeicher (GiB)** den gewünschten Mindest- und Höchstwert ein. Um kein Limit anzugeben, wählen Sie **Kein Minimum**, **Kein Maximum** oder beides aus.

      1. (Optional) Für **Zusätzliche Instance-Attribute** können Sie optional ein oder mehrere Attribute angeben, um Ihre Datenverarbeitungsanforderungen genauer auszudrücken. Jedes zusätzliche Attribut fügt Ihrer Anforderung weitere Einschränkungen hinzu. Sie können die zusätzlichen Attribute weglassen. In diesem Fall werden die Standardwerte verwendet. Eine Beschreibung der einzelnen Attribute und ihrer Standardwerte finden Sie unter [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

      1. (Optional) Um die Instance-Typen mit Ihren angegebenen Attributen anzuzeigen, erweitern Sie **Vorschau der übereinstimmenden Instance-Typen**. Um Instance-Typen von der Verwendung in Ihrer Anfrage auszuschließen, wählen Sie die Instances und dann **Ausgewählte Instance-Typen ausschließen** aus.

   1. Bei der Auswahl von **Instance-Typen manuell auswählen** wird von der Spot-Flotte eine Standardliste von Instance-Typen angegeben. Um weitere Instance-Typen auszuwählen, wählen Sie **Add instance types** (Instance-Typen hinzufügen) und die Instance-Typen aus, die in Ihrer Anfrage verwendet werden sollen, und wählen Sie **Auswählen** aus. Um Instance-Typen zu löschen, wählen Sie die Instance-Typen und dann **Löschen** aus.

1. Wählen Sie **unter Allokationsstrategie** eine Spot-Allokationsstrategie und eine On-Demand-Allokationsstrategie, die Ihren Anforderungen entspricht. Weitere Informationen finden Sie unter [Verwenden Sie Zuweisungsstrategien, um festzustellen, wie die EC2-Flotte oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausfüllt](ec2-fleet-allocation-strategy.md).

1. Überprüfen Sie für **Ihre Flottenanfrage auf einen Blick** Ihre Flottenkonfiguration und nehmen Sie gegebenenfalls Änderungen vor.

1. (Optional) Um eine Kopie der Startkonfiguration für die herunterzuladen AWS CLI, wählen Sie **JSON-Konfiguration**.

1. Wenn Sie bereit sind, Ihre Spot-Flotte zu erstellen, klicken Sie auf **Starten**.

   Der Spot-Flotten-Anforderungstyp lautet `fleet`. Wenn die Anforderung erfüllt wird, werden Anforderungen des Typs `instance` hinzugefügt, für die der Zustand `active` und der Status `fulfilled` lautet.

------
#### [ AWS CLI ]

**So erstellen Sie eine Spot-Flottenanforderung**  
Verwenden Sie den Befehl [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html).

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json
```

Beispiel-Konfigurationsdateien finden Sie unter [Beispiel für CLI-Konfigurationen der Spot-Flotte](spot-fleet-examples.md).

------
#### [ PowerShell ]

**So erstellen Sie eine Spot-Flottenanforderung**  
Verwenden Sie das cmdlet [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html). Das folgende Beispiel startet Spot Instances in einer kapazitätsoptimierten Flotte

```
Request-EC2SpotFleet `
    -SpotFleetRequestConfig_TargetCapacity 50 `
    -SpotFleetRequestConfig_AllocationStrategy "CapacityOptimized" `
    -SpotFleetRequestConfig_IamFleetRole "arn:aws:iam::123456789012:role/my-spot-fleet-role" `
    -SpotFleetRequestConfig_LaunchTemplateConfig @($launchConfig)
```

Definieren Sie die Startkonfiguration wie folgt, und legen Sie dabei die Startvorlage fest und überschreiben Sie die Eigenschaften, die Sie benötigen. Beispielkonfigurationen finden Sie unter [Beispiel für CLI-Konfigurationen der Spot-Flotte](spot-fleet-examples.md).

```
$lcSpec = Amazon.EC2.Model.FleetLaunchTemplateSpecification
# To do - Set FleetLaunchTemplateSpecification properties
$lcOverrides = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
# To do - Set LaunchTemplateOverrides properties
$launchConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchConfig.LaunchTemplateSpecification $lcSpec
$launchConfig.Overrides @($lcOverrides)
```

------

## Eine Spot-Flotte erstellen, die fehlerhafte Spot Instances ersetzt
<a name="spot-fleet-health-checks"></a>

Die Spot-Flotte überprüft den Zustand der Spot-Instances in der Flotte alle zwei Minuten. Der Zustand einer Instance lautet entweder `healthy` oder `unhealthy`.

Die Spot-Flotte ermittelt den Zustand einer Instance anhand der von Amazon EC2 bereitgestellten Zustandsprüfungen. Wenn der Status der Instance-Statusprüfung oder der Systemstatusprüfung während drei aufeinanderfolgenden Zustandsprüfungen `impaired` lautet, ist der Zustand der Instance `unhealthy`. Weitere Informationen finden Sie unter [Statusprüfungen für Amazon-EC2-Instances](monitoring-system-instance-status-check.md).

Sie können Ihre Flotte so konfigurieren, dass nicht voll funktionsfähige Spot-Instances ersetzt werden. Nach dem Aktivieren von Ersetzungen in Zuge von Zustandsprüfungen wird eine Spot Instance ersetzt, wenn sie als `unhealthy` gemeldet wird. Die Flotte kann die Zielkapazität einige Minuten lang unterschreiten, während eine nicht voll funktionsfähige Spot-Instance ersetzt wird.

**Voraussetzungen**
+ Der Ersetzung von Zustandsprüfungen wird nur für Spot-Flotten unterstützt, welche eine Zielkapazität (Flotten vom Typ `maintain`) aufrechterhalten, nicht für einmalige Spot-Flotten (Flotten des Typs `request`).
+ Der Austausch von Zustandsprüfungen wird nur für Spot-Instances unterstützt. Dieses Feature wird für On-Demand-Instances nicht unterstützt.
+ Sie können Ihre Spot-Flotte nur beim Erstellen so konfigurieren, dass nicht voll funktionsfähige Instances ersetzt werden.
+ Benutzer können die Ersetzung im Rahmen von Zustandsprüfungen nur verwenden, wenn sie über die Berechtigung zum Aufrufen der `ec2:DescribeInstanceStatus`-Aktion verfügen.

------
#### [ Console ]

**So konfigurieren Sie eine Spot-Flotte, dass fehlerhafte Spot Instances ersetzt werden**

1. Befolgen Sie die Schritte zum Erstellen einer Spot-Flotte in [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](#create-spot-fleet-advanced).

1. Um die Flotte so zu konfigurieren, dass fehlerhafte Spot Instances ersetzt werden, erweitern Sie **Zusätzliche Startparameter** und wählen Sie unter **Zustandsprüfung** die Option **Fehlerhafte Instances ersetzen** aus. Zum Aktivieren dieser Option müssen Sie zuerst **Maintain target capacity (Zielkapazität erhalten)** auswählen.

------
#### [ AWS CLI ]

**So konfigurieren Sie eine Spot-Flotte, dass fehlerhafte Spot Instances ersetzt werden**  
Verwenden Sie den [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)Befehl mit der `ReplaceUnhealthyInstances` Eigenschaft von`SpotFleetRequestConfig`.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "lowestPrice",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "TargetCapacity": 10,
        "ReplaceUnhealthyInstances": true
    }
}
```

------
#### [ PowerShell ]

**So konfigurieren Sie eine Spot-Flottenanforderung, dass fehlerhafte Spot Instances ersetzt werden**  
Verwenden Sie das [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html)Cmdlet mit dem `-SpotFleetRequestConfig_ReplaceUnhealthyInstance` Parameter.

```
-SpotFleetRequestConfig_ReplaceUnhealthyInstance $true
```

------

# Eine neue Spot-Flotte sowie die Instances und Volumes, die sie startet, markieren
<a name="tag-spot-fleet"></a>

Zur besseren Kategorisierung und Verwaltung Ihrer Spot-Fleet- Anforderungen und der von ihr gestarteten Instances und Volumes können Sie diese mit benutzerdefinierten Metadaten markieren. Sie können einer Spot-Flotten-Anforderung beim Erstellen oder danach eine Markierung zuweisen. Ebenso können Sie den Instances und Volumes ein Tag zuweisen, wenn sie von der Flotte gestartet werden oder später.

Wenn Sie eine Flottenanforderung markieren, werden die Instances und Volumes, die von der Flotte gestartet werden, nicht automatisch markiert. Sie müssen die von der Flotte gestarteten Instances und Volumes explizit markieren. Sie können festlegen, dass Tags nur der Flottenanforderung, nur den Instances, die von der Flotte gestartet werden oder nur den Volumes zugewiesen werden, die den Instances zugeordnet sind, die von der Flotte gestartet wurden oder allen von ihnen.

**Anmerkung**  
Sie können nur Volumes markieren, die an On-Demand-Instances angehängt sind. Sie können Volumes, die an Spot-Instances angehängt sind, nicht markieren.

Sie können Tags (Markierungen) über die Amazon EC2-Konsole oder ein Befehlszeilen-Tool zuweisen.

Weitere Informationen zur Funktionsweise von Tags (Markierungen) finden Sie unter [Markieren Ihrer Amazon-EC2-Ressourcen mit Tags (Markierungen)](Using_Tags.md).

**Topics**
+ [

## Voraussetzung
](#tag-spot-fleet-prereqs)
+ [

## Markieren einer neuen Spot-Flotte sowie der Instances und Volumes, die sie startet
](#tag-new-spot-fleet-and-resources)
+ [

## Markieren bestehender Spot-Flotten
](#tag-existing-spot-fleet)
+ [

## Anzeigen der Tags (Markierungen) für Spot-Flotten-Anforderungen
](#view-spot-fleet-tags)

## Voraussetzung
<a name="tag-spot-fleet-prereqs"></a>

Gewähren Sie dem Benutzer die Berechtigung zum Markieren von Ressourcen. Weitere Informationen finden Sie unter [Beispiel: Markieren von Ressourcen](ExamplePolicies_EC2.md#iam-example-taggingresources).

**So gewähren Sie einem Benutzer die Berechtigung zum Markieren von Ressourcen**  
Erstellen Sie eine IAM-Richtlinie, die Folgendes enthält:
+ Die Aktion `ec2:CreateTags`. Dadurch erhält der Benutzer die Berechtigung zum Erstellen von Tags.
+ Die Aktion `ec2:RequestSpotFleet`. Dadurch wird dem Benutzer die Berechtigung zum Erstellen einer Spot-Flotten-Anfrage gewährt.
+ Für `Resource` müssen Sie `"*"` angeben. Dadurch können Benutzer alle Ressourcentypen markieren.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotFleetRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags",
                "ec2:RequestSpotFleet"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Wichtig**  
Derzeit unterstützen wir keine Berechtigungen auf Ressourcenebene für die `spot-fleet-request`-Ressource. Wenn Sie `spot-fleet-request` als Ressource angeben, erhalten Sie eine nicht autorisierte Ausnahme, wenn Sie versuchen, die Flotte zu markieren. Das folgende Beispiel veranschaulicht, wie die Richtlinie *nicht* festgelegt wird.   

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateTags",
        "ec2:RequestSpotFleet"
    ],
    "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*"
}
```

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:
+ Benutzer und Gruppen in: AWS IAM Identity Center

  Erstellen Sie einen Berechtigungssatz. Befolgen Sie die Anweisungen unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) im *AWS IAM Identity Center -Benutzerhandbuch*.
+ Benutzer, die in IAM über einen Identitätsanbieter verwaltet werden:

  Erstellen Sie eine Rolle für den Identitätsverbund. Befolgen Sie die Anleitung unter [Eine Rolle für einen externen Identitätsanbieter (Verbund) erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) im *IAM-Benutzerhandbuch*.
+ IAM-Benutzer:
  + Erstellen Sie eine Rolle, die Ihr Benutzer annehmen kann. Befolgen Sie die Anleitung unter [Eine Rolle für einen IAM-Benutzer erstellen](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) im *IAM-Benutzerhandbuch*.
  + (Nicht empfohlen) Weisen Sie einem Benutzer eine Richtlinie direkt zu oder fügen Sie einen Benutzer zu einer Benutzergruppe hinzu. Befolgen Sie die Anweisungen unter [Hinzufügen von Berechtigungen zu einem Benutzer (Konsole)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) im *IAM-Benutzerhandbuch*.

## Markieren einer neuen Spot-Flotte sowie der Instances und Volumes, die sie startet
<a name="tag-new-spot-fleet-and-resources"></a>

**Eine neue Spot-Flotten-Anforderung und die Instances und Volumes, die sie startet, mit der Konsole markieren**

1. Folgen Sie dem Verfahren unter [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](create-spot-fleet.md#create-spot-fleet-advanced).

1. Wie Sie ein Tag hinzufügen, hängt davon ab, ob Sie die Flotte manuell konfiguriert oder eine Startvorlage verwendet haben.
   + Wenn Sie die Flotte manuell konfiguriert haben, gehen Sie folgendermaßen vor:

     Um ein Tag (Markierung) hinzuzufügen, erweitern Sie **Zusätzliche Startkonfigurationen**, wählen Sie **Tag erstellen**, und geben Sie den Schlüssel und den Wert für das Tag ein. Wiederholen Sie diesen Schritt für jeden Tag (Markierung).

     Sie können die Spot-Flotten-Anforderung und die Instances jeweils mit demselben Tag (Markierung) markieren. Um beide zu markieren, stellen Sie sicher, dass sowohl **Instances**, als auch **Flotte** ausgewählt sind. Um nur die Spot-Flottenanforderung zu markieren, löschen Sie **Instances**. Um nur die von der Flotte gestarteten Instances zu markieren, löschen Sie **Fleet**.
**Anmerkung**  
Wenn Sie eine Flotte manuell konfigurieren, gibt es keine Möglichkeit, Volumes zu taggen. Volume-Tags (Markierungen) werden nur für Volumes unterstützt, die an On-Demand-Instances angefügt sind. Wenn Sie eine Flotte manuell konfigurieren, können Sie keine On-Demand-Instances angeben.
   + Wenn Sie eine Startvorlage verwendet haben, gehen Sie folgendermaßen vor:

     Um der Flottenanforderung ein Tag hinzuzufügen, wählen Sie unter **Tags** **Tag erstellen** und geben Sie den Schlüssel und den Wert für das Tag ein. Wiederholen Sie diesen Schritt für jeden Tag (Markierung).

     Um die Ressourcen in Ihrer Flotte zu taggen, müssen Sie Tags in der [Startvorlage](create-launch-template.md) angeben.

**Um eine neue Spot-Flotte-Anfrage und die damit gestarteten Instances und Volumes zu taggen, verwenden Sie AWS CLI**  
Um eine Spot-Flotten-Anforderung beim Erstellen zu markieren, und um die Instances und Volumes zu markieren, wenn sie von der Flotte gestartet werden, konfigurieren Sie die Spot-Flotten-Anforderung wie folgt:

**Tags (Markierungen) für Spot-Flotten-Anforderungen:**
+ Legen Sie die Tags für die Spot-Flotten-Anforderung in `SpotFleetRequestConfig` fest.
+ Legen Sie für `ResourceType` die Option `spot-fleet-request` fest. Wenn Sie einen anderen Wert angeben, schlägt die Flottenanforderung fehl.
+ Geben Sie für `Tags` das Schlüssel-Wert-Paar an. Sie können mehr als ein Schlüssel-Wert-Paar angeben.

**Instance-Tags (Markierungen):**
+ Geben Sie die Tags für die Instances in `LaunchSpecifications` an.
+ Legen Sie für `ResourceType` die Option `instance` fest. Wenn Sie einen anderen Wert angeben, schlägt die Flottenanforderung fehl.
+ Geben Sie für `Tags` das Schlüssel-Wert-Paar an. Sie können mehr als ein Schlüssel-Wert-Paar angeben.

  Alternativ können Sie die Markierungen für die Instance in der [Startvorlage](create-launch-template.md) angeben, auf die in der Spot-Flotten-Anforderung verwiesen wird.

**Volume-Tags (Markierungen):**
+ Geben Sie die Markierungen für die Volumes in der [Startvorlage](create-launch-template.md) an, auf die in der Spot-Flotten-Anforderung verwiesen wird. Die Volume-Markierung in `LaunchSpecifications` wird nicht unterstützt.

Im folgenden Beispiel wird die Spot-Flotten-Anforderung mit zwei Tags (Markierungen) markiert: Key=Environment und Value=Production sowie Key=Cost-Center und Value=123. Die Instances, die von der Flotte gestartet werden, werden mit einer Markierung markiert (diese entspricht einer der Tags (Markierungen) für die Spot-Flotten-Anforderung): Key=Cost-Center und Value=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1,
        "TagSpecifications": [
            {
                "ResourceType": "spot-fleet-request",
                "Tags": [
                    {
                        "Key": "Environment",
                        "Value":"Production"
                    },
                    {
                        "Key": "Cost-Center",
                        "Value":"123"
                    }
                ]
            }
        ]
    }
}
```

**Um Instances zu taggen, die von einer Spot-Flotte gestartet wurden, mit dem AWS CLI**  
Um Instances zu markieren, wenn sie von der Flotte gestartet werden, können Sie entweder die Markierungen in der [Startvorlage](create-launch-template.md) angeben, auf die in der Spot-Flotten-Anforderung verwiesen wird oder die Markierungen in der Spot-Flotten-Anforderung wie folgt angeben:
+ Geben Sie die Tags für die Instances in `LaunchSpecifications` an.
+ Legen Sie für `ResourceType` die Option `instance` fest. Wenn Sie einen anderen Wert angeben, schlägt die Flottenanforderung fehl.
+ Geben Sie für `Tags` das Schlüssel-Wert-Paar an. Sie können mehr als ein Schlüssel-Wert-Paar angeben.

Im folgenden Beispiel werden die Instances, die von der Flotte gestartet werden, mit einem Tags (Markierungen) gekennzeichnet: Key=Cost-Center und Value=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1
    }
}
```

**Um Volumes zu taggen, die mit On-Demand-Instances verknüpft sind, die von einer Spot-Flotte gestartet wurden, mit dem AWS CLI**  
Um Volumes zu markieren, wenn sie von der Flotte erstellt werden, müssen Sie die Markierungen in der [Startvorlage](create-launch-template.md) angeben, auf die in der Spot-Flotten-Anforderung verwiesen wird.

**Anmerkung**  
Volume-Tags (Markierungen) werden nur für Volumes unterstützt, die an On-Demand-Instances angefügt sind. Sie können Volumes, die an Spot-Instances angehängt sind, nicht markieren.  
Die Volume-Markierung in `LaunchSpecifications` wird nicht unterstützt.

## Markieren bestehender Spot-Flotten
<a name="tag-existing-spot-fleet"></a>

**So markieren Sie eine vorhandene Spot-Flotten-Anforderung mithilfe der Konsole:**

Nachdem Sie eine Spot-Flotten-Anforderung erstellt haben, können Sie der Flottenanforderung mithilfe der Konsole Tags hinzufügen.

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Tags (Markierungen)**, und wählen Sie **Create Tags (Tags (Markierungen) erstellen)**.

**Um eine bestehende Spot-Flotte-Anfrage mit dem zu taggen AWS CLI**  
Sie können den Befehl [create-Tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) verwenden, um vorhandene Ressourcen zu markieren. Im folgenden Beispiel wird die vorhandene Spot-Flotten-Anforderung mit Key=purpose und Value=test markiert.

```
aws ec2 create-tags \
    --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \
    --tags Key=purpose,Value=test
```

## Anzeigen der Tags (Markierungen) für Spot-Flotten-Anforderungen
<a name="view-spot-fleet-tags"></a>

**So zeigen Sie Tags (Markierungen) für Spot-Flotten-Anforderungen mithilfe der Konsole an:**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung und dann die Registerkarte **Tags** (Tags (Markierungen)) aus.

**So beschreiben Sie Tags (Markierungen) für Spot-Flotten-Anforderungen:**  
Verwenden Sie den Befehl [describe-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html), um die Tags (Markierungen) für die angegebene Ressource anzuzeigen. Im folgenden Beispiel beschreiben Sie die Tags (Markierungen) für die angegebene Spot-Flotten-Anforderung.

```
aws ec2 describe-tags \
    --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
```

```
{
    "Tags": [
        {
            "Key": "Environment",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Production"
        },
        {
            "Key": "Another key",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Another value"
        }
    ]
}
```

Sie können die Tags (Markierungen) einer Spot-Flotten-Anforderung auch anzeigen, indem Sie die Spot-Flotten-Anforderung beschreiben.

Verwenden Sie den [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html)Befehl, um die Konfiguration der angegebenen Spot-Flotte-Anfrage anzuzeigen, die alle Tags enthält, die für die Flottenanforderung angegeben wurden.

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
```

```
{
    "SpotFleetRequestConfigs": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2020-02-13T02:49:19.709Z",
            "SpotFleetRequestConfig": {
                "AllocationStrategy": "capacityOptimized",
                "OnDemandAllocationStrategy": "lowestPrice",
                "ExcessCapacityTerminationPolicy": "Default",
                "FulfilledCapacity": 2.0,
                "OnDemandFulfilledCapacity": 0.0,
                "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
                "LaunchSpecifications": [
                    {
                        "ImageId": "ami-0123456789EXAMPLE",
                        "InstanceType": "c4.large"
                    }
                ],
                "TargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "Type": "maintain",
                "ReplaceUnhealthyInstances": false,
                "InstanceInterruptionBehavior": "terminate"
            },
            "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "SpotFleetRequestState": "active",
            "Tags": [
                {
                    "Key": "Environment",
                    "Value": "Production"
                },
                {
                    "Key": "Another key",
                    "Value": "Another value"
                }
            ]
        }
    ]
}
```

# Eine Spot-Flottenanforderung, ihre Instances und den Ereignisverlauf beschreiben
<a name="manage-spot-fleet"></a>

Sie können Ihre Spot-Flottenkonfiguration, die Instances in Ihrer Spot-Flotte und den Ereignisverlauf Ihrer Spot-Flotte beschreiben.

------
#### [ Console ]

**So beschreiben Sie Ihre Spot-Flotte**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus. Die ID beginnt mit **sfr-**. Um die Konfigurationsdetails anzuzeigen, wählen Sie **Description (Beschreibung)** aus.

1. Um die Spot-Instances für die Spot-Flotte aufzulisten, wählen Sie **Instances** aus.

1. Zum Anzeigen des Verlaufs für die Spot-Flotte wählen Sie **History** (Verlauf) aus.

------
#### [ AWS CLI ]

**So beschreiben Sie Ihre Spot-Flottenanforderung**  
Verwenden Sie den Befehl [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html).

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**So beschreiben Sie die laufenden Instances für die angegebene Spot-Flottenanforderung**  
Verwenden Sie den Befehl [describe-spot-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-instances.html).

```
aws ec2 describe-spot-fleet-instances \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**So beschreiben Sie den Ereignisverlauf für die angegebene Spot-Flottenanforderung**  
Verwenden Sie den Befehl [describe-spot-fleet-request-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-request-history.html).

```
aws ec2 describe-spot-fleet-request-history \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2024-05-18T00:00:00Z
```

------
#### [ PowerShell ]

**So beschreiben Sie Ihre Spot-Flottenanforderung**  
Verwenden Sie das cmdlet [Get-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequest.html).

```
Get-EC2SpotFleetRequest
```

**So beschreiben Sie die laufenden Instances für die angegebene Spot-Flottenanforderung**  
Verwenden Sie das cmdlet [Get-EC2SpotFleetInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetInstance.html).

```
Get-EC2SpotFleetInstance `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
```

**So beschreiben Sie den Ereignisverlauf für die angegebene Spot-Flottenanforderung**  
Verwenden Sie das cmdlet [Get-EC2SpotFleetRequestHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequestHistory.html).

```
Get-EC2SpotFleetRequestHistory `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -UtcStartTime 2024-05-18T00:00:00Z
```

------

# Ändern einer Spot-Flotten-Anforderung
<a name="modify-spot-fleet"></a>

Sie können eine aktive Spot-Flotten-Anforderung ändern, um die folgenden Aufgaben auszuführen:
+ Erhöhen der Zielkapazität und des On-Demand-Anteils
+ Verringern der Zielkapazität und des On-Demand-Anteils

Wenn Sie die Gesamtzielkapazität erhöhen, startet die Spot-Flotte die zusätzlichen Spot Instances gemäß der [Zuweisungsstrategie](ec2-fleet-allocation-strategy.md) für die Spot-Flottenanforderung. Wenn Sie den On-Demand-Anteil erhöhen, startet die Spot-Flotte zusätzliche On-Demand-Instances.

Wenn Sie die Zielkapazität verringern, bricht die Spot-Flotte alle offenen Anforderungen ab, welche die neue Zielkapazität überschreiten. Sie können anfordern, dass die Spot-Flotte Spot-Instances beendet, bis die Größe der Flotte die neue Zielkapazität erreicht hat. Wenn die Zuweisungsstrategie `diversified` lautet, beendet die Spot-Flotte Instances in allen Pools. Alternativ können Sie anfordern, dass die Spot-Flotte ihre aktuelle Größe beibehält, dabei jedoch keine Spot-Instances ersetzt, die unterbrochen werden oder die Sie manuell beenden.

**Überlegungen**
+ Sie können eine einmalige Spot-Flotten-Anforderung nicht ändern. Sie können eine Spot-Flotten-Anforderung nur ändern, wenn Sie beim Erstellen der Spot-Flotten-Anforderung **Maintain target capacity** (Zielkapazität erhalten) ausgewählt hatten.
+ Wenn eine Spot-Flotte eine Instance aufgrund einer Verringerung der Zielkapazität beendet, erhält die Instance eine Benachrichtigung über die Unterbrechung einer Spot-Instance.

------
#### [ Console ]

**So ändern Sie eine Spot-Flottenanforderung**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie **Actions (Aktionen)**und dann **Modify target capacity (Zielkapazität bearbeiten)** aus.

1. Führen Sie unter **Modify target capacity** die folgenden Schritte aus:

   1. Geben Sie die neue Zielkapazität und den neuen On-Demand-Anteil ein.

   1. (Optional) Wenn Sie die Zielkapazität verringern, die aktuelle Größe der Flotte jedoch beibehalten möchten, heben Sie die Auswahl von **Terminate instances (Instances beenden)** auf.

   1. Klicken Sie auf **Submit (Absenden)**.

------
#### [ AWS CLI ]

**So ändern Sie eine Spot-Flottenanforderung**  
Verwenden Sie den [modify-spot-fleet-request](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-spot-fleet-request.html)Befehl, um die Zielkapazität der angegebenen Spot-Flottenanforderung zu aktualisieren.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 20
```

Sie können den vorherigen Befehl folgendermaßen ändern, um die Zielkapazität der angegebenen Spot-Flotte zu verringern, ohne dadurch Spot-Instances zu beenden.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 10 \
    --excess-capacity-termination-policy NoTermination
```

------
#### [ PowerShell ]

**So ändern Sie eine Spot-Flottenanforderung**  
Verwenden Sie das [Edit-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SpotFleetRequest.html)Cmdlet, um die Zielkapazität der angegebenen Spot-Flottenanforderung zu aktualisieren.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20
```

Sie können den vorherigen Befehl folgendermaßen ändern, um die Zielkapazität der angegebenen Spot-Flotte zu verringern, ohne dadurch Spot-Instances zu beenden.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# Spot-Flotten-Anforderung abbrechen (löschen)
<a name="cancel-spot-fleet"></a>

Wenn Sie eine Spot-Flotte nicht mehr benötigen, können Sie die Spot-Flotten-Anfrage abbrechen, was die Anforderung löscht. Nachdem Sie eine Flotten-Anfrage storniert haben, werden auch alle der Flotte zugeordneten Spot-Anfragen storniert, sodass keine neuen Spot-Instances gestartet werden.

Wenn Sie eine Spot-Flotte-Anfrage stornieren, müssen Sie auch angeben, ob Sie alle zugehörige Instances beenden möchten. Dazu gehören sowohl On-Demand-Instances als auch Spot-Instances.

**Warnung**  
**Das Beenden einer Instance ist dauerhaft und irreversibel.**  
Nachdem Sie eine Instance beendet haben, können Sie keine Verbindung mehr zu ihr herstellen und sie kann nicht wiederhergestellt werden. Alle angehängten Amazon-EBS-Volumes, die so konfiguriert sind, dass sie beim Beenden gelöscht werden, werden ebenfalls dauerhaft gelöscht und können nicht wiederhergestellt werden. Alle auf den Instance-Speicher-Volumes gespeicherten Daten gehen dauerhaft verloren. Weitere Informationen finden Sie unter [Wie die Kündigung von Instances funktioniert](how-ec2-instance-termination-works.md).  
Bevor Sie eine Instance beenden, stellen Sie sicher, dass Sie alle Daten, die Sie nach der Beendigung behalten müssen, im persistenten Speicher gesichert haben.

Wenn Sie festlegen, dass die Instances beendet werden müssen, wenn die Flotten-Anfrage abgebrochen wird, wechselt die Flotten-Anfrage in den `cancelled_terminating`-Status. Andernfalls befindet sie sich im `cancelled_running`-Zustand und die Instances werden weiter ausgeführt, bis sie unterbrochen oder von Ihnen manuell beendet werden.

**Einschränkungen**
+ Sie können bis zu 100 Flotten in einer einzigen Anfrage abbrechen. Wenn Sie die angegebene Anzahl überschreiten, werden keine Flotten abgebrochen.

------
#### [ Console ]

**So können Sie eine Spot-Flottenanforderung abbrechen (löschen)**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie **Actions (Aktionen)**, **Cancel request (Anforderungen abbrechen)**.

1. Gehen Sie im Dialogfeld **Spot-Anfrage stornieren** wie folgt vor:

   1. Um die zugeordneten Instances gleichzeitig mit dem Abbrechen der Spot-Flotten-Anforderung zu beenden, belassen Sie das Kontrollkästchen **Instances beenden** aktiviert. Um die Spot-Flotten-Anfrage zu storinieren, ohne die zugehörigen Instances zu beenden, deaktivieren Sie das Kontrollkästchen **Instances beenden**.

   1. Wählen Sie **Bestätigen** aus.

------
#### [ AWS CLI ]

**So können Sie eine Spot-Flottenanforderung abbrechen (löschen) und die zugehörigen Instances beenden**  
Verwenden Sie den Befehl [cancel-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-fleet-requests.html) mit der Option `--terminate-instances` .

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Es folgt eine Beispielausgabe.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_terminating",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

**So können Sie eine Spot-Flottenanforderung abbrechen (löschen), ohne die zugehörigen Instances zu beenden**  
Ändern Sie das vorherige Beispiel, indem Sie stattdessen die Option `--no-terminate-instances` verwenden.

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Es folgt eine Beispielausgabe.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_running",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

------
#### [ PowerShell ]

**So können Sie eine Spot-Flottenanforderung abbrechen (löschen) und die zugehörigen Instances beenden**  
Verwenden Sie das [Stop-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotFleetRequest.html)Cmdlet mit dem Parameter. `-TerminateInstance`

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**So können Sie eine Spot-Flottenanforderung abbrechen (löschen), ohne die zugehörigen Instances zu beenden**  
Ändern Sie das vorherige Beispiel, indem Sie den Wert des Parameters `-TerminateInstance` ändern.

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

# Automatische Skalierung für Spot-Flotten verstehen
<a name="spot-fleet-automatic-scaling"></a>

*Automatische Skalierung* ermöglicht Ihrer Spot-Flotte die Zielkapazität automatisch abhängig von der Nachfrage zu erhöhen oder zu verringern. Bei der automatischen Skalierung kann eine Spot-Flotte als Reaktion auf eine oder mehrere Skalierungsrichtlinien innerhalb eines bestimmten Bereichs entweder Instances starten (aufskalieren) oder Instances beenden (abskalieren).

Die automatische Skalierung für Spot Fleet wird durch eine Kombination der Amazon EC2- CloudWatch, Amazon- und Application Auto Scaling Scaling-APIs ermöglicht. Spot-Flottenanfragen werden mit Amazon EC2, Alarme mit CloudWatch und Skalierungsrichtlinien mit Application Auto Scaling erstellt.

**Typen der automatischen Skalierung**

Die Spot-Flotte unterstützt die folgenden Typen automatischer Skalierung:
+ [Zielverfolgungsskalierung](spot-fleet-target-tracking.md) – Erhöht oder verringert die aktuelle Kapazität der Flotte anhand eines Zielwerts für eine bestimmte Metrik. Dies ähnelt der Art und Weise, wie Ihr Thermostat die Temperatur in Ihrem Zuhause konstant hält – Sie wählen eine Temperatur aus und das Thermostat erledigt den Rest.
+ [Step scaling](spot-fleet-step-scaling.md) (Schrittweise Skalierung) – Erhöht oder verringert die aktuelle Kapazität der Flotte anhand einer Gruppe von Skalierungsanpassungen, die als Schrittanpassungen bezeichnet werden und je nach Umfang der Alarmüberschreitung variieren.
+ [Scheduled scaling](spot-fleet-scheduled-scaling.md) (Geplante Skalierung) – Erhöht oder verringert die aktuellen Kapazität der Flotte anhand von Datum und Uhrzeit.

## Überlegungen
<a name="considerations-for-spot-fleet-automatic-scaling"></a>

Überlegen Sie bei Verwendung der automatischen Skalierung für Ihre Spot-Flotte folgendes:
+ **Instance-Gewichtung** – Wenn Sie [Instance-Gewichtung](ec2-fleet-instance-weighting.md) verwenden, denken Sie daran, dass Spot-Flotten bei Bedarf die Zielkapazität überschreiten können. Die erfüllte Kapazität kann eine Gleitkommazahl sein, die Zielkapazität muss jedoch eine Ganzzahl sein, sodass die Spot-Flotte auf die nächste Ganzzahl aufgerundet wird. Sie müssen diese Verhalten berücksichtigen, wenn Sie sich das Ergebnis einer Skalierungsrichtlinie ansehen, wenn ein Alarm ausgelöst wird. Nehmen wir beispielsweise an, dass die Zielkapazität 30 und die erfüllte Kapazität 30,1 beträgt und die Skalierungsrichtlinie 1 abzieht. Wenn der Alarm ausgelöst wird, zieht der Auto Scaling-Prozess 1 von 30,1 ab und erhält 29,1. Dies wird auf 30 aufgerundet, sodass keine Skalierungsaktion erfolgt. Nehmen wir jetzt an, dass Sie Instance-Gewichtungen von 2, 4 und 8 sowie die Zielkapazität 10 ausgewählt haben, jedoch keine Instances mit der Gewichtung 2 verfügbar waren. Die Spot-Flotte hat so Instances mit den Gewichtungen 4 und 8 für eine erfüllte Kapazität von 12 bereitgestellt. Wenn die Skalierungsrichtlinie die Zielkapazität um 20 % verringert und ein Alarm ausgelöst wird, zieht der Auto Scaling-Prozess 12\$10,2 von 12 ab und erhält 9,6. Dies wird auf 10 aufgerundet, sodass keine Skalierungsaktion erfolgt.
+ **Ruhephase** – Die für die Spot-Flotte erstellten Skalierungsrichtlinien unterstützen eine Ruhephase. Dabei handelt es sich um die Anzahl an Sekunden, nachdem eine Skalierung abgeschlossen ist, bei der sich vorherige Skalierungen basierend auf Auslösern auf zukünftige Skalierungsereignisse auswirken können. Bei Richtlinien für die Erweiterung wird während Ruhephasen die Kapazität, die durch das vorherige Skalierungsereignis hinzugefügt wurde, welches die Ruhephase initiiert hat, als Teil der gewünschten Kapazität für die nächste Erweiterung berechnet. Der Zweck ist eine kontinuierliche (jedoch nicht exzessive) Erweiterung. Bei Richtlinien für die Verkleinerung wird die Ruhephase verwendet, um nachfolgende Anforderungen für die Erweiterung zu sperren, bis sie abgelaufen ist. Der Zweck ist eine vorsichtige Verkleinerung, um die Verfügbarkeit Ihrer Anwendung zu schützen. Wenn während der Ruhephase nach einer Erweiterung jedoch ein anderer Alarm eine Verkleinerung auslöst, skaliert das Auto Scaling Ihr skalierbares Ziel sofort.
+ **Detailierte Überwachung nutzen** – Wir empfehlen, Instance-Metriken in einem Intervall von 1 Minute zu skalieren, weil so eine schnellere Reaktion auf Änderungen an der Auslastung sichergestellt wird. Werden Metriken in einem Intervall von 5 Minuten skaliert, kann dies zu einer verringerten Reaktionszeit und zu einer Skalierung von veralteten Metrikdaten führen. Um Metrikdaten für Ihre Instance an CloudWatch in 1-Minuten-Intervallen zu senden, müssen Sie die detaillierte Überwachung aktivieren. Weitere Informationen erhalten Sie unter [Detaillierte Überwachung für Ihre EC2-Instances verwalten](manage-detailed-monitoring.md) und [Eine Spot-Flottenanforderung mit definierten Parametern erstellen](create-spot-fleet.md#create-spot-fleet-advanced).
+ **AWS CLI**— Wenn Sie den für die Konfiguration der Skalierung AWS CLI für Spot Fleet verwenden, verwenden Sie die Befehle zur automatischen Skalierung von [Anwendungen.](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling)

# IAM-Berechtigungen für automatische Skalierung von Spot-Flotten
<a name="spot-fleet-auto-scaling-IAM"></a>

Die automatische Skalierung für Spot Fleet wird durch eine Kombination der Amazon EC2- CloudWatch, Amazon- und Application Auto Scaling Scaling-APIs ermöglicht. Spot-Flottenanfragen werden mit Amazon EC2, Alarme mit CloudWatch und Skalierungsrichtlinien mit Application Auto Scaling erstellt. Zusätzlich zu den [für die Verwendung der Spot-Flotte benötigten IAM-Berechtigungen ](spot-fleet-prerequisites.md#spot-fleet-iam-users) und Amazon EC2 muss der Benutzer, der auf die Einstellungen für die Flottenskalierung zugreift, über die entsprechenden Berechtigungen für die Services verfügen, die dynamische Skalierung unterstützen.

Um die automatische Skalierung für Spot-Flotte zu verwenden, müssen Benutzer auch die Berechtigung haben, die Aktionen in der folgenden Beispielrichtlinie zu verwenden. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "ec2:DescribeSpotFleetRequests",
                "ec2:ModifySpotFleetRequest",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "iam:CreateServiceLinkedRole",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Get*",
                "sns:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Sie können auch eigene IAM-Richtlinien erstellen, mit denen sich die Berechtigungen für Aufrufe der Application Auto Scaling-API präziser kontrollieren lassen. Weitere Informationen finden Sie unter [Serviceverknüpfte Rollen für Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/auth-and-access-control.html) im *Benutzerhandbuch zum Application Auto Scaling*.

Der Application Auto Scaling-Service benötigt außerdem die Erlaubnis, Ihre Spot-Flotte und CloudWatch Alarme zu beschreiben, sowie Berechtigungen, Ihre Spot-Flottenzielkapazität in Ihrem Namen zu ändern. Wenn Sie die automatische Skalierung für Ihre Spot-Flotte aktivieren, wird eine serviceverknüpfte Rolle namens `AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest` erstellt. Diese Service-verknüpfte Rolle gewährt Application Auto Scaling die Berechtigung zum Beschreiben der Alarme für die Richtlinien, zum Überwachen der aktuellen Kapazität der Flotte und zum Ändern der Kapazität der Flotte. Die ursprüngliche verwaltete Spot-Flotten-Rolle für Application Auto Scaling war `aws-ec2-spot-fleet-autoscale-role`, diese wird jedoch nicht mehr benötigt. Die Service-verknüpfte Rolle ist die Standardrolle für Application Auto Scaling. Weitere Informationen finden Sie unter [Serviceverknüpfte Rollen für Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) im *Benutzerhandbuch zu Application Auto Scaling*.

# Skalierung der Zielverfolgung: Skalieren der Spot-Flotte, indem auf einen Wert für eine bestimmte Metrik abgezielt wird
<a name="spot-fleet-target-tracking"></a>

Bei der Zielverfolgungsskalierung erstellen Sie eine Zielverfolgungsskalierungsrichtlinie, indem Sie eine Metrik auswählen und einen Zielwert festlegen. Spot Fleet erstellt und verwaltet dann die CloudWatch Alarme, die die Skalierungsrichtlinie auslösen, und berechnet die Skalierungsanpassung auf der Grundlage der ausgewählten Metrik und des Zielwerts. Die Skalierungsrichtlinie gleicht die Kapazität durch Hinzufügen oder Entfernen von Instances nach Bedarf an, um die Metrik auf oder nahe dem angegebenen Zielwert zu halten. Eine Zielverfolgungsskalierungsrichtlinie hält die Kennzahl nicht nur nahe am Zielwert, sondern sie passt sich auch den Schwankungen der Kennzahl aufgrund eines schwankenden Lastmusters an und minimiert schnelle Kapazitätsschwankungen.

Sie können für eine Spot-Flotte mehrere Zielverfolgungsskalierungsrichtlinie erstellen, sofern jede Richtlinie eine andere Metrik verwendet. Die Flotte skaliert basierend auf der Richtlinie, welche die größte Flotten-Kapazität bereitstellt. Dies ermöglicht Ihnen verschiedene Szenarien, um eine ausreichende Kapazität für Ihre Anwendungs-Workloads sicherzustellen.

Um die Verfügbarkeit der Anwendung sicherzustellen, wird die Flotte schnellstmöglich proportional zur Metrik hochskaliert, jedoch etwas langsamer herunterskaliert.

Wenn eine Spot-Flotte eine Instance aufgrund einer Verringerung der Zielkapazität beendet, erhält die Instance eine Benachrichtigung über die Unterbrechung einer Spot-Instance.

**Anmerkung**  
Bearbeiten oder löschen Sie nicht die CloudWatch Alarme, die Spot Fleet für eine Skalierungsrichtlinie zur Zielverfolgung verwaltet. Die Spot-Flotte löscht die Alarme automatisch, wenn Sie die Skalierungsrichtlinie für die Zielverfolgung löschen.

**Voraussetzungen**
+ Die Spot-Flottenanforderung muss den Anforderungstyp `maintain` aufweisen. Die automatische Skalierung wird für Anfragen vom Typ `request` nicht unterstützt.
+ Konfigurieren Sie [IAM-Berechtigungen für automatische Skalierung von Spot-Flotten](spot-fleet-auto-scaling-IAM.md).
+ Überprüfen Sie das [Überlegungen](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**So konfigurieren Sie eine Richtlinie für die Ziel-Nachverfolgung**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Auto Scaling** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Auto Scaling**.

1. Wenn Auto Scaling nicht konfiguriert ist, wählen Sie **Configure** aus.

1. Legen Sie anhand von **Scale capacity between** die Mindest- und Höchstkapazität für Ihre Flotte fest. Ihre Flotte wird durch Auto Scaling nicht auf einen Wert unter der Mindest- bzw. über der Höchstkapazität skaliert.

1. Geben Sie unter **Policy Name (Richtlinienname)** einen Namen für diese Richtlinie ein.

1. Wählen Sie eine **Target metric**.

1. Geben Sie einen **Target value (Zielwert)** für die Metrik ein.

1. Geben Sie für **die Abklingzeit** einen neuen Wert (in Sekunden) ein oder behalten Sie den Standardwert bei.

1. (Optional) Um die Erstellung einer Abskalierungsrichtlinie auf der Grundlage der aktuellen Konfiguration zu vermeiden, wählen Sie **Abskalieren deaktivieren**. Sie können eine Richtlinie für die horizontale Skalierung anhand einer anderen Konfiguration erstellen.

1. Wählen Sie **Save** aus.

**Um eine Richtlinie zur Zielverfolgung mit dem zu konfigurieren AWS CLI**

1. Registrieren Sie die Spot-Flotte-Anfrage mithilfe des [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)Befehls als skalierbares Ziel.

1. Erstellen Sie mit dem [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)Befehl eine Skalierungsrichtlinie.

# Stufenweise Skalierung: Skalieren der Spot-Flotte anhand von Richtlinien zur stufenweisen Skalierung
<a name="spot-fleet-step-scaling"></a>

Bei Richtlinien zur schrittweisen Skalierung geben Sie CloudWatch Alarme an, um den Skalierungsprozess auszulösen. Wenn Sie die Zielkapazität beispielsweise erweitern möchten, wenn die CPU-Auslastung ein bestimmtes Level erreicht, erstellen Sie einen Alarm mit der von `CPUUtilization` bereitgestellten Metrik Amazon EC2.

Beim Erstellen einer Richtlinie zur schrittweisen Skalierung müssen Sie einen der folgenden Skalierungsanpassungstypen angeben:
+ **Add** (Hinzufügen) – Erhöhen Sie die Zielkapazität der Flotte um eine angegebene Anzahl von Kapazitätseinheiten oder einen angegebenen Prozentsatz der aktuellen Kapazität.
+ **Remove** (Entfernen) – Verringern Sie die Zielkapazität der Flotte um eine angegebene Anzahl von Kapazitätseinheiten oder einen angegebenen Prozentsatz der aktuellen Kapazität.
+ **Set to** (Festlegen auf) – Legen Sie die Zielkapazität der Flotte auf die angegebene Anzahl an Kapazitätseinheiten fest.

Wenn ein Alarm ausgelöst wird, berechnet der Auto Scaling-Prozess die neue Zielkapazität anhand der erfüllten Kapazität und der Skalierungsrichtlinie und aktualisiert Sie Zielkapazität anschließend entsprechend. Nehmen wir beispielsweise an, dass die Zielkapazität und die erfüllte Kapazität 10 betragen und die Skalierungsrichtlinie 1 hinzufügt. Wenn der Alarm ausgelöst wird, fügt der Auto-Scaling-Prozess 1 bis 10 hinzu, um 11 zu erhalten. Die Spot-Flotte startet also 1 Instance.

Wenn eine Spot-Flotte eine Instance aufgrund einer Verringerung der Zielkapazität beendet, erhält die Instance eine Benachrichtigung über die Unterbrechung einer Spot-Instance.

**Voraussetzungen**
+ Die Spot-Flottenanforderung muss den Anforderungstyp `maintain` aufweisen. Die automatische Skalierung wird für Anfragen vom Typ `request` nicht unterstützt.
+ Konfigurieren Sie [IAM-Berechtigungen für automatische Skalierung von Spot-Flotten](spot-fleet-auto-scaling-IAM.md).
+ Überlegen Sie, welche CloudWatch Metriken für Ihre Anwendung wichtig sind. Sie können CloudWatch Alarme auf der Grundlage von Metriken AWS oder Ihrer eigenen benutzerdefinierten Metriken erstellen.
+ Aktivieren Sie für die AWS Metriken, die Sie in Ihren Skalierungsrichtlinien verwenden werden, die Erfassung von CloudWatch Metriken, falls der Dienst, der die Metriken bereitstellt, sie nicht standardmäßig aktiviert.
+ Überprüfen Sie das [Überlegungen](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Um einen CloudWatch Alarm zu erstellen**

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Erweitern Sie im Navigationsbereich **Alarme**, dann **Alle Alarme**.

1. Wählen Sie **Create Alarm (Alarm erstellen)** aus.

1. Wählen Sie auf der Seite **Specify metric and conditions (Metrik und Bedingungen angeben)** die Option **Select metric (Metrik auswählen)** aus: 

1. Wählen Sie **EC2 Spot**, dann **Fleet Request Metrics** und dann eine Metrik (z. B. **TargetCapacity**) und wählen Sie dann **Metrik auswählen aus**.

   Die Seite **Specify metric and conditions (Metrik und Bedingungen festlegen)** mit einem Diagramm und weiteren Informationen über die von Ihnen ausgewählte Metrik werden anzeigt. 

1. Wählen Sie unter **Zeitraum** den Auswertungszeitraum für den Alarm aus, z. B. **1 Minute**. Beim Auswerten des Alarms wird jeder Zeitraum in einem Datenpunkt zusammengefasst. 
**Anmerkung**  
Ein kürzerer Zeitraum erzeugt eine höhere Alarmempfindlichkeit. 

1. Legen Sie unter **Conditions (Bedingungen)** den Schwellenwert des Alarms fest. Sie können beispielsweise einen Schwellenwert angeben, damit der Alarm jedes Mal ausgelöst wird, wenn der Wert für die Metrik bei 80 Prozent oder höher liegt.

1. Geben Sie unter **Additional configuration (Zusätzliche Konfiguration)** für **Datapoints to alarm (Datenpunkte bis zum Alarm)** an, wie viele Datenpunkte (Auswertungszeiträume) sich im Alarmzustand befinden müssen, damit der Alarm ausgelöst wird, z. B. 1 Bewertungszeitraum oder 2 von 3 Bewertungszeiträumen. Dies erzeugt einen Alarm, der in den ALARM-Zustand übergeht, wenn viele aufeinander folgende Zeiträume überschritten werden. Weitere Informationen finden Sie unter [Auswertung eines Alarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) im * CloudWatch Amazon-Benutzerhandbuch*.

1. Wählen Sie für **Missing data treatment (Behandlung fehlender Daten)** eine der Optionen aus (oder belassen Sie es bei der Standardoption **Treat missing data as missing (Fehlende Daten als fehlend behandeln)**). Weitere Informationen finden Sie unter [Konfiguration der Behandlung fehlender Daten durch CloudWatch Alarme](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) im * CloudWatch Amazon-Benutzerhandbuch*.

1. Wählen Sie **Next**.

1. (Optional) Um eine Benachrichtigung zu einem Skalierungsereignis zu empfangen, können Sie für **Notification (Benachrichtigung)** das Amazon SNS-Thema auswählen oder erstellen, das zum Empfangen der Benachrichtigungen verwendet werden soll. Andernfalls können Sie die Benachrichtigung jetzt löschen und bei Bedarf später eine hinzufügen.

1. Wählen Sie **Next**.

1. Geben Sie unter **Hinzufügen einer Beschreibung** einen Namen und eine Beschreibung für den Alarm ein und klicken Sie auf **Weiter**.

1. Wählen Sie **Alarm erstellen** aus.

**So konfigurieren Sie die Richtlinie für schrittweise Skalierung für Ihre Spot-Flotte**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Auto Scaling** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Auto Scaling**.

1. Wenn Auto Scaling nicht konfiguriert ist, wählen Sie **Configure** aus.

1. Legen Sie anhand von **Scale capacity between** die Mindest- und Höchstkapazität für Ihre Flotte fest. Die Skalierungsrichtlinien lassen Ihre Flotte nicht unter die Mindestkapazität oder über die maximale Kapazität hinaus skalieren.

1. Wählen Sie für **Skalierungsrichtlinien**, **Richtlinientyp** **Stufenskalierungsrichtlinie** aus.

1. Zunächst enthalten **Skalierungsrichtlinien** Richtlinien für die schrittweise Skalierung mit den Namen **ScaleUp** und **ScaleDown**. Sie können diese Richtlinien abschließen oder sie mit **Remove policy** entfernen. Sie können außerdem **Add policy (Richtlinie hinzufügen)** auswählen.

1. Gehen Sie wie folgt vor, um eine Richtlinie zu definieren:

   1. Geben Sie unter **Policy Name (Richtlinienname)** einen Namen für diese Richtlinie ein.

   1. Wählen Sie für **Policy trigger** einen vorhandenen Alarm aus oder wählen Sie **Alarm erstellen**, um die CloudWatch Amazon-Konsole zu öffnen und einen Alarm zu erstellen.

   1. Definieren Sie für **Kapazität ändern**den Betrag, um den skaliert werden soll, sowie die untere und obere Grenze der Schrittanpassung. Sie können eine bestimmte Anzahl von Instances oder einen Prozentsatz der bestehenden Flottengröße hinzufügen oder entfernen oder die Flotte auf eine exakte Größe festlegen. 

      Um beispielsweise eine Richtlinie zur schrittweisen Skalierung zu erstellen, welche die Kapazität der Flotte um 30 Prozent erhöht, wählen Sie **Hinzufügen**, geben Sie **30** in das nächste Feld ein, und wählen Sie dann **Prozent**. Standardmäßig ist die untere Grenze für eine Hinzufügerichtlinie die Alarmschwelle und die obere Grenze ist positiv (\$1) unendlich. Standardmäßig ist die obere Grenze für eine Entfernerichtlinie die Alarmschwelle und die untere Grenze ist negativ (-) unendlich.

   1. (Optional) Um einen weiteren Schritt hinzuzufügen, wählen Sie **Schritt hinzufügen**.

   1. Geben Sie für **die Abklingzeit** einen neuen Wert (in Sekunden) ein oder behalten Sie den Standardwert bei.

1. Wählen Sie **Speichern**.

**Um Richtlinien für die schrittweise Skalierung für Ihre Spot-Flotte zu konfigurieren, verwenden Sie AWS CLI**

1. Registrieren Sie die Spot-Flotte-Anfrage mithilfe des [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)Befehls als skalierbares Ziel.

1. Erstellen Sie mit dem [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)Befehl eine Skalierungsrichtlinie.

1. Erstellen Sie mit dem [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)Befehl einen Alarm, der die Skalierungsrichtlinie auslöst.

# Geplante Skalierung: Spot-Flotte nach einem Zeitplan skalieren
<a name="spot-fleet-scheduled-scaling"></a>

Eine Skalierung Ihrer Flotte anhand eines Zeitplans ermöglicht es Ihnen, Ihre Anwendung entsprechend vorhersagbarer Anforderungsänderungen zu skalieren. Durch Erstellen von *geplanten Aktionen* können Sie die Spot-Flotte anweisen, Skalierungen zu bestimmten Zeitpunkten durchzuführen. Wenn Sie eine geplante Aktion erstellen, geben Sie eine vorhandene Spot-Flotte und die minimale und maximale Kapazität sowie den Zeitpunkt an, an dem die Skalierung durchgeführt werden soll. Geplante Aktionen können so konfiguriert werden, dass sie einmalig oder nach einem wiederkehrenden Zeitplan skalieren. Wenn Sie Änderungen benötigen, können Sie geplante Aktionen bearbeiten oder löschen.

**Voraussetzungen**
+ Geplante Aktionen können nur für bestehende Spot-Flotten erstellt werden. Sie können keine geplante Aktion erstellen, während Sie eine Spot-Flotte erstellen.
+ Die Spot-Flottenanforderung muss den Anforderungstyp `maintain` aufweisen. Die automatische Skalierung wird für Anfragen vom Typ `request` nicht unterstützt.
+ Konfigurieren Sie [IAM-Berechtigungen für automatische Skalierung von Spot-Flotten](spot-fleet-auto-scaling-IAM.md).
+ Überprüfen Sie das [Überlegungen](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Erstellen Sie eine einmalige geplante Aktion wie folgt:**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Geplante Skalierung** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Geplante Skalierung**.

1. Wählen Sie **Geplante Aktion erstellen**.

1. Geben Sie unter **Name** einen neuen Namen für die geplante Aktion ein.

1. Geben Sie einen Wert für **Minimum capacity (Minimale Kapazität)**, **Maximum capacity (Maximale Kapazität)** oder beides ein.

1. Wählen Sie für **Recurrence (Wiederholung)** **Once (Einmal)** aus.

1. (Optional) Wählen Sie ein Datum und eine Uhrzeit für **Start time (Startzeit)**, **End time (Endzeit)** oder beides.

1. Wählen Sie **Erstellen** aus.

**Einen sich wiederholenden Zeitplan erstellen**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Geplante Skalierung** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Geplante Skalierung**.

1. Geben Sie unter **Name** einen neuen Namen für die geplante Aktion ein.

1. Geben Sie einen Wert für **Minimum capacity (Minimale Kapazität)**, **Maximum capacity (Maximale Kapazität)** oder beides ein.

1. Wählen Sie für **Recurrence (Wiederholung)** einen der vordefinierten Zeitpläne (z. B. **Every day (Jeden Tag)**) oder wählen Sie **Custom (Benutzerdefiniert)** und geben Sie einen Cron-Ausdruck ein. Weitere Informationen zu den Cron-Ausdrücken, die von der geplanten Skalierung unterstützt werden, finden Sie unter [Cron-Ausdrücke](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html#eb-cron-expressions) im * EventBridge Amazon-Benutzerhandbuch*.

1. (Optional) Wählen Sie ein Datum und eine Uhrzeit für **Start time (Startzeit)**, **End time (Endzeit)** oder beides.

1. Klicken Sie auf **Submit (Absenden)**.

**So bearbeiten Sie eine geplante Aktion**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Geplante Skalierung** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Geplante Skalierung**.

1. Wählen Sie die geplante Aktion dann **Actions (Aktionen)** und anschließend **Edit (Bearbeiten)** aus.

1. Nehmen Sie die notwendigen Änderungen vor und klicken Sie auf **Submit (Senden)**.

**So löschen Sie eine geplante Aktion**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Spot Requests** aus.

1. Wählen Sie Ihre Spot-Flotten-Anforderung aus.

1. Wählen Sie die Registerkarte **Geplante Skalierung** am unteren Bildschirmrand. Wenn Sie den Link für Ihre Spot-Flotte ausgewählt haben, gibt es keine Registerkarte. Scrollen Sie stattdessen nach unten zum Abschnitt **Geplante Skalierung**.

1. Wählen Sie die geplante Aktion dann **Actions (Aktionen)** und anschließend **Delete (Löschen)** aus.

1. Wenn Sie zur Bestätigung aufgefordert werden, wählen Sie **Delete (Löschen)**.

**Um die geplante Skalierung mit dem zu verwalten AWS CLI**

Verwenden Sie die folgenden Befehle:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html)
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html)
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scheduled-action.html)

# Ihre EC2-Flotte oder Spot-Flotte überwachen
<a name="fleet-monitor"></a>

Eine effektive Überwachung Ihrer EC2-Flotte oder Spot-Flotte ist für die Aufrechterhaltung einer optimalen Leistung und Gewährleistung der Zuverlässigkeit unerlässlich. Es gibt verschiedene Tools, die Ihnen dabei helfen, dies zu erreichen, darunter Amazon CloudWatch und Amazon EventBridge, die in diesem Thema behandelt werden.

Damit CloudWatch können Sie Kennzahlen sammeln und verfolgen, Alarme einrichten und automatisch auf Änderungen im Status Ihrer Flotte reagieren.

Mit können Sie Ereignisse EventBridge, die von Ihrer Flotte ausgelöst werden, überwachen und programmgesteuert darauf reagieren. Durch die Definition von Regeln in EventBridge können Sie die Reaktionen auf bestimmte Flottenereignisse, wie z. B. das Beenden von Instances oder Änderungen des Flottenstatus, automatisieren und so Ihre betriebliche Effizienz verbessern.

**Topics**
+ [

# Überwachen Sie Ihre EC2-Flotte oder Spot-Flotte mit CloudWatch
](ec2-fleet-cloudwatch-metrics.md)
+ [

# Überwachen Sie mithilfe von Amazon die Ereignisse, die von Ihrer EC2-Flotte oder Spot-Flotte ausgelöst werden, und reagieren Sie programmgesteuert darauf EventBridge
](monitor-ec2-fleet-using-eventbridge.md)

# Überwachen Sie Ihre EC2-Flotte oder Spot-Flotte mit CloudWatch
<a name="ec2-fleet-cloudwatch-metrics"></a>

Sie können Ihre EC2-Flotte oder Spot-Flotte anhand der in diesem Abschnitt beschriebenen CloudWatch Amazon-Metriken überwachen.

**Wichtig**  
Um die Genauigkeit zu gewährleisten, empfehlen wir, beim Verwenden dieser Metriken die detaillierte Überwachung zu aktivieren. Weitere Informationen finden Sie unter [Detaillierte Überwachung für Ihre EC2-Instances verwalten](manage-detailed-monitoring.md).

Weitere Informationen zur Verwendung finden Sie CloudWatch unter[Überwachen Sie Ihre Instances mit CloudWatch](using-cloudwatch.md).

## EC2-Flotten- und Spot-Flotten-Metriken
<a name="ec2-fleet-metrics"></a>

Der `AWS/EC2Spot` Namespace umfasst die folgenden Metriken für Ihre Flotte sowie die CloudWatch Metriken für die Spot-Instances in Ihrer Flotte. Weitere Informationen finden Sie unter [Instance-Metriken](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics).


| Metrik | Description | 
| --- | --- | 
| AvailableInstancePoolsCount |  Die Spot-Kapazitätspools, die in der Flotten-Anforderung angegeben wurden. Einheiten: Anzahl  | 
| BidsSubmittedForCapacity |  Die Kapazität, für die Amazon EC2 Flotten-Anforderungen übermittelt hat. Einheiten: Anzahl  | 
| EligibleInstancePoolCount |  Die Spot-Kapazitätspools, die in der Flotten-Anforderung angegeben sind, bei denen Amazon EC2 Anforderungen erfüllen kann. Amazon EC2 erfüllt keine Anforderungen in Pools, in denen Ihr Höchstpreis für Spot-Instances für Spot Instances unter dem Spot-Preis liegt oder der Spot-Preis über dem Preis für On-Demand-Instances liegt. Einheiten: Anzahl  | 
| FulfilledCapacity |  Von Amazon EC2 erfüllte Kapazität. Einheiten: Anzahl  | 
| MaxPercentCapacityAllocation |  Der Höchstwert von `PercentCapacityAllocation` über alle Flotten-Pools hinweg, die in der Flotten-Anforderung angegeben wurden. Einheiten: Prozent  | 
| PendingCapacity |  Differenz zwischen `TargetCapacity` und `FulfilledCapacity`. Einheiten: Anzahl  | 
| PercentCapacityAllocation |  Dem Spot-Kapazitätspool für die angegebenen Dimensionen zugeordnete Kapazität. Der höchste registriert Wert aller Spot-Kapazitätspools kann mit `MaxPercentCapacityAllocation` ermittelt werden. Einheiten: Prozent  | 
| TargetCapacity |  Die Zielkapazität der Flotten-Anforderung. Einheiten: Anzahl  | 
| TerminatingCapacity |  Die Kapazität, die beendet wird, da die bereitgestellte Kapazität größer als die Zielkapazität ist. Einheiten: Anzahl  | 

Wenn die Maßeinheit einer Metrik `Count` ist, lautet die nützlichste Statistik `Average`.

## EC2-Flotten- und Spot-Flotten-Dimensionen
<a name="ec2-fleet-dimensions"></a>

Verwenden Sie die folgenden Dimensionen, um die Daten für Ihre Flotte zu filtern.


| Dimensionen | Beschreibung | 
| --- | --- | 
| AvailabilityZone |  Filtern Sie die Daten nach Availability Zone.  | 
| FleetRequestId |  Filtern Sie die Daten nach Flottenanfrage.  | 
| InstanceType |  Filtern Sie die Daten nach Instance-Typ.  | 

## Sehen Sie sich die CloudWatch Metriken für Ihre EC2-Flotte oder Spot-Flotte an
<a name="view-ec2-fleet-metrics"></a>

Sie können die CloudWatch Kennzahlen für Ihre Flotte in der CloudWatch Amazon-Konsole einsehen. Diese Metriken werden in Überwachungsdiagrammen dargestellt. Diese Grafiken zeigen Datenpunkte, wenn die Flotte aktiv ist.

Metriken werden zuerst nach dem Namespace und dann nach den verschiedenen Kombinationen von Dimensionen in jedem Namespace gruppiert. Sie können beispielsweise alle Flotten-Metriken oder Gruppen von Flotten-Metriken nach Flotten-Anforderungs-ID, Instance-Typ oder Availability Zone anzeigen.

**Flottenmetriken anzeigen**

1. Öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Erweitern Sie im Navigationsbereich **Metriken** und wählen Sie dann **Alle Metriken** aus.

1. Wählen Sie den **EC2 Spot**-Namespace aus.
**Anmerkung**  
Wenn der **EC2 Spot**-Namespace nicht angezeigt wird, gibt es dafür zwei Gründe. Entweder haben Sie EC2 Fleet oder Spot Fleet in der Region noch nie verwendet — nur die AWS Dienste, die Sie verwenden, senden Messwerte an Amazon. CloudWatch Oder, falls Sie die EC2-Flotte oder Spot-Flotte in den letzten zwei Wochen nicht verwendet haben, wird der Namespace nicht angezeigt.

1. (Um die Metriken nach Dimensionen zu filtern, wählen Sie einen der folgenden Schritte aus:
   + **Flottenanforderungsmetriken** – Gruppieren nach Spot-Flotten-Anforderung
   + **Nach Availability Zone** – Gruppieren nach Spot-Flotten-Anforderung und Availability Zone
   + **Nach Instance-Typ** – Gruppieren nach Spot-Flotten-Anforderung und Instance-Typ
   + **Nach Zone/Instance Verfügbarkeitstyp** — Gruppieren Sie nach Flottenanfrage, Availability Zone und Instance-Typ

1. Um die Daten für eine Metrik anzuzeigen, aktivieren Sie das Kontrollkästchen neben der Metrik.

# Überwachen Sie mithilfe von Amazon die Ereignisse, die von Ihrer EC2-Flotte oder Spot-Flotte ausgelöst werden, und reagieren Sie programmgesteuert darauf EventBridge
<a name="monitor-ec2-fleet-using-eventbridge"></a>

Wenn sich der Zustand einer EC2-Flotte oder Spot-Flotte ändert, gibt die Flotte eine Benachrichtigung aus. Die Benachrichtigung wird als Ereignis zur Verfügung gestellt, das an Amazon gesendet wird EventBridge (früher bekannt als Amazon CloudWatch Events). Ereignisse werden auf bestmögliche Weise ausgegeben.

Sie können Amazon verwenden EventBridge , um Regeln zu erstellen, die als Reaktion auf ein Ereignis programmatische Aktionen auslösen. Sie können beispielsweise zwei EventBridge Regeln erstellen: eine wird ausgelöst, wenn sich der Status einer Flotte ändert, und eine weitere, wenn eine Instance in der Flotte beendet wird. Sie können in diesem Beispiel die erste Regel so konfigurieren, dass bei einer Änderung des Flottenstatus die Regel ein SNS-Thema aufruft, um Ihnen eine E-Mail-Benachrichtigung zu senden. Sie können die zweite Regel so konfigurieren, dass beim Beenden einer Instance in der Flotte die Regel eine Lambda-Funktion aufruft, um eine neue Instance zu starten.

**Anmerkung**  
Nur Flotten vom Typ `maintain` und `request` emittieren Ereignisse. Flotten des Typs `instant` geben keine Ereignisse aus, da sie synchrone einmalige Anfragen senden und der Zustand der Flotte in der Antwort sofort bekannt ist. Um Amazon EventBridge zur Überwachung von Flottenereignissen verwenden zu können, muss der Anfragetyp `maintain` oder sein`request`.

Anweisungen zum Beschreiben des Ereignisverlaufs einer Flotte finden Sie unter [Eventhistorie für Ihre EC2-Flotte beschreiben](describe-ec2-fleet.md#describe-ec2-fleet-event-history).

**Topics**
+ [

## Erstellen Sie EventBridge Amazon-Regeln zur Überwachung von EC2 Fleet- oder Spot-Flotte-Ereignissen
](#fleet_create-eventbridge-rules)
+ [

## EC2-Flotte-Ereignistypen
](#ec2-fleet-event-types)
+ [

## Ereignistypen für Spot-Flotten
](#spot-fleet-event-types)

## Erstellen Sie EventBridge Amazon-Regeln zur Überwachung von EC2 Fleet- oder Spot-Flotte-Ereignissen
<a name="fleet_create-eventbridge-rules"></a>

Wenn eine Statusänderungsbenachrichtigung für eine EC2-Flotte oder Spot-Flotte ausgegeben wird, wird sie als Ereignis EventBridge als JSON-Datei an Amazon gesendet. Wenn ein Ereignismuster EventBridge erkannt wird, das einem in einer Regel definierten Muster entspricht, EventBridge ruft es das in der Regel angegebene Ziel (oder die Ziele) auf.

Sie können EventBridge Regeln schreiben, um Aktionen auf der Grundlage übereinstimmender Ereignismuster zu automatisieren. 

Die folgenden Felder des Ereignisses bilden das Ereignismuster, das eine Aktion aufruft:

`"source": "aws.ec2fleet"`  
Gibt an, dass das Ereignis aus EC2-Flotte stammt.

`"detail-type": "EC2 Fleet State Change"`  
Identifiziert den Ereignistyp.

`"detail": { "sub-type": "submitted" }`  
Identifiziert den Ereignis-Sub-Typ.

Eine Liste der EC2-Flotten- und Spot-Flotten-Ereignisse und Beispielereignisdaten finden Sie unter [EC2-Flotte-Ereignistypen](#ec2-fleet-event-types) und [Ereignistypen für Spot-Flotten](#spot-fleet-event-types).

**Topics**
+ [

### Erstellen Sie eine EventBridge Regel, um eine Benachrichtigung zu senden
](#eventbridge-send-notification)
+ [

### Erstellen Sie eine EventBridge Regel, um eine Lambda-Funktion auszulösen
](#eventbridge-trigger-lambda)

### Erstellen Sie eine EventBridge Regel, um eine Benachrichtigung zu senden
<a name="eventbridge-send-notification"></a>

Im folgenden Beispiel wird eine EventBridge Regel erstellt, die jedes Mal, wenn Amazon EC2 eine Benachrichtigung über eine Änderung des EC2-Flottenstatus ausgibt, eine E-Mail, eine Textnachricht oder eine mobile Push-Benachrichtigung sendet. Das Signal in diesem Beispiel wird als `EC2 Fleet State Change`-Ereignis ausgegeben, das die durch die Regel definierte Aktion auslöst.

**Voraussetzung**  
Bevor Sie die EventBridge Regel erstellen, müssen Sie das Amazon SNS SNS-Thema für die E-Mail, Textnachricht oder mobile Push-Benachrichtigung erstellen.

**Um eine EventBridge Regel zum Senden einer Benachrichtigung zu erstellen, wenn sich der Status einer EC2-Flotte ändert**

1. Öffnen Sie die EventBridge Amazon-Konsole unter [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Wählen Sie **Regel erstellen** aus.

1. Zum **Define rule detail** (Festlegen der Regeldetails) gehen Sie folgendermaßen vor:

   1. Geben Sie für die Regel einen **Name (Namen)** und optional eine Beschreibung ein.

      Eine Regel darf nicht denselben Namen wie eine andere Regel in derselben Region und auf demselben Event Bus haben.

   1. Bei **Event bus** (Ereignisbus) wählen Sie **default** (Standard) aus. Wenn ein AWS Service in Ihrem Konto ein Ereignis generiert, wird es immer an den Standard-Event-Bus Ihres Kontos weitergeleitet.

   1. Bei **Regeltyp** wählen Sie **Regel mit einem Ereignismuster** aus.

   1. Wählen Sie **Weiter** aus.

1. Bei **Build event pattern** (Ereignis-Muster erstellen) gehen Sie wie folgt vor:

   1. Wählen Sie als **Eventquelle AWS ** **Events oder EventBridge Partnerevents** aus.

   1. Bei **Event pattern** (Ereignismuster) in diesem Beispiel geben Sie das folgende Ereignismuster an, um mit dem `EC2 Fleet Instance Change`-Ereignis übereinzustimmen.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"]
      }
      ```

      Um das Ereignismuster hinzuzufügen, können Sie entweder eine Vorlage verwenden, indem Sie **Event pattern form** (Ereignismusterformular) auswählen oder Sie spezifizieren Ihr eigenes Muster, indem Sie **Custom pattern (JSON-Editor)** (Benutzerdefiniertes Muster (JSON-Editor)) auswählen, siehe nachfolgend:

      1. Gehen Sie wie folgt vor, um eine Vorlage zum Erstellen des Ereignismusters zu erstellen:

         1. Wählen Sie **Event pattern form** (Ereignismusterformular) aus.

         1. Als **Event source** (Ereignisquelle) wählen Sie **AWS -Services** aus.

         1. Wählen Sie für **AWS Service name** (Servicename) **EC2 Fleet** (EC2-Flotte) aus.

         1. Wählen Sie für **Event type** (Ereignistyp) **EC2 Fleet Instance Change** (Änderung der EC2-Flotten-Instance) aus.

         1. Um die Vorlage anzupassen, wählen Sie **Edit pattern** (Muster bearbeiten) und nehmen Sie Ihre Änderungen vor, damit sie dem Beispiel-Ereignismuster entsprechen.

      1. (Alternativ) So geben Sie ein benutzerdefiniertes Ereignismuster an:

         1. Wählen Sie **Custom pattern (JSON editor)** (Benutzerdefiniertes Muster (JSON-Editor)) aus.

         1. In dem Feld **Event pattern** (Ereignismuster) fügen Sie das Ereignismuster für dieses Beispiel hinzu.

   1. Wählen Sie **Weiter** aus.

1. Bei **Select target(s)** (Ziel(e) auswählen) gehen Sie wie folgt vor:

   1. Bei **Target types** (Zieltypen) wählen Sie **AWS -Service** aus.

   1. Bei **Select a target** (Ziel auswählen) wählen Sie **SNS topic** (SNS-Thema) aus, um eine E-Mail, eine SMS oder eine mobile Push-Benachrichtigung zu senden, wenn das Ereignis eintritt.

   1. Wählen Sie für **Topic (Thema)** ein vorhandenes Thema aus. Sie müssen zuerst mit der Amazon-SNS-Konsole ein Amazon-SNS-Thema erstellen. Weitere Informationen finden Sie unter [Verwenden von Amazon SNS für application-to-person (A2P) -Messaging](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) im *Amazon Simple Notification Service Developer Guide*.

   1. (Optional) Unter **Additional settings** (Zusätzliche Einstellungen) können Sie optional zusätzliche Einstellungen konfigurieren. Weitere Informationen finden Sie im [* EventBridge Amazon-Benutzerhandbuch* unter EventBridge Amazon-Regeln erstellen, die auf Ereignisse reagieren](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (Schritt 16).

   1. Wählen Sie **Weiter** aus.

1. (Optional) Bei **Tags** können Sie Ihrer Regel optional einen Tag oder mehrere Tags hinzufügen und dann **Next** (Weiter) auswählen.

1. Bei **Review and create** (Überprüfen und erstellen) gehen Sie wie folgt vor:

   1. Überprüfen Sie die Details der Regel und ändern Sie sie nach Bedarf.

   1. Wählen Sie **Regel erstellen** aus.

Weitere Informationen finden Sie unter [ EventBridge Amazon-Regeln](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) und [ EventBridge Amazon-Ereignismuster](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) im * EventBridge Amazon-Benutzerhandbuch*

### Erstellen Sie eine EventBridge Regel, um eine Lambda-Funktion auszulösen
<a name="eventbridge-trigger-lambda"></a>

Im folgenden Beispiel wird eine EventBridge Regel erstellt, die jedes Mal eine Lambda-Funktion auslöst, wenn Amazon EC2 beim Start einer Instance eine EC2 Fleet-Instance-Änderungsbenachrichtigung ausgibt. Das Signal in diesem Beispiel wird als `EC2 Fleet Instance Change`-Ereignis, Sub-Typ `launched`, ausgegeben, das die durch die Regel definierte Aktion auslöst.

Bevor Sie die EventBridge Regel erstellen, müssen Sie die Lambda-Funktion erstellen.

**Um die Lambda-Funktion zu erstellen, die in der EventBridge Regel verwendet werden soll**

1. Öffnen Sie die AWS Lambda Konsole unter. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)

1. Wählen Sie **Create function (Funktion erstellen)**.

1. Geben Sie einen Namen für Ihre Funktion ein, konfigurieren Sie den Code und wählen Sie dann **Create function (Funktion erstellen)**.

   Weitere Informationen finden Sie unter [Erstellen Ihrer ersten Lambda-Funktion](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) im *Entwicklerhandbuch für AWS Lambda *.

**Um eine EventBridge Regel zum Auslösen einer Lambda-Funktion zu erstellen, wenn sich der Status einer Instance in einer EC2-Flotte ändert**

1. Öffnen Sie die EventBridge Amazon-Konsole unter [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Wählen Sie **Regel erstellen** aus.

1. Zum **Define rule detail** (Festlegen der Regeldetails) gehen Sie folgendermaßen vor:

   1. Geben Sie für die Regel einen **Name (Namen)** und optional eine Beschreibung ein.

      Eine Regel darf nicht denselben Namen wie eine andere Regel in derselben Region und auf demselben Event Bus haben.

   1. Bei **Event bus** (Ereignisbus) wählen Sie **default** (Standard) aus. Wenn ein AWS Service in Ihrem Konto ein Ereignis generiert, wird es immer an den Standard-Event-Bus Ihres Kontos weitergeleitet.

   1. Bei **Regeltyp** wählen Sie **Regel mit einem Ereignismuster** aus.

   1. Wählen Sie **Weiter** aus.

1. Bei **Build event pattern** (Ereignis-Muster erstellen) gehen Sie wie folgt vor:

   1. Wählen Sie als **Eventquelle AWS ** **Events oder EventBridge Partnerevents** aus.

   1. Für **Event pattern** (Ereignismuster) in diesem Beispiel geben Sie das folgende Ereignismuster an, das dem `EC2 Fleet Instance Change`-Ereignis und `launched`-Subtyp übereinstimmt.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"],
       "detail": {
         "sub-type": ["launched"]
      }
      ```

      Um das Ereignismuster hinzuzufügen, können Sie entweder eine Vorlage verwenden, indem Sie **Event pattern form** (Ereignismusterformular) auswählen oder Sie spezifizieren Ihr eigenes Muster, indem Sie **Custom pattern (JSON-Editor)** (Benutzerdefiniertes Muster (JSON-Editor)) auswählen, siehe nachfolgend:

      1. Gehen Sie wie folgt vor, um eine Vorlage zum Erstellen des Ereignismusters zu erstellen:

         1. Wählen Sie **Event pattern form** (Ereignismusterformular) aus.

         1. Als **Event source** (Ereignisquelle) wählen Sie **AWS -Services** aus.

         1. Wählen Sie für **AWS Service name** (Servicename) **EC2 Fleet** (EC2-Flotte) aus.

         1. Wählen Sie für **Event type** (Ereignistyp) **EC2 Fleet Instance Change** (Änderung der EC2-Flotten-Instance) aus.

         1. Wählen Sie **Edit pattern** (Muster bearbeiten) aus und fügen Sie `"detail": {"sub-type": ["launched"]` hinzu, um dem Beispiel-Ereignismuster zu entsprechen. Fügen Sie für das richtige JSON-Format ein Komma (`,`) nach der vorhergehenden eckigen Klammer (`]`) ein.

      1. (Alternativ) So geben Sie ein benutzerdefiniertes Ereignismuster an:

         1. Wählen Sie **Custom pattern (JSON editor)** (Benutzerdefiniertes Muster (JSON-Editor)) aus.

         1. In dem Feld **Event pattern** (Ereignismuster) fügen Sie das Ereignismuster für dieses Beispiel hinzu.

   1. Wählen Sie **Weiter** aus.

1. Bei **Select target(s)** (Ziel(e) auswählen) gehen Sie wie folgt vor:

   1. Bei **Target types** (Zieltypen) wählen Sie **AWS -Service** aus.

   1. Bei **Select a target** (Ziel auswählen) wählen Sie **SNS topic** (SNS-Thema) aus, um eine E-Mail, eine SMS oder eine mobile Push-Benachrichtigung zu senden, wenn das Ereignis eintritt.

   1. Wählen Sie für **Topic** (Thema) **Lambda function** (Lambda-Funktion) und für **Function** (Funktion) die Funktion, die Sie erstellt haben, um beim Auftreten des Ereignisses zu reagieren.

   1. (Optional) Unter **Additional settings** (Zusätzliche Einstellungen) können Sie optional zusätzliche Einstellungen konfigurieren. Weitere Informationen finden Sie im [* EventBridge Amazon-Benutzerhandbuch* unter EventBridge Amazon-Regeln erstellen, die auf Ereignisse reagieren](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (Schritt 16).

   1. Wählen Sie **Weiter** aus.

1. (Optional) Bei **Tags** können Sie Ihrer Regel optional einen Tag oder mehrere Tags hinzufügen und dann **Next** (Weiter) auswählen.

1. Bei **Review and create** (Überprüfen und erstellen) gehen Sie wie folgt vor:

   1. Überprüfen Sie die Details der Regel und ändern Sie sie nach Bedarf.

   1. Wählen Sie **Regel erstellen** aus.

*Ein Tutorial zum Erstellen einer Lambda-Funktion und einer EventBridge Regel, die die Lambda-Funktion ausführt, finden Sie unter [Tutorial: Log the State of an Amazon EC2 Instance Using EventBridge im AWS Lambda Developer](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-log-ec2-instance-state.html) Guide.*

## EC2-Flotte-Ereignistypen
<a name="ec2-fleet-event-types"></a>

Es gibt fünf EC2-Flotte-Ereignistypen. Für jeden Ereignistyp gibt es mehrere Sub-Typen.

**Topics**
+ [

### Verändern des EC2-Flottenzustand
](#ec2-fleet-state-change)
+ [

### Ändern der Anforderung der EC2-Flotte-Spot-Instance
](#ec2-fleet-spot-instance-request-change)
+ [

### Ändern der EC2-Flotten-Instance
](#ec2-fleet-instance-change)
+ [

### Informationen zur EC2-Flotte
](#ec2-fleet-info)
+ [

### EC2-Flotten-Fehler
](#ec2-fleet-config-not-valid)

### Verändern des EC2-Flottenzustand
<a name="ec2-fleet-state-change"></a>

EC2 Fleet sendet ein `EC2 Fleet State Change` Ereignis an Amazon, EventBridge wenn sich der Status einer EC2-Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
    "detail-type": "EC2 Fleet State Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "sub-type": "active"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`active`  
Die EC2-Flotte-Anfrage wurde validiert und Amazon EC2 versucht, die Zielanzahl der laufenden Instances beizubehalten.

`deleted`  
Die EC2-Flotte-Anforderung wird gelöscht und hat keine laufenden Instances. Die EC2-Flotte wird zwei Tage nach Beendigung der zugehörigen Instances gelöscht.

`deleted_running`  
Die EC2-Flotte-Anforderung wird gelöscht und startet keine weiteren Instances. Die bestehenden Instances laufen weiter, bis sie unterbrochen oder beendet werden. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances unterbrochen oder beendet wurden. 

`deleted_terminating`  
Die EC2-Flotte-Anforderung wird gelöscht und die zugehörigen Instances werden beendet. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances beendet wurden. 

`expired`  
Die EC2-Flotte-Anforderung ist abgelaufen. Wenn die Anforderung mit `TerminateInstancesWithExpiration` erstellt wurde, zeigt ein nachfolgendes `terminated`-Ereignis an, dass die Instances beendet werden.

`modify_in_progress`  
Die EC2-Flotte-Anforderung wird geändert. Die Anforderung bleibt in diesem Zustand, bis die Änderung vollständig verarbeitet wurde.

`modify_succeeded`  
Die EC2-Flotte-Anforderung wurde geändert.

`submitted`  
Die EC2-Flotte-Anforderung wird evaluiert und Amazon EC2 bereitet den Start der Zielanzahl von Instances vor. 

`progress`  
Die EC2-Flotte-Anfrage wird gerade erfüllt.

### Ändern der Anforderung der EC2-Flotte-Spot-Instance
<a name="ec2-fleet-spot-instance-request-change"></a>

EC2 Fleet sendet ein `EC2 Fleet Spot Instance Request Change` Ereignis an Amazon, EventBridge wenn sich der Status einer Spot-Instance-Anfrage in der Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
    "detail-type": "EC2 Fleet Spot Instance Request Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
    ],
    "detail": {
        "spot-instance-request-id": "sir-rmqske6h",
        "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`active`  
Die Spot-Instance-Anforderung wurde erfüllt und ist mit einer Spot-Instance verknüpft.

`cancelled`  
Sie haben die Spot-Instance-Anforderung storniert oder die Spot-Instance-Anforderung ist abgelaufen.

`disabled`  
Sie haben die Spot-Instance angehalten.

`submitted`  
Die Spot-Instance-Anforderung wird gesendet.

### Ändern der EC2-Flotten-Instance
<a name="ec2-fleet-instance-change"></a>

EC2 Fleet sendet ein `EC2 Fleet Instance Change` Ereignis an Amazon, EventBridge wenn sich der Status einer Instance in der Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
    "detail-type": "EC2 Fleet Instance Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:23Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "instance-id": "i-0c594155dd5ff1829",
        "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
        "sub-type": "launched"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`launched`  
Eine neue Instance wurde gestartet.

`terminated`  
Die Instance wurde beendet.

`termination_notified`  
Eine Benachrichtigung über die Instance-Beendigung wurde gesendet, als eine Spot-Instance während der Herunterskalierung durch Amazon EC2 beendet wurde. Hierbei wurde die Zielkapazität der Flotte verkleinert, beispielsweise vom Kapazitätswert 4 auf 3.

### Informationen zur EC2-Flotte
<a name="ec2-fleet-info"></a>

EC2 Fleet sendet ein `EC2 Fleet Information` Ereignis an Amazon EventBridge , wenn beim Versand ein Fehler auftritt. Das Informationsereignis hindert die Flotte nicht daran, ihre Zielkapazität zu erreichen.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "76529817-d605-4571-7224-d36cc1b2c0c4",
    "detail-type": "EC2 Fleet Information",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T08:17:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
    ],
    "detail": {
        "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
        "sub-type": "launchSpecUnusable"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`fleetProgressHalted`  
Keiner der Preise in den Startspezifikationen ist gültig, da er unter dem Spot-Preis liegt (alle Startspezifikationen haben `launchSpecUnusable`-Ereignisse ausgelöst). Eine Startspezifikation könnte gültig werden, wenn sich der Spot-Preis ändert.

`launchSpecTemporarilyBlacklisted`  
Die Konfiguration ist nicht gültig und mehrere Versuche, Instances zu starten, sind fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

`launchSpecUnusable`  
Der Preis in einer Startspezifikation ist nicht gültig, da er unter dem Spot-Preis liegt.

`registerWithLoadBalancersFailed`  
Der Versuch, Instances bei Load Balancern zu registrieren, ist fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

### EC2-Flotten-Fehler
<a name="ec2-fleet-config-not-valid"></a>

EC2 Fleet sendet ein `EC2 Fleet Error` Ereignis an Amazon EventBridge , wenn beim Versand ein Fehler auftritt. Das Fehlerereignis verhindert, dass die Flotte versucht, ihre Zielkapazität zu erfüllen.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
    "detail-type": "EC2 Fleet Error",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-10-07T01:44:24Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
    ],
    "detail": {
        "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`iamFleetRoleInvalid`  
Die EC2-Flotte verfügt nicht über die erforderlichen Berechtigungen zum Starten oder Beenden einer Instance.

`allLaunchSpecsTemporarilyBlacklisted`  
Keine der Konfigurationen ist gültig, und mehrere Versuche, Instances zu starten, sind fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

`spotInstanceCountLimitExceeded`  
Sie haben das Limit für die Anzahl der Spot-Instances erreicht, die Sie starten können.

`spotFleetRequestConfigurationInvalid`  
Die Konfiguration ist nicht gültig. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

## Ereignistypen für Spot-Flotten
<a name="spot-fleet-event-types"></a>

Es gibt fünf Spot-Flotten-Ereignistypen. Für jeden Ereignistyp gibt es mehrere Sub-Typen.

**Topics**
+ [

### Verändern des EC2-Spot-Flottenzustands
](#spot-fleet-state-change)
+ [

### Ändern der Anforderung der EC2-Spot-Flotten-Spot-Instance
](#spot-fleet-spot-instance-request-change)
+ [

### Ändern der EC2-Spot-Flotten-Instance
](#spot-fleet-instance-change)
+ [

### Informationen zur EC2-Spot-Flotte
](#spot-fleet-info)
+ [

### EC2-Spot-Flottenfehler
](#spot-fleet-config-not-valid)

### Verändern des EC2-Spot-Flottenzustands
<a name="spot-fleet-state-change"></a>

Spot-Flotte sendet ein `EC2 Spot Fleet State Change` Ereignis an Amazon, EventBridge wenn sich der Status einer Spot-Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b",
    "detail-type": "EC2 Spot Fleet State Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:57:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55"
    ],
    "detail": {
        "sub-type": "submitted"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`active`  
Die Spot-Flotten-Anforderung wurde validiert und Amazon EC2 versucht, die gewünschte Anzahl von ausgeführten Instances beizubehalten.

`cancelled`  
Die Spot-Flotten-Anforderung wird storniert und hat keine ausgeführten Instances. Die Spot-Flotte wird zwei Tage nach Beendigung der zugehörigen Instances gelöscht.

`cancelled_running`  
Die Spot-Flotten-Anforderung wird storniert und startet keine weiteren Instances. Die bestehenden Instances laufen weiter, bis sie unterbrochen oder beendet werden. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances unterbrochen oder beendet wurden. 

`cancelled_terminating`  
Die Spot-Flotten-Anforderung wird storniert und die zugehörigen Instances werden beendet. Die Anforderung bleibt so lange in diesem Zustand, bis alle Instances beendet wurden. 

`expired`  
Die Spot-Flotten-Anforderung ist abgelaufen. Wenn die Anforderung mit `TerminateInstancesWithExpiration` erstellt wurde, zeigt ein nachfolgendes `terminated`-Ereignis an, dass die Instances beendet werden.

`modify_in_progress`  
Die Spot-Flotten-Anforderung wird geändert. Die Anforderung bleibt in diesem Zustand, bis die Änderung vollständig verarbeitet wurde.

`modify_succeeded`  
Die Spot-Flotten-Anforderung wurde geändert.

`submitted`  
Die Spot-Flotten-Anforderung wird evaluiert und Amazon EC2 bereitet den Start der gewünschten Anzahl an Instances vor. 

`progress`  
Die Spot-Flotten-Anforderung wird gerade erfüllt.

### Ändern der Anforderung der EC2-Spot-Flotten-Spot-Instance
<a name="spot-fleet-spot-instance-request-change"></a>

Spot Fleet sendet ein `EC2 Spot Fleet Spot Instance Request Change` Ereignis an Amazon, EventBridge wenn sich der Status einer Spot-Instance-Anfrage in der Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2",
    "detail-type": "EC2 Spot Fleet Spot Instance Request Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:53:21Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1"
    ],
    "detail": {
        "spot-instance-request-id": "sir-a2w9gc5h",
        "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`active`  
Die Spot-Instance-Anforderung wurde erfüllt und ist mit einer Spot-Instance verknüpft.

`cancelled`  
Sie haben die Spot-Instance-Anforderung storniert oder die Spot-Instance-Anforderung ist abgelaufen.

`disabled`  
Sie haben die Spot-Instance angehalten.

`submitted`  
Die Spot-Instance-Anforderung wird gesendet.

### Ändern der EC2-Spot-Flotten-Instance
<a name="spot-fleet-instance-change"></a>

Spot Fleet sendet ein `EC2 Spot Fleet Instance Change` Ereignis an Amazon, EventBridge wenn sich der Status einer Instance in der Flotte ändert.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "11591686-5bd7-bbaa-eb40-d46529c2710f",
    "detail-type": "EC2 Spot Fleet Instance Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T07:25:02Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61"
    ],
    "detail": {
        "instance-id": "i-08b90df1e09c30c9b",
        "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}",
        "sub-type": "launched"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`launched`  
Eine neue Instance wurde gestartet.

`terminated`  
Die Instance wurde beendet.

`termination_notified`  
Eine Benachrichtigung über die Instance-Beendigung wurde gesendet, als eine Spot-Instance während der Herunterskalierung durch Amazon EC2 beendet wurde. Hierbei wurde die Zielkapazität der Flotte verkleinert, beispielsweise vom Kapazitätswert 4 auf 3.

### Informationen zur EC2-Spot-Flotte
<a name="spot-fleet-info"></a>

Spot Fleet sendet ein `EC2 Spot Fleet Information` Ereignis an Amazon EventBridge, wenn beim Versand ein Fehler auftritt. Das Informationsereignis hindert die Flotte nicht daran, ihre Zielkapazität zu erreichen.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "73a60f70-3409-a66c-635c-7f66c5f5b669",
    "detail-type": "EC2 Spot Fleet Information",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-08T20:56:12Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1"
    ],
    "detail": {
        "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291",
        "sub-type": "launchSpecUnusable"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`fleetProgressHalted`  
Keiner der Preise in den Startspezifikationen ist gültig, da er unter dem Spot-Preis liegt (alle Startspezifikationen haben `launchSpecUnusable`-Ereignisse ausgelöst). Eine Startspezifikation könnte gültig werden, wenn sich der Spot-Preis ändert.

`launchSpecTemporarilyBlacklisted`  
Die Konfiguration ist nicht gültig und mehrere Versuche, Instances zu starten, sind fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

`launchSpecUnusable`  
Der Preis in einer Startspezifikation ist nicht gültig, da er unter dem Spot-Preis liegt.

`registerWithLoadBalancersFailed`  
Der Versuch, Instances bei Load Balancern zu registrieren, ist fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

### EC2-Spot-Flottenfehler
<a name="spot-fleet-config-not-valid"></a>

Spot Fleet sendet ein `EC2 Spot Fleet Error` Ereignis an Amazon EventBridge , wenn beim Versand ein Fehler auftritt. Das Fehlerereignis verhindert, dass die Flotte versucht, ihre Zielkapazität zu erfüllen.

Im Folgenden finden Sie Beispieldaten für dieses Ereignis. 

```
{
    "version": "0",
    "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2",
    "detail-type": "EC2 Spot Fleet Error",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T06:56:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17"
    ],
    "detail": {
        "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Die möglichen Werte für `sub-type` sind:

`iamFleetRoleInvalid`  
Die Spot-Flotte verfügt nicht über die erforderlichen Berechtigungen zum Starten oder Beenden einer Instance.

`allLaunchSpecsTemporarilyBlacklisted`  
Keine der Konfigurationen ist gültig, und mehrere Versuche, Instances zu starten, sind fehlgeschlagen. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

`spotInstanceCountLimitExceeded`  
Sie haben das Limit für die Anzahl der Spot-Instances erreicht, die Sie starten können.

`spotFleetRequestConfigurationInvalid`  
Die Konfiguration ist nicht gültig. Weitere Informationen finden Sie in der Beschreibung des Ereignisses.

# Tutorials für EC2-Flotte
<a name="fleet-tutorials"></a>

Es gibt verschiedene Möglichkeiten, eine EC2-Flotte zu konfigurieren. Welche Konfiguration Sie wählen, hängt von Ihrem speziellen Anwendungsfall ab.

Die folgenden Tutorials behandeln einige der möglichen Anwendungsfälle und enthalten die Aufgaben, die zu ihrer Implementierung erforderlich sind.


| Anwendungsfall | Link zum Tutorial | 
| --- | --- | 
|  **Verwenden Sie die Gewichtung von Instances, um die Verfügbarkeit und Leistung Ihrer EC2-Flotte zu verwalten.** Mit der Instance-Gewichtung weisen Sie jedem Instance-Typ in Ihrer EC2-Flotte eine Gewichtung zu, um deren Rechenkapazität und Leistung im Verhältnis zueinander darzustellen. Basierend auf der Gewichtung kann die Flotte eine beliebige Kombination der angegebenen Instance-Typen verwenden, sofern sie die gewünschte Zielkapazität erfüllen kann.  | [Tutorial: EC2-Flotte konfigurieren um Instance-Gewichtung zu verwenden](ec2-fleet-instance-weighting-walkthrough.md) | 
|  **Verwenden Sie On-Demand-Kapazität, um die Verfügbarkeit in Spitzenzeiten sicherzustellen, profitieren Sie jedoch von zusätzlicher Spot-Kapazität zu geringeren Kosten.** Konfigurieren Sie Ihre EC2-Flotte so, dass On-Demand-Instances als primäre Kapazität verwendet werden, um die verfügbare Kapazität in Spitzenzeiten sicherzustellen. Weisen Sie Spot Instances außerdem eine gewisse Kapazität zu, um von vergünstigten Preisen zu profitieren. Denken Sie dabei daran, dass Spot Instances unterbrochen werden können, wenn Amazon EC2 die Kapazität zurück benötigt.  | [Tutorial: EC2-Flotte für die Verwendung von On-Demand Instances als primäre Kapazität konfigurieren](ec2-fleet-on-demand-walkthrough.md) | 
|  **Verwenden Sie Kapazitätsreservierungen, um Rechenkapazität für Ihre On-Demand-Instances zu reservieren.** Sie können eine EC2-Flotte so konfigurieren, dass sie die `targeted`Kapazitätsreservierungen beim Starten von On-Demand-Instances zuerst verwendet. Wenn Sie strenge Kapazitätsanforderungen haben und geschäftskritische Workloads ausführen, die ein gewisses Maß an langfristiger oder kurzfristiger Kapazitätssicherung erfordern, empfehlen wir Ihnen, eine Kapazitätsreservierung zu erstellen, um sicherzustellen, dass Sie immer Zugriff auf Amazon-EC2-Kapazität haben; wenn und so lange Sie sie benötigen.  | [Tutorial: EC2 Fleet so konfigurieren, dass On-Demand Instances mit gezielten Kapazitätsreservierungen gestartet werden](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md) | 
|  **Verwenden Sie Kapazitätsblöcke, um stark nachgefragte GPU-Instances für Ihre ML-Workloads zu reservieren.** Konfigurieren Sie Ihre EC2-Flotte, um Instances in Kapazitätsblöcken zu starten.  | [Tutorial: Ihre EC2-Flotte konfigurieren, um Instances in Kapazitätsblöcken zu starten](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md) | 
|  **Verwenden Sie Unterbrechungskapazitätsreservierungen, um ungenutzte Kapazitäten in Ihrem AWS Unternehmen vorübergehend wiederzuverwenden und Kosten zu sparen.** Konfigurieren Sie Ihre EC2-Flotte so, dass Instances im Rahmen von Reservierungen für unterbrechbare Kapazitäten gestartet werden. Dabei handelt es sich um freie Kapazitäten innerhalb Ihres Unternehmens. AWS Kapazitätsbesitzer können die Kapazität jederzeit zurückfordern. Nach der Rückforderung beendet EC2 die Instances nach einer Frist von 2 Minuten.  | [Tutorial: Konfigurieren Sie Ihre EC2-Flotte so, dass Instances in Interruptible Capacity Reservations gestartet werden](ec2-fleet-launch-instances-interruptible-cr-walkthrough.md) | 

# Tutorial: EC2-Flotte konfigurieren um Instance-Gewichtung zu verwenden
<a name="ec2-fleet-instance-weighting-walkthrough"></a>

In dieser Anleitung wird ein fiktives Unternehmen mit dem Namen Example Corp verwendet, um das Anfordern einer EC2-Flotte mit Instance-Gewichtung zu veranschaulichen.

## Ziel
<a name="ec2-fleet-instance-weighting-walkthrough-objective"></a>

Example Corp, ein Pharmaunternehmen, möchte die Rechenleistung von Amazon EC2 zum Prüfen chemischer Verbindungen nutzen, die im Kampf gegen Krebs eingesetzt werden könnten.

## Planung
<a name="ec2-fleet-instance-weighting-walkthrough-planning"></a>

Example Corp macht sich zunächst mit den [Bewährten Methoden für Spot](https://aws.amazon.com/ec2/spot/getting-started/#bestpractices) vertraut. Als Nächstes ermittelt Example Corp die Anforderungen für die eigene EC2-Flotte.

**Instance-Typen**  
Example Corp verfügt über eine rechen- und speicherintensive Anwendung, welche die beste Leistung bei mindestens 60 GB Speicher und mit mindestens acht virtuellen CPUs (vCPUs) aufweist. Das Unternehmen möchte diese Ressourcen für die Anwendung zum geringstmöglichen Preis maximieren. Example Corp entscheidet, dass die folgenden EC2-Instance-Typen die Anforderungen erfüllen würden:


| Instance-Typ | Arbeitsspeicher (GiB) | v CPUs | 
| --- | --- | --- | 
|  r3.2xlarge  |  61  |  8  | 
|  r3.4xlarge  |  122  |  16  | 
|  r3.8xlarge  |  244  |  32  | 

**Zielkapazität in Einheiten**  
Bei der Gewichtung von Instanzen kann die Zielkapazität einer Anzahl von Instanzen (Standard) oder einer Kombination von Faktoren wie Kernen (vCPUs), Arbeitsspeicher () und Speicher (GBGiBs) entsprechen. Example Corp betrachtet die Basis für ihre Anwendung (60 GB RAM und acht vCPUs) als eine Einheit und entscheidet, dass ein 20-Faches dieser Menge ihre Anforderungen erfüllen würde. Also legt das Unternehmen für seine EC2-Flotte-Anfrage eine Zielkapazität von 20 fest.

**Instance-Gewichtungen**  
Nach dem Festlegen der Zielkapazität berechnet Example Corp die Instance-Gewichtungen. Zum Berechnen der Instance-Gewichtungen der einzelnen Instance-Typen ermitteln sie die folgenden Einheiten der einzelnen Instance-Typen, die zum Erreichen der Zielkapazität erforderlich sind:
+ r3.2xlarge (61,0 GB, 8 V) = 1 Einheit von 20 CPUs
+ r3.4xlarge (122,0 GB, 16 V) = 2 Einheiten à 20 CPUs
+ r3.8xlarge (244,0 GB, 32 V) = 4 Einheiten à 20 CPUs

Aus diesem Grund weist Example Corp die Instance-Gewichtungen 1, 2 und 4 den entsprechenden Startkonfigurationen in ihrer EC2-Flotte-Anfrage zu.

**Preis pro Einheitsstunde**  
Example Corp verwendet den [On-Demand-Preis](https://aws.amazon.com/ec2/pricing/) pro Instance-Stunde als Startpunkt für den Preis. Es wäre auch möglich, frühere Spot-Preise oder eine Kombination aus beidem zu verwenden. Zum Berechnen des Preises pro Einheitsstunde teilen sie den Startpreis pro Instance-Stunde durch die Gewichtung. Beispiel:


| Instance-Typ | On-Demand-Preis | Instance-Gewichtung | Preis pro Einheitsstunde | 
| --- | --- | --- | --- | 
|  r3.2xlarge  |  0,7 USD  |  1  |  0,7 USD  | 
|  r3.4xLarge  |  \$11.4  |  2  |  0,7 USD  | 
|  r3.8xLarge  |  \$12,8  |  4  |  0,7 USD  | 

Example Corp könnte einen globalen Preis pro Einheitsstunde in Höhe von 0,7 USD angeben und für alle drei Instance-Typen wettbewerbsfähig sein. Sie könnten auch einen globalen Preis pro Einheitsstunde in Höhe von 0,7 USD und einen spezifischen Preis pro Einheitsstunde in Höhe von 0,9 USD in der `r3.8xlarge`-Startspezifikation verwenden.

## Überprüfen der Berechtigungen
<a name="ec2-fleet-instance-weighting-walkthrough-permissions"></a>

Vor dem Erstellen einer EC2-Flotte überprüft Example Corp, ob eine IAM-Rolle mit den erforderlichen Berechtigungen verfügbar ist. Weitere Informationen finden Sie unter [EC2-Flotte-Voraussetzungen](ec2-fleet-prerequisites.md).

## Erstellen einer Startvorlage
<a name="ec2-fleet-instance-weighting-create-launch-template"></a>

Als Nächstes erstellt Example Corp eine Startvorlage. Die Startvorlagen-ID wird im folgenden Schritt verwendet. Weitere Informationen finden Sie unter [Eine Amazon-EC2-Startvorlage erstellen](create-launch-template.md).

## Erstellen der EC2-Flotte
<a name="ec2-fleet-instance-weighting-walkthrough-request"></a>

Example Corp erstellt eine Datei mit dem Namen `config.json` und der folgenden Konfiguration für die EC2-Flotte: Ersetzen Sie im folgenden Beispiel die Ressourcenbezeichner durch Ihre eigenen Ressourcenbezeichner.

```
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "r3.2xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 1
                },
                {
                    "InstanceType": "r3.4xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 2
                },
                {
                    "InstanceType": "r3.8xlarge", 
                    "MaxPrice": "0.90", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 4
                }
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20, 
        "DefaultTargetCapacityType": "spot"
    }
}
```

Example Corp erstellt die EC2-Flotte mit dem folgenden [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html)-Befehl:

```
aws ec2 create-fleet --cli-input-json file://config.json
```

Weitere Informationen finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md).

## Erfüllung
<a name="ec2-fleet-instance-weighting-walkthrough-fulfillment"></a>

Die Zuweisungsstrategie legt fest, aus welchen Spot-Kapazitätspools Ihre Spot-Instances stammen.

Bei der `lowest-price`-Strategie (der Standardstrategie) stammen die Spot-Instances aus dem Pool mit dem niedrigsten Preis pro Einheit zum Zeitpunkt der Bereitstellung. Zum Bereitstellen von 20 Kapazitätseinheiten startet die EC2-Flotte entweder 20 `r3.2xlarge`-Instances (20 geteilt durch 1), 10 `r3.4xlarge`-Instances (20 geteilt durch 2) oder 5 `r3.8xlarge`-Instances (20 geteilt durch 4).

Würde Example Corp die `diversified`-Strategie verwenden, dann würden die Spot-Instances aus allen drei Pools stammen. Die EC2-Flotte würde 6 `r3.2xlarge`-Instances (die 6 Einheiten bereitstellen), 3 `r3.4xlarge`-Instances (die 6 Einheiten bereitstellen) und 2 `r3.8xlarge`-Instances (die 8 Einheiten bereitstellen) mit insgesamt 20 Einheiten starten.

# Tutorial: EC2-Flotte für die Verwendung von On-Demand Instances als primäre Kapazität konfigurieren
<a name="ec2-fleet-on-demand-walkthrough"></a>

In dieser Anleitung wird ein fiktives Unternehmen mit dem Namen ABC Online verwendet, um das Anfordern einer EC2-Flotte mit On-Demand als Primärkapazität und Spot-Kapazität, wenn verfügbar, zu veranschaulichen.

## Ziel
<a name="ec2-fleet-on-demand-walkthrough-objective"></a>

ABC Online, ein Restaurantlieferservice, möchte in der Lage sein, Amazon-EC2-Kapazität für alle EC2-Instance-Typen und Kaufoptionen bereitzustellen, um die gewünschte Größe, Leistung und Kosten zu erreichen.

## Plan
<a name="ec2-fleet-on-demand-walkthrough-planning"></a>

ABC Online benötigt eine feste Kapazität, um in Spitzenzeiten arbeiten zu können, möchte aber von einer erhöhten Kapazität zu einem niedrigeren Preis profitieren. ABC Online ermittelt die folgenden Anforderungen für die eigene EC2-Flotte:
+ On-Demand-Instance-Kapazität – ABC Online benötigt 15 On-Demand-Instances, um sicherzustellen, dass der Datenverkehr in Spitzenzeiten verarbeitet werden kann.
+ Spot-Instance-Kapazität – Um die Leistung zu verbessern, aber zu einem niedrigeren Preis, plant ABC Online die Bereitstellung von 5 Spot Instances.

## Überprüfen der Berechtigungen
<a name="ec2-fleet-on-demand-walkthrough-permissions"></a>

Vor dem Erstellen einer EC2-Flotte prüft ABC Online, ob eine IAM-Rolle mit den erforderlichen Berechtigungen verfügbar ist. Weitere Informationen finden Sie unter [EC2-Flotte-Voraussetzungen](ec2-fleet-prerequisites.md).

## Erstellen einer Startvorlage
<a name="ec2-fleet-on-demand-walkthrough-create-launch-template"></a>

Als Nächstes erstellt ABC Online eine Startvorlage. Die Startvorlagen-ID wird im folgenden Schritt verwendet. Weitere Informationen finden Sie unter [Eine Amazon-EC2-Startvorlage erstellen](create-launch-template.md).

## Erstellen der EC2-Flotte
<a name="ec2-fleet-on-demand-walkthrough-request"></a>

ABC Online erstellt eine Datei mit dem Namen `config.json` und der folgenden Konfiguration für die EC2-Flotte: Ersetzen Sie im folgenden Beispiel die Ressourcenbezeichner durch Ihre eigenen Ressourcenbezeichner.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851",
                "Version": "2"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity":15,
        "DefaultTargetCapacityType": "spot"
    }
}
```

ABC Online erstellt die EC2-Flotte mit dem folgenden [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html)-Befehl:

```
aws ec2 create-fleet --cli-input-json file://config.json
```

Weitere Informationen finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md).

## Erfüllung
<a name="ec2-fleet-on-demand-walkthrough-fulfillment"></a>

Die Zuweisungsstrategie legt fest, dass die On-Demand-Kapazität immer erfüllt ist, während der Saldo der Zielkapazität als Spot erfüllt ist, wenn Kapazität und Verfügbarkeit vorhanden sind.

# 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
}
```

# Tutorial: Ihre EC2-Flotte konfigurieren, um Instances in Kapazitätsblöcken zu starten
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

Dieses Tutorial führt Sie durch die Schritte, die Sie durchführen müssen, damit Ihre EC2-Flotte Instances in Kapazitätsblöcken startet. 

In den meisten Fällen sollte die Zielkapazität der Anfrage für die EC2-Flotte kleiner oder gleich der verfügbaren Kapazität der von Ihnen angestrebten Kapazitätsblock-Reservierung sein. Zielkapazitätsanfragen, die die Grenzen der Kapazitätsblock-Reservierung überschreiten, werden nicht erfüllt. Wenn die Anfrage für die Zielkapazität die Grenzen Ihrer Kapazitätsblock-Reservierung überschreitet, erhalten Sie eine `Insufficient Capacity Exception` wegen unzureichender Kapazität für die Kapazität, die die Grenzen Ihrer Kapazitätsblock-Reservierung überschreitet.

**Anmerkung**  
Bei Kapazitätsblöcken wird die EC2-Flotte für den Rest der gewünschten Zielkapazität nicht auf den Start von On-Demand-Instances zurückgreifen.

Wenn die EC2-Flotte nicht in der Lage ist, die angeforderte Zielkapazität in einer verfügbaren Kapazitätsblock-Reservierung zu erfüllen, wird die EC2-Flotte so viel Kapazität wie möglich bereitstellen und die Instances zurückgeben, die gestartet werden konnten. Sie können den Aufruf der EC2-Flotte wiederholen, bis alle Instances bereitgestellt sind.

Nachdem Sie die EC2-Flotten-Anfrage konfiguriert haben, müssen Sie bis zum Startdatum Ihrer Kapazitätsblock-Reservierung warten. Wenn Sie Anfragen an die EC2-Flotte stellen, um in einen Kapazitätsblock zu starten, der noch nicht begonnen hat, erhalten Sie eine `Insufficient Capacity Error`.

Nachdem Ihre Kapazitätsblock-Reservierung aktiv wird, können Sie EC2-Flotten-API-Aufrufe durchführen und die Instances basierend auf den von Ihnen ausgewählten Parametern in Ihrem Kapazitätsblock bereitstellen. Instances, die im Kapazitätsblock laufen, laufen weiter, bis Sie sie manuell stoppen oder beenden oder bis Amazon EC2 die Instances beendet, wenn die Reservierung des Kapazitätsblocks endet.

Weitere Informationen zu Kapazitätsblöcken finden Sie unter [Kapazitätsblöcke für ML](ec2-capacity-blocks.md).

**Überlegungen**
+ Für das Starten von Instances in Kapazitätsblöcke des Typs `instant` werden nur Anfragen vom Typ EC2-Flotte unterstützt. Weitere Informationen finden Sie unter [EC2-Flotte des Typs instant konfigurieren](instant-fleet.md).
+ Mehrere Kapazitätsblöcke in derselben EC2 – Flottenanforderung werden nicht unterstützt.
+ Die Verwendung von `OnDemandTargetCapacity` oder `SpotTargetCapacity` bei gleichzeitiger Einstellung von `capacity-block` als `DefaultTargetCapacity` wird nicht unterstützt.
+ Wenn `DefaultTargetCapacityType` auf `capacity-block` gesetzt ist, können Sie `OnDemandOptions::CapacityReservationOptions` nicht angeben. Es kommt zu einer Ausnahme.

**So konfigurieren Sie ein EC2-Flotte, um Instances in Kapazitätsblöcken zu starten**

1. **Eine Startvorlage erstellen**

   Gehen Sie in der Startvorlage folgendermaßen vor:
   + Für `InstanceMarketOptionsRequest` setzen Sie den Wert `MarketType` auf `capacity-block`.
   + Geben Sie die Kapazitätsblock-Reservierungs-ID an`CapacityReservationID`, um die Kapazitätsblock-Reservierung als Ziel zu verwenden.

   Notieren Sie sich den Namen und die Version der Startvorlage. Diese Informationen sind im nächsten Schritt erforderlich.

   Weitere Informationen zum Erstellen einer Startvorlage finden Sie unter [Eine Amazon-EC2-Startvorlage erstellen](create-launch-template.md). 

1. **Die EC2-Flotte konfigurieren.**

   Erstellen Sie eine Datei, `config.json` und der folgenden Konfiguration für die EC2-Flotte. Ersetzen Sie im folgenden Beispiel die Ressourcenbezeichner durch Ihre eigenen Ressourcenbezeichner. 

   Weitere Information zum Konfigurieren einer EC2-Flotte finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md).

   ```
   { 
       "LaunchTemplateConfigs": [
           {
               "LaunchTemplateSpecification": {
                   "LaunchTemplateName": "CBR-launch-template", 
                   "Version": "1"
               }, 
               "Overrides": [
                   {
                       "InstanceType": "p5.48xlarge", 
                       "AvailabilityZone": "us-east-1a"   
                   },
               ]
           }
       ], 
       "TargetCapacitySpecification": {
           "TotalTargetCapacity": 10, 
           "DefaultTargetCapacityType": "capacity-block"
       },
       "Type": "instant"
   }
   ```

1. **Starten Sie die Flotte.**

   Verwenden Sie den folgenden [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html)-Befehl.

   ```
   aws ec2 create-fleet --cli-input-json file://config.json
   ```

   Weitere Informationen finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md#create-ec2-fleet-procedure).

# Tutorial: Konfigurieren Sie Ihre EC2-Flotte so, dass Instances in Interruptible Capacity Reservations gestartet werden
<a name="ec2-fleet-launch-instances-interruptible-cr-walkthrough"></a>

Dieses Tutorial führt Sie durch die Schritte, die Sie ausführen müssen, damit Ihre EC2-Flotte Instances für Reservierungen mit unterbrechbarer Kapazität startet.

Bei Reservierungen für unterbrechbare Kapazitäten handelt es sich um Kapazitätsreserven, die Ihnen von Inhabern von On-Demand-Kapazitätsreservierungen innerhalb Ihres Unternehmens zur Verfügung gestellt wurden. AWS Diese Reservierungen eignen sich für unterbrechbare Workloads, da der Kapazitätseigentümer die Kapazität jederzeit mit einer zweiminütigen Unterbrechungsbenachrichtigung zurückfordern kann. Danach beendet EC2 die Instances. Weitere Informationen zu Reservierungen für unterbrechbare Kapazitäten finden Sie unter. [Reservierungen für unterbrechbare Kapazitäten](interruptible-capacity-reservations.md)

Die Zielkapazität der EC2-Flottenanfrage sollte kleiner oder gleich der verfügbaren Kapazität der von Ihnen angestrebten Reservierung für unterbrechbare Kapazitäten sein. Wenn die Zielkapazitätsanforderung die verfügbare Kapazität Ihrer Reservierung für unterbrechbare Kapazitäten überschreitet, startet EC2 Fleet so viele Instances wie möglich und meldet die gestarteten Instances in der API-Antwort.

Instances, die im Rahmen einer Reservierung für unterbrechbare Kapazität ausgeführt werden, laufen weiter, bis Sie sie manuell stoppen oder beenden oder bis der Kapazitätsbesitzer die Kapazität zurückfordert. Wenn der Kapazitätsinhaber die Kapazität zurückfordert, sendet Amazon EC2 2 Minuten vor dem Beenden der Instances eine EventBridge Amazon-Benachrichtigung.

## Überlegungen
<a name="ec2-fleet-interruptible-cr-considerations"></a>
+ Für das Starten von Instances im Rahmen von Reservationen mit unterbrechbarer `instant` Kapazität werden nur Anfragen vom Typ EC2-Flotte unterstützt.
+ Die Verwendung von `OnDemandTargetCapacity` oder `SpotTargetCapacity` bei gleichzeitiger Einstellung `reserved-capacity` als `DefaultTargetCapacityType` wird nicht unterstützt.
+ Wenn Sie mehrere Startvorlagen angeben, die jeweils auf eine andere unterbrechbare Kapazitätsreservierung abzielen, stellt EC2 Fleet Instances für alle passenden Reservierungen bereit.
+ Bei Reservierungen für unterbrechbare Kapazitäten greift EC2 Fleet für den Rest der gewünschten Zielkapazität nicht auf den Start von On-Demand-Instances oder Spot-Instances zurück.

## Überprüfen der Berechtigungen
<a name="ec2-fleet-interruptible-cr-verify-permissions"></a>

Bevor Sie eine EC2-Flotte erstellen, stellen Sie sicher, dass Sie über eine IAM-Rolle mit den erforderlichen Berechtigungen verfügen. Weitere Informationen finden Sie unter [EC2-Flotte-Voraussetzungen](ec2-fleet-prerequisites.md).

Um Instances mit einer unterbrechbaren Kapazitätsreservierung zu starten, müssen Sie die folgenden Schritte ausführen:

## Schritt 1: Eine Startvorlage erstellen
<a name="ec2-fleet-interruptible-cr-step1"></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 die Reservierung für unterbrechbare Kapazitäten als Ziel angegeben wird. Legen Sie in der Startvorlage den Wert Ihrer `MarketType` Reservierung für unterbrechbare Kapazität fest `interruptible-capacity-reservation` und geben Sie ihn an. `CapacityReservationId`

Beispiel für eine Konfiguration der Startvorlage:

```
{
    "LaunchTemplateName": "interruptible-cr-launch-template",
    "LaunchTemplateData": {
        "InstanceType": "m5.large",
        "ImageId": "ami-0abcdef1234567890",
        "CapacityReservationSpecification": {
            "CapacityReservationTarget": {
                "CapacityReservationId": "cr-0123456789abcdef0"
            }
        },
        "InstanceMarketOptions": {
            "MarketType": "interruptible-capacity-reservation"
        }
    }
}
```

Beispielausgabe

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-0123456789example",
        "LaunchTemplateName": "interruptible-cr-launch-template",
        "CreateTime": "2026-03-12T10:00:00.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

Weitere Informationen finden Sie unter [Eine Amazon-EC2-Startvorlage erstellen](create-launch-template.md).

## Schritt 2: Konfiguration der EC2-Flotte
<a name="ec2-fleet-interruptible-cr-step2"></a>

Erstellen Sie eine Konfigurationsdatei für die EC2-Flotte, in der die Startvorlage und die Zielkapazität angegeben sind. Die folgende Konfiguration verwendet die Startvorlage`interruptible-cr-launch-template`, die Sie in Schritt 1 erstellt haben.

Sie müssen `ReservedCapacityOptions` with `ReservationType` set to angeben, `interruptible-capacity-reservation` wenn Sie `reserved-capacity` es als verwenden`DefaultTargetCapacityType`.

Erstellen Sie eine Datei mit dem Namen `config.json` und dem folgenden Inhalt:

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "interruptible-cr-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "reserved-capacity"
    },
    "ReservedCapacityOptions": {
        "ReservationType": ["interruptible-capacity-reservation"]
    },
    "Type": "instant"
}
```

Die wichtigsten Konfigurationsparameter:


| Parameter | Description | 
| --- | --- | 
| DefaultTargetCapacityType | Wird auf gesetztreserved-capacity, um anzugeben, dass Instances mit reservierter Kapazität gestartet werden sollen. | 
| ReservedCapacityOptions | Gibt den Typ der reservierten Kapazität an. Stellen Sie für Reservierungen unterbrechbarer Kapazitäten ReservationType auf ["interruptible-capacity-reservation"] ein. | 
| Type | Muss auf instant festgelegt sein. Für Reservierungen unterbrechbarer Kapazitäten werden nur Instant-Flotten unterstützt. | 

## Schritt 3: Starten Sie die Flotte und sehen Sie sich die Ergebnisse an
<a name="ec2-fleet-interruptible-cr-step3"></a>

Verwenden Sie den Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html), um die Flotte zu erstellen:

```
aws ec2 create-fleet \
    --cli-input-json file://config.json
```

Nachdem Sie die `instant` Flotte mit der vorherigen Konfiguration erstellt haben, startet EC2 Fleet 10 Instances in der Reservierung für unterbrechbare Kapazitäten, um die Zielkapazität zu erreichen.

**Anmerkung**  
Wenn die Flotte die volle Zielkapazität nicht erreichen kann, umfasst die Antwort die gestarteten Instances und alle Fehler im Zusammenhang mit ungenutzter Kapazität.

Beispielausgabe

```
{
    "FleetId": "fleet-12345678-1234-1234-1234-123456789012",
    "Instances": [
        {
            "LaunchTemplateAndOverrides": {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            },
            "Lifecycle": "interruptible-capacity-reservation",
            "InstanceIds": [
                "i-0123456789example1",
                "i-0123456789example2",
                "i-0123456789example3",
                "i-0123456789example4",
                "i-0123456789example5",
                "i-0123456789example6",
                "i-0123456789example7",
                "i-0123456789example8",
                "i-0123456789example9",
                "i-0123456789example0"
            ],
            "InstanceType": "m5.large",
            "Platform": "Linux/UNIX"
        }
    ],
    "Errors": []
}
```

Weitere Informationen finden Sie unter [Erstellen einer EC2-Flotte](create-ec2-fleet.md).

## Bereinigen
<a name="ec2-fleet-interruptible-cr-cleanup"></a>

Um keine Gebühren mehr anfallen zu lassen, beenden Sie die Instances, wenn sie nicht mehr benötigt werden. Beachten Sie, dass EC2 auch Instances, die im Rahmen einer unterbrechbaren Kapazitätsreservierung gestartet wurden, automatisch beendet, wenn der Kapazitätsbesitzer die Kapazität zurückfordert.

## Zugehörige Ressourcen
<a name="ec2-fleet-interruptible-cr-related-resources"></a>
+ [Reservierungen für unterbrechbare Kapazitäten](interruptible-capacity-reservations.md)
+ [Rechenkapazität mit EC2-On-Demand-Kapazitätsreservierungen reservieren](ec2-capacity-reservations.md)
+ [Mit EC2-Flotten arbeiten](manage-ec2-fleet.md)
+ [Erstellen einer EC2-Flotte](create-ec2-fleet.md)
+ [Instance-Startparametern in Amazon-EC2-Startvorlagen speichern](ec2-launch-templates.md)

# Beispielhafte CLI-Konfigurationen für EC2-Flotte
<a name="ec2-fleet-examples"></a>

Sie können Ihre EC2-Flottenkonfiguration in einer JSON-Datei definieren und dann mit dem Befehl [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) auf diese Datei verweisen, um Ihre Flotte wie folgt zu erstellen:

```
aws ec2 create-fleet --cli-input-json file://file_name.json
```

Die folgenden Beispiele veranschaulichen Startkonfigurationen für verschiedene EC2-Flotte-Anwendungsfälle. Weitere Informationen zu den Konfigurationsparametern finden Sie unter [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Topics**
+ [

## Beispiel 1: Starten von Spot-Instances als Standard-Kaufoption
](#ec2-fleet-config1)
+ [

## Beispiel 2: Starten von On-Demand-Instances als Standard-Kaufoption
](#ec2-fleet-config2)
+ [

## Beispiel 3: Starten von On-Demand-Instances als primäre Kapazität
](#ec2-fleet-config3)
+ [

## Beispiel 4: Starten von On-Demand-Instances unter Verwendung von mehreren Kapazitätsreservierungen
](#ec2-fleet-config5)
+ [

## Beispiel 5: Starten von On-Demand-Instances mit Kapazitätsreservierungen, wenn die Gesamtzielkapazität die Anzahl der nicht verwendeten Kapazitätsreservierungen übersteigt
](#ec2-fleet-config6)
+ [

## Beispiel 6: Starten von On-Demand-Instances mithilfe von Ziel-Kapazitätsreservierungen
](#ec2-fleet-config7)
+ [

## Beispiel 7: Konfigurieren des Kapazitätsneuausgleichs, um Ersatz-Spot-Instances zu starten
](#ec2-fleet-config8)
+ [

## Beispiel 8: Starten von Spot Instances in einer kapazitätsoptimierten Flotte
](#ec2-fleet-config9)
+ [

## Beispiel 9: Starten von Spot Instances in einer kapazitätsoptimierten Flotte mit Prioritäten
](#ec2-fleet-config10)
+ [

## Beispiel 10: Spot-Instances in einer price-capacity-optimized Flotte starten
](#ec2-fleet-config11)
+ [

## Beispiel 11: Konfigurieren von attributbasierter Auswahl von Instance-Typen
](#ec2-fleet-config12)

Weitere CLI-Beispiele für Flotten des Typs `instant` finden Sie unter [EC2-Flotte des Typs instant konfigurieren](instant-fleet.md).

## Beispiel 1: Starten von Spot-Instances als Standard-Kaufoption
<a name="ec2-fleet-config1"></a>

Das folgende Beispiel gibt die minimalen Parameter an, die in einer EC2-Flotte benötigt werden: eine Startvorlage, eine Zielkapazität und eine Standard-Kaufoption. Die Startvorlage wird durch ihre Startvorlagen-ID und Versionsnummer identifiziert. Die Zielkapazität für die Flotte beträgt 2 Instances, die Standard-Kaufoption ist `spot`, was dazu führt, dass die Flotte 2 Spot-Instances startet.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Beispiel 2: Starten von On-Demand-Instances als Standard-Kaufoption
<a name="ec2-fleet-config2"></a>

Das folgende Beispiel gibt die minimalen Parameter an, die in einer EC2-Flotte benötigt werden: eine Startvorlage, eine Zielkapazität und eine Standard-Kaufoption. Die Startvorlage wird durch ihre Startvorlagen-ID und Versionsnummer identifiziert. Die Zielkapazität für die Flotte beträgt 2 Instances, die Standard-Kaufoption ist `on-demand`, was dazu führt, dass die Flotte 2 On-Demand-Instances startet.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "on-demand"
    }
}
```

## Beispiel 3: Starten von On-Demand-Instances als primäre Kapazität
<a name="ec2-fleet-config3"></a>

Das folgende Beispiel gibt die Gesamtzielkapazität von 2 Instances für die Flotte und eine Zielkapazität von 1 On-Demand-Instance an. Die Standard-Kaufoption ist `spot`. Die Flotte startet 1 On-Demand-Instance wie angegeben, muss aber noch eine weitere Instance starten, um die gesamte Zielkapazität zu erreichen. Die Kaufoption für die Differenz wird berechnet als – `TotalTargetCapacity``OnDemandTargetCapacity`= `DefaultTargetCapacityType`, was dazu führt, dass die Flotte 1 Spot Instance launcht.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "OnDemandTargetCapacity": 1,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Beispiel 4: Starten von On-Demand-Instances unter Verwendung von mehreren Kapazitätsreservierungen
<a name="ec2-fleet-config5"></a>

Sie können eine Flotte so konfigurieren, dass sie On-Demand-Kapazitätsreservierungen zuerst beim Start von On-Demand-Instances verwendet, indem Sie die Nutzungsstrategie für Kapazitätsreservierungen auf `use-capacity-reservations-first` festlegen. Dieses Beispiel zeigt, wie die Flotte die Kapazitätsreservierungen auswählt, die verwendet werden sollen, wenn mehr Kapazitätsreservierungen vorhanden sind, als für die Erreichung der Zielkapazität erforderlich sind.

In diesem Beispiel sieht die Flottenkonfiguration wie folgt aus:
+ Zielkapazität: 12 On-Demand-Instances
+ Gesamt nicht verwendete Kapazitätsreservierungen: 15 (mehr als die On-Demand-Zielkapazität der Flotte von 12 On-Demand-Instances)
+ Anzahl der Kapazitätsreservierungspools: 3 (`m5.large`, `m4.xlarge`, und `m4.2xlarge`)
+ Anzahl der Kapazitätsreservierungen pro Pool: 5
+ On-Demand-Zuordnungsstrategie `lowest-price` (Wenn mehrere ungenutzte Kapazitätsreservierungen in mehreren Instance-Pools vorhanden sind, bestimmt die Flotte anhand der On-Demand-Zuordnungsstrategie die Pools, in denen die On-Demand-Instances gestartet werden sollen.)

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

**Kapazitätsreservierungen**

Das Konto hat die folgenden 15 nicht verwendeten Kapazitätsreservierungen in 3 verschiedenen Pools. Die Anzahl der Kapazitätsreservierungen in jedem Pool wird durch `AvailableInstanceCount` angezeigt.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Flottenkonfiguration**

Die folgende Flottenkonfiguration zeigt nur die relevanten Konfigurationen für dieses Beispiel. Die gesamte Zielkapazität beträgt 12 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`. 

In diesem Beispiel ist der On-Demand-Instance-Preis:
+ `m5.large` - 0,096 USD pro Stunde
+ `m4.xlarge` - 0,20 USD pro Stunde
+ `m4.2xlarge` - 0,40 USD pro Stunde

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

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-abc1234567example",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 12,
        "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 12 Instances gestartet, um die Zielkapazität zu erreichen:
+ 5 `m5.large` On-Demand-Instances in – `us-east-1a``m5.large`in `us-east-1a` ist der niedrigste Preis, und es gibt fünf verfügbare ungenutzte `m5.large`-Kapazitätsreservierungen
+ 5 `m4.xlarge`-On-Demand-Instances in us-east-1a – `m4.xlarge` in `us-east-1a` ist der niedrigste Preis und es gibt fünf verfügbare ungenutzte `m4.xlarge`-Kapazitätsreservierungen.
+ 2 `m4.2xlarge`-On-Demand-Instances in us-east-1a – `m4.2xlarge` in `us-east-1a` ist der drittniedrigste Preis und es gibt fünf verfügbare, nicht verwendete `m4.2xlarge`-Kapazitätsreservierungen, von denen nur zwei benötigt werden, um die Zielkapazität zu erfüllen

Nach dem Start der Flotte können Sie nachsehen, wie viele ungenutzte Kapazitätsreservierungen noch übrig sind. [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) In diesem Beispiel sollten Sie die folgende Antwort sehen, die zeigt, dass alle `m5.large`- und `m4.xlarge`-Kapazitätsreservierungen verwendet wurden, wobei 3 `m4.2xlarge`-Kapazitätsreservierungen nicht verwendet wurden.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}

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

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 3
}
```

## Beispiel 5: Starten von On-Demand-Instances mit Kapazitätsreservierungen, wenn die Gesamtzielkapazität die Anzahl der nicht verwendeten Kapazitätsreservierungen übersteigt
<a name="ec2-fleet-config6"></a>

Sie können eine Flotte so konfigurieren, dass sie On-Demand-Kapazitätsreservierungen zuerst beim Start von On-Demand-Instances verwendet, indem Sie die Nutzungsstrategie für Kapazitätsreservierungen auf `use-capacity-reservations-first` festlegen. Dieses Beispiel zeigt, wie die Flotte die Instance-Pools auswählt, in denen On-Demand-Instances gestartet werden sollen, wenn die gesamte Zielkapazität die Anzahl der verfügbaren ungenutzten Kapazitätsreservierungen überschreitet.

In diesem Beispiel sieht die Flottenkonfiguration wie folgt aus:
+ Zielkapazität: 16 On-Demand-Instances
+ Gesamt nicht verwendete Kapazitätsreservierungen: 15 (weniger als die On-Demand-Zielkapazität der Flotte von 16 On-Demand-Instances)
+ Anzahl der Kapazitätsreservierungspools: 3 (`m5.large`, `m4.xlarge`, und `m4.2xlarge`)
+ Anzahl der Kapazitätsreservierungen pro Pool: 5
+ 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.

**Kapazitätsreservierungen**

Das Konto hat die folgenden 15 nicht verwendeten Kapazitätsreservierungen in 3 verschiedenen Pools. Die Anzahl der Kapazitätsreservierungen in jedem Pool wird durch `AvailableInstanceCount` angezeigt.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Flottenkonfiguration**



Die folgende Flottenkonfiguration zeigt nur die relevanten Konfigurationen für dieses Beispiel. Die gesamte Zielkapazität beträgt 16 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`. 

In diesem Beispiel ist der On-Demand-Instance-Preis:
+ m5.large – 0,096 USD pro Stunde
+ m4.xlarge – 0,20 USD pro Stunde
+ m4.2xlarge – 0,40 USD pro Stunde

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

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 16,
        "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 16 Instances gestartet, um die Zielkapazität zu erreichen:
+ 6 `m5.large`-On-Demand-Instances in – `us-east-1a``m5.large`in `us-east-1a` ist der niedrigste Preis, und es gibt fünf verfügbare ungenutzte `m5.large`-Kapazitätsreservierungen. Die Kapazitätsreservierungen werden zuerst verwendet, um 5 On-Demand-Instances zu starten. Nachdem die verbleibenden `m4.xlarge`- und `m4.2xlarge`-Kapazitätsreservierungen genutzt werden, um die Zielkapazität zu erreichen, wird eine zusätzliche On-Demand-Instance gemäß der On-Demand-Zuordnungsstrategie gestartet, die in diesem Beispiel `lowest-price` ist.
+ 5 `m4.xlarge` On-Demand-Instances in – `us-east-1a``m4.xlarge`in `us-east-1a` ist der zweitniedrigste Preis, und es gibt fünf verfügbare ungenutzte `m4.xlarge`-Kapazitätsreservierungen
+ 5 `m4.2xlarge` On-Demand-Instances in – `us-east-1a``m4.2xlarge`in `us-east-1a` ist der drittniedrigste Preis, und es gibt fünf verfügbare ungenutzte `m4.2xlarge`-Kapazitätsreservierungen

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

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}

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

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 0
}
```

## Beispiel 6: Starten von On-Demand-Instances mithilfe von Ziel-Kapazitätsreservierungen
<a name="ec2-fleet-config7"></a>

Sie können eine Flotte so konfigurieren, dass sie `targeted`-On-Demand-Kapazitätsreservierungen zuerst beim Start von On-Demand-Instances verwendet, indem Sie die Nutzungsstrategie für Kapazitätsreservierungen auf `use-capacity-reservations-first` festlegen. In diesem Beispiel wird gezeigt, wie On-Demand-Instances in `targeted`-Kapazitätsreservierungen, bei denen die Attribute der Kapazitätsreservierungen mit Ausnahme ihrer Availability Zones (`us-east-1a` und `us-east-1b`) gleich sind. Außerdem wird veranschaulicht, wie die Flotte die Instance-Pools auswählt, in denen On-Demand-Instances gestartet werden sollen, wenn die gesamte Zielkapazität die Anzahl der verfügbaren ungenutzten Kapazitätsreservierungen überschreitet.

In diesem Beispiel sieht die Flottenkonfiguration wie folgt aus:
+ 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.

Einen Walkthrough zu den Verfahren, die Sie ausführen müssen, um dieses Beispiel zu erreichen, finden Sie unter [Tutorial: EC2 Fleet so konfigurieren, dass On-Demand Instances mit gezielten Kapazitätsreservierungen gestartet werden](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md).

**Kapazitätsreservierungen**

Das Konto hat die folgenden 6 nicht verwendeten Kapazitätsreservierungen in 2 verschiedenen Pools. In diesem Beispiel unterscheiden sich die Pools durch ihre Availability Zones. Die Anzahl der Kapazitätsreservierungen in jedem Pool wird durch `AvailableInstanceCount` angezeigt.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1b", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Flottenkonfiguration**

Die folgende Flottenkonfiguration zeigt nur die relevanten Konfigurationen für dieses Beispiel. 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`. 

In diesem Beispiel ist der On-Demand-Instance-Preis für `c5.xlarge` in `us-east-1` 0,17 USD pro Stunde.

**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.

Nach dem Start der Flotte können Sie nachsehen, wie viele ungenutzte Kapazitätsreservierungen noch übrig sind. [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 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
}
```

## Beispiel 7: Konfigurieren des Kapazitätsneuausgleichs, um Ersatz-Spot-Instances zu starten
<a name="ec2-fleet-config8"></a>

Im folgenden Beispiel wird die EC2-Flotte so konfiguriert, dass eine Ersatz-Spot-Instance gestartet wird, wenn Amazon EC2 eine Neuausgleichsempfehlung für eine Spot-Instance in der Flotte ausgibt. Um die automatische Ersetzung von Spot-Instances zu konfigurieren, geben Sie für `ReplacementStrategy` `launch-before-terminate` an. Um die Zeitverzögerung vom Start der neuen Ersatz-Spot-Instances bis zum automatischen Löschen der alten Spot-Instances zu konfigurieren, geben Sie für `termination-delay` einen Wert in Sekunden an. Weitere Informationen finden Sie unter [Konfigurationsoptionen](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**Anmerkung**  
Wir empfehlen die Verwendung von `launch-before-terminate` nur wenn Sie vorhersagen können, wie lange Ihre Verfahren zum Herunterfahren der Instances dauern werden, damit die alten Instances erst beendet werden, nachdem diese Verfahren abgeschlossen sind. Ihnen werden alle Instances in Rechnung gestellt, während sie ausgeführt werden.

Die Wirksamkeit der Kapazitätsausgleichsstrategie hängt von der Anzahl der in der EC2-Flotte-Anforderung angegebenen Spot-Kapazitätspools ab. Wir empfehlen, dass Sie die Flotte mit einem diversifizierten Satz von Instance-Typen und Availability Zones konfigurieren und für `AllocationStrategy` `capacity-optimized` angeben. Weitere Informationen darüber, was Sie bei der Konfiguration eines EC2-Flotte für einen Kapazitätsausgleich beachten sollten, finden Sie unter [Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen](ec2-fleet-capacity-rebalance.md).

```
{
    "ExcessCapacityTerminationPolicy": "termination",
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "LaunchTemplate",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5,
        "DefaultTargetCapacityType": "spot"
    },
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "MaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Beispiel 8: Starten von Spot Instances in einer kapazitätsoptimierten Flotte
<a name="ec2-fleet-config9"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine EC2-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die die Kapazität optimiert. Um die Kapazität zu optimieren, müssen Sie `AllocationStrategy` auf `capacity-optimized` festlegen.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Die Zielkapazität beträgt 50 Spot-Instances. Die EC2-Flotte versucht, 50 Spot-Instances in dem Spot-Kapazitätspool zu starten, der über die optimale Kapazität für die Anzahl der zu startenden Instances verfügt.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"

    }
}
```

## Beispiel 9: Starten von Spot Instances in einer kapazitätsoptimierten Flotte mit Prioritäten
<a name="ec2-fleet-config10"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine EC2-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die die Kapazität optimiert und dabei die Priorität so weit wie möglich berücksichtigt.

Bei Verwendung der `capacity-optimized-prioritized`-Zuweisungsstrategie können Sie den `Priority`-Parameter verwenden, um die Prioritäten der Spot-Kapazitätspools anzugeben. Je niedriger die Zahl ist, desto höher ist die Priorität. Sie können die gleiche Priorität auch für mehrere Spot-Kapazitätspools festlegen, wenn sie für Sie die gleiche Priorität haben. Wenn Sie keine Priorität für einen Pool festlegen, wird für den Pool die niedrigste Priorität angenommen.

Um Spot-Kapazitätspools zu priorisieren, müssen Sie `AllocationStrategy` auf `capacity-optimized-prioritized` festlegen. Die EC2-Flotte wird zuerst für die Kapazität optimiert, berücksichtigt jedoch so gut wie möglich die Prioritäten (wenn z. B. die Berücksichtigung der Prioritäten keinen wesentlichen Einfluss auf die Fähigkeit der EC2-Flotte zur Bereitstellung optimaler Kapazität hat). Dies ist eine gute Option für Workloads, bei denen die Möglichkeit von Unterbrechungen minimiert werden muss und die Präferenz für bestimmte Instance-Typen wichtig ist.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Jeder Pool wird priorisiert. Je niedriger die Zahl ist, desto höher ist die Priorität. Die Zielkapazität beträgt 50 Spot-Instances. Die EC2-Flotte versucht nach Möglichkeit, 50 Spot-Instances in dem Spot-Kapazitätspool mit der höchsten Priorität zu starten. Zuerst optimiert sie jedoch die Kapazität.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized-prioritized"
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                        {
                           "InstanceType": "r4.2xlarge",    
                           "Priority": 1,
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                  ] 
             }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"
}
```

## Beispiel 10: Spot-Instances in einer price-capacity-optimized Flotte starten
<a name="ec2-fleet-config11"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine EC2-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die sowohl die Kapazität als auch den Preis optimiert. Um die Kapazität zu optimieren und gleichzeitig den Preis zu berücksichtigen, müssen Sie den Spot `AllocationStrategy` auf `price-capacity-optimized` setzen.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Die Zielkapazität beträgt 50 Spot-Instances. Die EC2-Flotte versucht, 50 Spot Instances in dem Spot-Kapazitätspool zu starten, der über die optimale Kapazität für die Anzahl der zu startenden Instances verfügt, und gleichzeitig den günstigsten Pool auszuwählen.

```
{
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized",
        "MinTargetCapacity": 2,
        "SingleInstanceType": true
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 50,
        "OnDemandTargetCapacity":0,
        "SpotTargetCapacity":50,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

## Beispiel 11: Konfigurieren von attributbasierter Auswahl von Instance-Typen
<a name="ec2-fleet-config12"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine EC2-Flotte so konfiguriert wird, dass sie die attributbasierte Instance-Typauswahl zur Identifizierung von Instance-Typen verwendet. Um die erforderlichen Instance-Attribute anzugeben, geben Sie die Attribute in der `InstanceRequirements`-Struktur an.

Im folgenden Beispiel werden zwei Instance-Attribute angegeben:
+ `VCpuCount`— Ein Minimum von 2 V CPUs ist angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.
+ `MemoryMiB` – Es werden mindestens 4 MiB Arbeitsspeicher angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

Alle Instance-Typen mit 2 oder mehr v CPUs und 4 MiB oder mehr Speicher werden identifiziert. Der Preisschutz und die Zuweisungsstrategie könnten jedoch einige Instance-Typen ausschließen, wenn [die EC2-Flotte die Flotte bereitstellt](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Eine Liste und Beschreibungen aller möglichen Attribute, die Sie angeben können, finden Sie [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)in der *Amazon EC2 API-Referenz.*

```
{
	"SpotOptions": {
		"AllocationStrategy": "price-capacity-optimized"
	},
	"LaunchTemplateConfigs": [{
		"LaunchTemplateSpecification": {
			"LaunchTemplateName": "my-launch-template",
			"Version": "1"
		},
		"Overrides": [{
			"InstanceRequirements": {
				"VCpuCount": {
					"Min": 2
				},
				"MemoryMiB": {
					"Min": 4
				}
			}
		}]
	}],
	"TargetCapacitySpecification": {
		"TotalTargetCapacity": 20,
		"DefaultTargetCapacityType": "spot"
	},
	"Type": "instant"
}
```

# Beispiel für CLI-Konfigurationen der Spot-Flotte
<a name="spot-fleet-examples"></a>

Sie können Ihre Spot-Flottenkonfiguration in einer JSON-Datei definieren und dann mithilfe des [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) AWS CLI Befehls auf diese Datei verweisen, um Ihre Flotte wie folgt zu erstellen:

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://file_name.json
```

Die folgenden Beispiele veranschaulichen Startkonfigurationen für verschiedene Anwendungsfälle von Spot-Flotte. Weitere Informationen zu den Konfigurationsparametern finden Sie unter [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html). Weitere Informationen zum Erstellen einer Spot-Flotte finden Sie unter [Erstellen einer Spot-Flotte](create-spot-fleet.md).

**Anmerkung**  
Für eine Spot-Flotte können Sie in einer Startvorlage oder Startspezifikation keine Netzwerkschnittstellen-ID angeben. Achten Sie darauf, dass Sie den `NetworkInterfaceID`-Parameter in Ihrer Startvorlage oder -spezifikation weglassen.

**Topics**
+ [

## Beispiel 1: Spot Instances mit der kostengünstigsten Availability Zone in der Region starten
](#fleet-config1)
+ [

## Beispiel 2: Spot Instances mit der kostengünstigsten Availability Zone aus einer Liste starten
](#fleet-config2)
+ [

## Beispiel 3: Spot Instances mit dem kostengünstigsten Instance-Typ aus einer Liste starten
](#fleet-config3)
+ [

## Beispiel 4. Außerkraftsetzen des Preises für die Anforderung
](#fleet-config4)
+ [

## Beispiel 5: Starten einer Spot-Flotte mit der diversifizierten Zuweisungsstrategie
](#fleet-config5)
+ [

## Beispiel 6: Starten einer Spot-Flotte mit Instance-Gewichtung
](#fleet-config6)
+ [

## Beispiel 7: Eine Spot-Flotte mit On-Demand-Kapazität starten
](#fleet-config7)
+ [

## Beispiel 8: Konfigurieren des Kapazitätsneuausgleichs, um den Ersatz Spot-Instances zu starten
](#fleet-config8)
+ [

## Beispiel 9: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte
](#fleet-config9)
+ [

## Beispiel 10: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte mit Prioritäten
](#fleet-config10)
+ [

## Beispiel 11: Spot Instances in einer priceCapacityOptimized-Flotte starten
](#fleet-config11)
+ [

## Beispiel 12: Konfigurieren von attributbasierter Auswahl von Instance-Typen
](#fleet-config12)

## Beispiel 1: Spot Instances mit der kostengünstigsten Availability Zone in der Region starten
<a name="fleet-config1"></a>

Das folgende Beispiel gibt eine einzelne Startspezifikation ohne eine Availability Zone oder ein Subnetz an. Die Spot-Flotte startet die Instances in der kostengünstigsten Availability Zone mit einem Standard-Subnetz. Der Preis, den Sie zahlen, wird den On-Demand-Preis nicht überschreiten.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

## Beispiel 2: Spot Instances mit der kostengünstigsten Availability Zone aus einer Liste starten
<a name="fleet-config2"></a>

Die folgenden Beispiele geben zwei Startspezifikationen mit verschiedenen Availability Zones oder Subnetzen, aber demselben Instance-Typ und AMI an.

**Availability Zones**

Die Spot-Flotte startet die Instances in dem Standard-Subnetz der kostengünstigsten Availability Zone, die Sie angegeben haben.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "Placement": {
              "AvailabilityZone": "us-west-2a, us-west-2b"
          },
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

**Subnets**

Sie können Standardsubnetze oder nicht standardmäßige Subnetze angeben. Die nicht standardmäßigen Subnetze können zu einer Standard-VPC oder einer nicht standardmäßigen VPC gehören. Der Spot-Service startet die Instances in dem Subnetz in der kostengünstigsten Availability Zone.

Sie können in einer Spot-Flotten-Anforderung nicht verschiedene Subnetze in derselben Availability Zone angeben.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "SubnetId": "subnet-a61dafcf, subnet-65ea5f08",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

Wenn die Instances in einer Standard-VPC gestartet werden, erhalten sie standardmäßig eine öffentliche IPv4 Adresse. Wenn die Instances in einer nicht standardmäßigen VPC gestartet werden, erhalten sie standardmäßig keine öffentliche IPv4 Adresse. Verwenden Sie eine Netzwerkschnittstelle in der Startspezifikation, um Instances, die in einer nicht standardmäßigen VPC gestartet wurden, eine öffentliche IPv4 Adresse zuzuweisen. Wenn Sie eine Netzwerkschnittstelle angeben, müssen Sie die Subnetz-ID und die Sicherheitsgruppen-ID mithilfe der Netzwerkschnittstelle angeben.

```
  ...       
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "InstanceType": "m3.medium",
          "NetworkInterfaces": [
              {
                  "DeviceIndex": 0,
                  "SubnetId": "subnet-1a2b3c4d",
                  "Groups": [ "sg-1a2b3c4d" ],
                  "AssociatePublicIpAddress": true
              }
          ],
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ...
```

## Beispiel 3: Spot Instances mit dem kostengünstigsten Instance-Typ aus einer Liste starten
<a name="fleet-config3"></a>

Die folgenden Beispiele geben zwei Startkonfigurationen mit verschiedenen Instance-Typen, aber demselben AMI sowie derselben Availability Zone bzw. demselben Subnetz an. Die Spot-Flotte startet die Instances mit dem angegebenen Instance-Typ mit dem niedrigsten Preis.

**Availability Zone**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "Placement": {
            "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Subnetz**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Beispiel 4. Außerkraftsetzen des Preises für die Anforderung
<a name="fleet-config4"></a>

Es wird empfohlen, den Standard-Höchstpreis zu verwenden, bei dem es sich um den On-Demand-Preis handelt. Wenn Sie es vorziehen, können Sie einen Höchstpreis für die Flottenanforderung und Höchstpreise für einzelne Startspezifikationen angeben.

Die folgenden Beispiele geben einen Höchstpreis für die Flottenanforderung und Höchstpreise für zwei oder drei Startspezifikationen an. Der Höchstpreis für die Flottenanforderung wird für alle Startspezifikationen verwendet, die keinen Höchstpreis angeben. Die Spot-Flotte startet die Instances mit dem Instance-Typ mit dem niedrigsten Preis.

**Availability Zone**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
    ]
}
```

**Subnetz**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Beispiel 5: Starten einer Spot-Flotte mit der diversifizierten Zuweisungsstrategie
<a name="fleet-config5"></a>

Im folgenden Beispiel wird die Zuweisungsstrategie `diversified` verwendet. Die Startspezifikationen weisen verschiedene Instance-Typen, aber dasselbe AMI sowie dieselbe Availability Zone bzw. dasselbe Subnetz auf. Die Spot-Flotte verteilt die 30 Instances auf die drei Startspezifikationen, sodass 10 Instances von jedem Typ vorhanden sind. Weitere Informationen finden Sie unter [Verwenden Sie Zuweisungsstrategien, um festzustellen, wie die EC2-Flotte oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausfüllt](ec2-fleet-allocation-strategy.md).

**Availability Zone**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Subnetz**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        }
    ]
}
```

Eine bewährte Methode, um die Wahrscheinlichkeit zu erhöhen, dass eine Spot-Anforderung bei einem Stromausfall in einer der Availability Zones (AZ) von der EC2-Kapazität erfüllt werden kann, ist die Verteilung auf verschiedene Zonen. Für dieses Szenario müssen Sie jede verfügbare Availability Zone in die Startspezifikation einfügen. Und anstatt jedes Mal dasselbe Subnetz zu verwenden, sollten Sie drei eindeutige Subnetze verwenden (die jeweils einer anderen Zone zugeordnet sind). 

**Availability Zone**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2a"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2c"
          }
      }
  ]
}
```

**Subnetz**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-2a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-3a2b3c4d"
        }
    ]
}
```

## Beispiel 6: Starten einer Spot-Flotte mit Instance-Gewichtung
<a name="fleet-config6"></a>

Die folgenden Beispiele verwenden die Instance-Gewichtung, d. h. der Preis versteht sich pro Einheitsstunde anstatt pro Instance-Stunde. Jede Startkonfigurationen listet einen anderen Instance-Typ und eine andere Gewichtung auf. Die Spot-Flotte wählt den Instance-Typ mit dem niedrigsten Preis pro Einheitsstunde aus. Die Spot-Flotte berechnet die Anzahl der zu startenden Spot-Instances, indem die Zielkapazität durch die Instance-Gewichtung dividiert wird. Wenn es sich beim Ergebnis nicht um eine Ganzzahl handelt, rundet die Spot-Flotte es auf die nächste Ganzzahl auf, damit die Größe Ihrer Flotte nicht unter der Zielkapazität liegt.

Wenn die `r3.2xlarge`-Anforderung erfolgreich ist, stellt Spot 4 dieser Instances bereit. 20 geteilt durch 6 ergibt insgesamt 3,33 Instances; dies wird auf 4 Instances aufgerundet.

Wenn die `c3.xlarge`-Anforderung erfolgreich ist, stellt Spot 7 dieser Instances bereit. 20 geteilt durch 3 ergibt insgesamt 6,66 Instances; dies wird auf 7 Instances aufgerundet.

Weitere Informationen finden Sie unter [Instance-Gewichtung verwenden, um die Kosten und die Leistung Ihrer EC2-Flotte oder Spot-Flotte zu verwalten](ec2-fleet-instance-weighting.md).

**Availability Zone**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 3
      }
    ]
}
```

**Subnetz**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 3
      }
  ]
}
```

## Beispiel 7: Eine Spot-Flotte mit On-Demand-Kapazität starten
<a name="fleet-config7"></a>

Um sicherzustellen, dass Sie immer über Instance-Kapazität verfügen, können Sie eine Anforderung nach On-Demand-Kapazität in Ihre Spot-Flotten-Anforderung aufnehmen. Wenn Kapazität vorhanden ist, ist die On-Demand-Anfrage immer erfüllt. Der Saldo der Zielkapazität wird als Spot erfüllt, wenn Kapazität und Verfügbarkeit vorhanden sind.

Das folgende Beispiel gibt die gewünschte Zielkapazität als 10 an, von denen 5 On-Demand-Kapazität sein müssen. Die Spot-Kapazität wird nicht angegeben; sie ergibt sich aus dem Betrag der Zielkapazität abzüglich der On-Demand-Kapazität. Amazon EC2 startet 5 Kapazitätseinheiten als On-Demand und 5 Kapazitätseinheiten (10 – 5=5) als Spot, wenn Amazon EC2-Kapazität und Verfügbarkeit vorhanden sind. 

```
{
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "AllocationStrategy": "lowestPrice",
  "TargetCapacity": 10,
  "SpotPrice": null,
  "ValidFrom": "2018-04-04T15:58:13Z",
  "ValidUntil": "2019-04-04T15:58:13Z",
  "TerminateInstancesWithExpiration": true,
  "LaunchSpecifications": [],
  "Type": "maintain",
  "OnDemandTargetCapacity": 5,
  "LaunchTemplateConfigs": [
    {
      "LaunchTemplateSpecification": {
        "LaunchTemplateId": "lt-0dbb04d4a6cca5ad1",
        "Version": "2"
      },
      "Overrides": [
        {
          "InstanceType": "t2.medium",
          "WeightedCapacity": 1,
          "SubnetId": "subnet-d0dc51fb"
        }
      ]
    }
  ]
}
```

## Beispiel 8: Konfigurieren des Kapazitätsneuausgleichs, um den Ersatz Spot-Instances zu starten
<a name="fleet-config8"></a>

Im folgenden Beispiel wird die Spot-Flotte so konfiguriert, dass eine Ersatz-Spot-Instance gestartet wird, wenn Amazon EC2 eine Neuausgleichsempfehlung für eine Spot-Instance in der Flotte ausgibt. Um die automatische Ersetzung von Spot-Instances zu konfigurieren, geben Sie für `ReplacementStrategy` `launch-before-terminate` an. Um die Zeitverzögerung vom Start der neuen Ersatz-Spot-Instances bis zum automatischen Löschen der alten Spot-Instances zu konfigurieren, geben Sie für `termination-delay` einen Wert in Sekunden an. Weitere Informationen finden Sie unter [Konfigurationsoptionen](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**Anmerkung**  
Wir empfehlen die Verwendung von `launch-before-terminate` nur, wenn Sie vorhersagen können, wie lange Ihre Verfahren zum Herunterfahren der Instances dauern werden. Dadurch wird sichergestellt, dass die alten Instances erst beendet werden, wenn die Verfahren zum Herunterfahren abgeschlossen sind. Ihnen werden alle Instances in Rechnung gestellt, während sie ausgeführt werden.

Die Wirksamkeit der Kapazitätsneuausgleichsstrategie hängt von der Anzahl der in der Spot-Flotten-Anforderung angegebenen Spot-Kapazitätspools ab. Wir empfehlen, dass Sie die Flotte mit einem diversifizierten Satz von Instance-Typen und Availability Zones konfigurieren und für `AllocationStrategy` `capacityOptimized` angeben. Weitere Informationen darüber, was Sie bei der Konfiguration einer Spot-Flotte für einen Kapazitätsneuausgleich beachten sollten, finden Sie unter [Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen](ec2-fleet-capacity-rebalance.md).

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "LaunchTemplate",
                    "Version": "1"
                },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
        "TargetCapacity": 5,
        "SpotMaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Beispiel 9: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte
<a name="fleet-config9"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine Spot-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die die Kapazität optimiert. Um die Kapazität zu optimieren, müssen Sie `AllocationStrategy` auf `capacityOptimized` festlegen.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Die Zielkapazität beträgt 50 Spot-Instances. Die Spot-Flotte versucht, 50 Spot-Instances in dem Spot-Kapazitätspool zu starten, der über die optimale Kapazität für die Anzahl der zu startenden Instances verfügt.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",  
                    "AvailabilityZone": "us-west-2a"
                },
                {
                    "InstanceType": "m4.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }, 
                {
                    "InstanceType": "c5.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Beispiel 10: Starten von Spot-Instances in einer kapazitätsoptimierten Flotte mit Prioritäten
<a name="fleet-config10"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine Spot-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die die Kapazität optimiert und dabei die Priorität so weit wie möglich berücksichtigt.

Bei Verwendung der `capacityOptimizedPrioritized`-Zuweisungsstrategie können Sie den `Priority`-Parameter verwenden, um die Prioritäten der Spot-Kapazitätspools anzugeben. Je niedriger die Zahl ist, desto höher ist die Priorität. Sie können die gleiche Priorität auch für mehrere Spot-Kapazitätspools festlegen, wenn sie für Sie die gleiche Priorität haben. Wenn Sie keine Priorität für einen Pool festlegen, wird für den Pool die niedrigste Priorität angenommen.

Um Spot-Kapazitätspools zu priorisieren, müssen Sie `AllocationStrategy` auf `capacityOptimizedPrioritized` festlegen. Die Spot-Flotte wird zuerst für die Kapazität optimiert, berücksichtigt jedoch so gut wie möglich die Prioritäten (wenn z. B. die Berücksichtigung der Prioritäten keinen wesentlichen Einfluss auf die Fähigkeit der Spot-Flotte zur Bereitstellung optimaler Kapazität hat). Dies ist eine gute Option für Workloads, bei denen die Möglichkeit von Unterbrechungen minimiert werden muss und die Präferenz für bestimmte Instance-Typen wichtig ist.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Jeder Pool wird priorisiert. Je niedriger die Zahl ist, desto höher ist die Priorität. Die Zielkapazität beträgt 50 Spot-Instances. Die Spot-Flotte versucht nach Möglichkeit, 50 Spot-Instances in dem Spot-Kapazitätspool mit der höchsten Priorität zu starten. Zuerst optimiert sie jedoch die Kapazität.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimizedPrioritized"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",    
                   "Priority": 1,
                    "AvailabilityZone": "us-west-2a"
                },
                {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "AvailabilityZone": "us-west-2b"
                }, 
                {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Beispiel 11: Spot Instances in einer priceCapacityOptimized-Flotte starten
<a name="fleet-config11"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine Spot-Flotte mit einer Spot-Zuweisungsstrategie konfiguriert wird, die sowohl die Kapazität als auch den Preis optimiert. Um die Kapazität zu optimieren und gleichzeitig den Preis zu berücksichtigen, müssen Sie den Spot `AllocationStrategy` auf `priceCapacityOptimized` setzen.

Im folgenden Beispiel geben die drei Startspezifikationen drei Spot-Kapazitätspools an. Die Zielkapazität beträgt 50 Spot-Instances. Die Spot-Flotte versucht, 50 Spot Instances in dem Spot-Kapazitätspool zu starten, der über die optimale Kapazität für die Anzahl der zu startenden Instances verfügt und gleichzeitig den günstigsten Pool auszuwählen.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "OnDemandAllocationStrategy": "lowestPrice",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111111111111:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": [
                     {
                           "InstanceType": "r4.2xlarge",  
                           "AvailabilityZone": "us-west-2a"
                      },
                      {
                           "InstanceType": "m4.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }, 
                      {
                           "InstanceType": "c5.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }
                ]
            }
        ],
        "TargetCapacity": 50,
        "Type": "request"
    }
}
```

## Beispiel 12: Konfigurieren von attributbasierter Auswahl von Instance-Typen
<a name="fleet-config12"></a>

Im folgenden Beispiel wird veranschaulicht, wie eine Spot-Flotte so konfiguriert wird, dass sie die attributbasierte Instance-Typauswahl zur Identifizierung von Instance-Typen verwendet. Um die erforderlichen Instance-Attribute anzugeben, geben Sie die Attribute in der `InstanceRequirements`-Struktur an.

Im folgenden Beispiel werden zwei Instance-Attribute angegeben:
+ `VCpuCount`— Ein Mindestwert von 2 V CPUs ist angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.
+ `MemoryMiB` – Es werden mindestens 4 MiB Arbeitsspeicher angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

Alle Instance-Typen mit 2 oder mehr v CPUs und 4 MiB oder mehr Speicher werden identifiziert. Der Preisschutz und die Zuweisungsstrategie könnten jedoch einige Instance-Typen ausschließen, wenn die [Spot-Flotte die Flotte bereitstellt](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Eine Liste und Beschreibungen aller möglichen Attribute, die Sie angeben können, finden Sie [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)in der *Amazon EC2 API-Referenz.*

```
{
	"AllocationStrategy": "priceCapacityOptimized",
	"TargetCapacity": 20,
	"Type": "request",
	"LaunchTemplateConfigs": [{
		"LaunchTemplateSpecification": {
			"LaunchTemplateName": "my-launch-template",
			"Version": "1"
		},
		"Overrides": [{
			"InstanceRequirements": {
				"VCpuCount": {
					"Min": 2
				},
				"MemoryMiB": {
					"Min": 4
				}
			}
		}]
	}]
}
```

# Kontingente für EC2-Flotte und Spot-Flotte
<a name="fleet-quotas"></a>

Ihr AWS-Konto hat Standardkontingente, früher als Limits bezeichnet, für jeden AWS Service. Sofern nicht anders angegeben, gilt jedes Kontingent spezifisch für eine Region.

Die üblichen Amazon-EC2-Kontingente gelten für Instances, die von einer EC2-Flotte oder einer Spot-Flotte gestartet werden, z. B. [Spot-Instance-Limits](using-spot-limits.md) und [Volumen-Limits](volume_limits.md).

Darüber hinaus gelten für Sie AWS-Konto die folgenden Kontingente in Bezug auf die EC2-Flotte und die Spot-Flotte:


****  

| Quota-Beschreibung | Kontingent | 
| --- | --- | 
| Die Anzahl der EC2-Flotten und Spot-Flotten pro Region des Typs maintain und request im active-, deleted\$1running- und cancelled\$1running-Status | 1 000 ¹ ² ³ | 
| Die Anzahl der EC2-Flotten des Typs instant | Unbegrenzt | 
| Anzahl der Spot-Kapazitätspools (eindeutige Kombination aus Instance-Typ und Subnetz) für EC2-Flotten and Spot-Flotten des Typs maintain and request | 300 ¹ | 
| Anzahl der Spot-Kapazitätspools (eindeutige Kombination aus Instance-Typ und Subnetz) für EC2-Flotten desm Typs instant | Unbegrenzt | 
| Größe der Benutzerdaten in einer Startspezifikation | 16 KB ² | 
| Zielkapazität pro EC2-Flotte oder Spot-Flotte | 10.000 | 
| Die Zielkapazität in allen EC2-Flotten und Spot-Flotten in einer Region | 100 000 ¹ | 
|  Eine EC2-Flotten- oder Spot-Flotten-Anforderung kann sich nicht über mehrere Regionen erstrecken.  |  | 
| Eine EC2-Flotten- oder Spot-Flotten-Anforderung kann sich nicht über verschiedene Subnetze in derselben Availability Zone erstrecken. |  | 

¹ Diese Quotas gelten sowohl für EC2-Flotten als auch für Spot-Flotten.

² Dabei handelt es sich um feste Quotas. Sie können keine Erhöhung einiger dieser Quotas beantragen.

³ Nachdem Sie eine EC2-Flotte gelöscht oder eine Spot-Flotte-Anforderung storniert haben und wenn Sie angegeben haben, dass die Flotte ihre Spot-Instances *nicht* beenden soll, wenn Sie die Anforderung gelöscht oder storniert haben, tritt die Flottenanfrage in den Status `deleted_running` (EC2-Flotte) oder `cancelled_running` (Spot-Flotten-Zustand) und die Instances werden weiter ausgeführt, bis sie unterbrochen oder manuell beendet werden. Wenn Sie die Instances beenden, tritt die Flottenanforderung in den Status `deleted_terminating` (EC2-Flotte) oder `cancelled_terminating` (Spot-Flotte) und wird auf diese Quota angerechnet. Weitere Informationen erhalten Sie unter [EC2-Flottenanforderung und die Instances in der Flotte löschen](delete-fleet.md) und [Spot-Flotten-Anforderung abbrechen (löschen)](cancel-spot-fleet.md).

## Anfordern einer Quota-Erhöhung für die Zielkapazität
<a name="fleet-quota-increase-request"></a>

Wenn Sie mehr als diese Standard-Quota für die Zielkapazität benötigen, können Sie eine Quota-Erhöhung anfordern.

**So fordern Sie eine Quota-Erhöhung für die Zielkapazität an**

1. Öffnen Sie das Formular Support Center [Create Case](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-fleet).

1. Wählen Sie **Service Limit increase (Erhöhung des Servicelimits)**.

1. Bei **Limit type (Limit-Typ)** wählen Sie **EC2 fleet (EC2-Flotte)** aus.

1. Wählen Sie **unter Region** die AWS Region aus, für die Sie die Erhöhung des Kontingents beantragen möchten.

1. Bei **Limit (Limit)** wählen Sie **Target Fleet Capacity per Fleet (in units) (Zielflottenkapazität pro Flotte (in Einheiten))** oder **Target Fleet Capacity per Region (in units) (Zielflottenkapazität pro Region (in Einheiten))** aus, abhängig davon, welche Quota Sie erhöhen möchten.

1. Geben Sie unter **New limit value (Neuer Limit-Wert)** den neuen Wert ein.

1. Um eine Erhöhung für eine andere Quota anzufordern, wählen Sie **Add another request** (Weitere Anforderung hinzufügen) aus und wiederholen Sie die Schritte 4 bis 6.

1. Bei **Use case description (Beschreibung des Anwendungsfalls)** geben Sie Ihren Grund für die Anforderung einer Quota-Erhöhung an.

1. Unter **Contact options (Kontakt-Optionen)** geben Sie Ihre bevorzugte Kontaktsprache und Kontaktmethode an.

1. Wählen Sie **Absenden** aus.