Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tutorial: Konfigurieren Sie Ihre EC2-Flotte so, dass Instances mithilfe einer Ressourcengruppe für Kapazitätsreservierungen mit mehreren Kapazitätsreservierungsarten gestartet werden
Dieses Tutorial führt Sie durch die Schritte zur Konfiguration einer EC2-Flotte, die Instances für mehrere Kapazitätsreservierungstypen — On-Demand Kapazitätsreservierungen (ODCRs), Kapazitätsblöcke für ML und unterbrechbare Kapazitätsreservierungen — mithilfe einer einzigen Ressourcengruppe für Kapazitätsreservierungen startet.
Sie erfahren, wie Sie eine Ressourcengruppe für Kapazitätsreservierungen erstellen, die verschiedene Kapazitätsreservierungstypen enthält, Ihre EC2-Flotte so konfigurieren, dass die Kapazitätsreservierungstypen in einer bestimmten Reihenfolge priorisiert werden, und optional auf On-Demand Kapazität zurückgreifen, wenn die reservierte Kapazität nicht ausreicht, um Ihr Ziel zu erreichen.
Überlegungen
-
Bei Verwendung werden nur EC2-Flottenanforderungen dieses Typs
instantunterstützt.ReservedCapacityOptions -
Sie müssen in der
ReservationTypesListe explizit angeben, auf welche Kapazitätsreservierungstypen Sie abzielen möchten. EC2 Fleet startet Instances nur mit den von Ihnen angegebenen Kapazitätsreservierungstypen. -
ReservedCapacityOptionsschließt sich gegenseitig aus mitOnDemandOptions.CapacityReservationOptions. Sie können nicht beide in derselben EC2-Flottenanfrage verwenden.
In diesem Tutorial wird davon ausgegangen, dass Sie bereits die folgenden Kapazitätsreservierungen in Ihrem Konto haben:
-
Ein ODCR (
cr-1234567890abcdef1) fürp5.48xlargeinus-east-1a -
Ein ODCR (
cr-abcdef1234567890a) für inp4d.48xlargeus-east-1b -
Ein Kapazitätsblock (
cr-0123456789abcdef0) fürp5.48xlargeinus-east-1a -
Eine unterbrechbare Kapazitätsreservierung (
cr-9876543210fedcba9) für eingehendep5.48xlargeEingabenus-east-1a, die Ihnen von einem anderen Konto in Ihrer Organisation zur Verfügung gestellt wurde
Überprüfen der Berechtigungen
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.
Schritt 1: Erstellen Sie eine Ressourcengruppe für Kapazitätsreservierungen
Erstellen Sie eine Ressourcengruppe für Kapazitätsreservierungen, um die Kapazitätsreservierungen zu speichern, auf die Ihre EC2-Flotte abzielt. Konfigurieren Sie die Gruppe so, dass sie Kapazitätsreservierungen aller Instance-Typen und Kapazitätsreservierungstypen akzeptiert, sodass die Gruppe eine Mischung aus Kapazitätsreservierungstypen speichern kann. Eine schrittweise Anleitung finden Sie unter Kapazitätsreservierungsgruppen.
Anmerkung
Wenn Sie die Gruppe erstellen, geben Sie in der AWS::EC2::CapacityReservationPool Konfiguration keine reservation-type Parameter instance-type oder an. Wenn Sie diese Parameter weglassen, kann die Gruppe Kapazitätsreservierungen aller Instanztypen und Kapazitätsreservierungstypen akzeptieren.
Schritt 2: Kapazitätsreservierungen zur Gruppe hinzufügen
Fügen Sie Ihre Kapazitätsreservierungen der Ressourcengruppe „Kapazitätsreservierung“ hinzu. Sie können eine beliebige Kombination aus ODCRs, Kapazitätsblöcken für ML, unterbrechbaren Kapazitätsreservierungen und UltraServer Kapazitätsblöcken hinzufügen. Fügen Sie für dieses Tutorial die vier Kapazitätsreservierungen hinzu, die zu Beginn dieses Tutorials aufgeführt sind. Eine schrittweise Anleitung finden Sie unter Kapazitätsreservierungsgruppen.
Schritt 3: Eine Startvorlage erstellen
Verwenden Sie den Befehl create-launch-template, um eine Startvorlage zu erstellen, die auf die Ressourcengruppe „Kapazitätsreservierung“ ausgerichtet ist. Wenn Sie es ReservedCapacityOptions in Ihrer EC2-Flottenkonfiguration verwenden, müssen Sie MarketType in der Startvorlage keine festlegen — EC2 Fleet legt dies automatisch für jeden Kapazitätsreservierungstyp fest.
aws ec2 create-launch-template \ --launch-template-namemy-cr-resource-group-template\ --launch-template-data \ '{"ImageId": "ami-0123456789example", "CapacityReservationSpecification": {"CapacityReservationTarget": {"CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"} } }'
Schritt 4: Erstellen Sie eine EC2-Flotte
Erstellen Sie eine EC2-Flotte, die auf mehrere Kapazitätsreservierungstypen in Ihrer Ressourcengruppe für Kapazitätsreservierungen abzielt. Die Schlüsselkonfiguration istReservedCapacityOptions, die Folgendes spezifiziert:
-
ReservationTypes— Eine geordnete Liste der Kapazitätsreservierungstypen, die als Ziel ausgewählt werden sollen. EC2 Fleet arbeitet die Typen in dieser Reihenfolge ab. Gültige Werte sindon-demand-capacity-reservation,capacity-blockundinterruptible-capacity-reservation. -
AllocationStrategy— Wie Instance-Typen innerhalb der einzelnen Kapazitätsreservierungstypen priorisiert werden. Stellen Sie diese Option soprioritizedein, dass die Reihenfolge Ihrer Instanztypen beim Überschreiben eingehalten wird. -
ReservedCapacityFallbackOptions— Auf setzenMarketTypes,["on-demand"]um On-Demand Instances zu starten, wenn die reservierte Kapazität nicht ausreicht. Wenn Sie keine Ausweichoptionen angeben, greift EC2 Fleet nicht auf einen anderen Markttyp zurück, nachdem die angegebenen Kapazitätsreservierungstypen ausgeschöpft sind.
Erstellen Sie eine Datei mit dem Namen config.json und dem folgenden Inhalt. Ersetzen Sie im folgenden Beispiel die Ressourcenbezeichner durch Ihre eigenen Ressourcenbezeichner.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-cr-resource-group-template", "Version": "1" }, "Overrides": [ { "InstanceType": "p5.48xlarge", "AvailabilityZone": "us-east-1a", "Priority": 1 }, { "InstanceType": "p4d.48xlarge", "AvailabilityZone": "us-east-1b", "Priority": 2 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity":100, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationTypes": ["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation"], "ReservedCapacityFallbackOptions": { "MarketTypes": ["on-demand"] }, "AllocationStrategy": "prioritized" }, "Type": "instant" }
Verwenden Sie den Befehl create-fleet, um die Flotte zu starten:
aws ec2 create-fleet --cli-input-json file://config.json
Weitere Informationen finden Sie unter Erstellen einer EC2-Flotte.
Wie EC2 Fleet Kapazitätsreservierungen löst
Basierend auf der vorherigen Konfiguration versucht EC2 Fleet, Instances in der folgenden Reihenfolge zu starten:
-
ODCRs — zuerst
p5.48xlargeReservierungen (der Instance-Typ mit der höchsten Priorität) und dann Reservierungen.p4d.48xlargeWenn innerhalb jedes Instanztyps mehrere ODCRs vorhanden sind, wird eines nach dem Zufallsprinzip ausgewählt. -
Kapazitätsblöcke — Wenn in allen ODCRs keine verfügbare Kapazität mehr verfügbar ist, zielt EC2 Fleet auf Kapazitätsblöcke ab.
p5.48xlargezuerst Reservierungen und dannp4d.48xlargenach dem Zufallsprinzip innerhalb der einzelnen Instance-Typen. -
Unterbrechbare Kapazitätsreservierungen — Wenn in allen Kapazitätsblöcken keine verfügbare Kapazität mehr verfügbar ist, zielt EC2 Fleet auf unterbrechbare Kapazitätsreservierungen ab.
p5.48xlargeZuerst Reservierungen und dannp4d.48xlargenach dem Zufallsprinzip innerhalb der einzelnen Instance-Typen. -
On-Demand Fallback — Wenn die reservierte Kapazität nicht ausreicht, um das Ziel von 100 Instances zu erreichen, wird die verbleibende Kapazität als On-Demand Instances gestartet. EC2 Fleet startet diese On-Demand Instances gemäß der Zuweisungsstrategie, die Sie in angeben.
OnDemandOptions
Anmerkung
EC2 Fleet löst zuerst den Typ der Kapazitätsreservierung und dann den Instance-Typ innerhalb der einzelnen Kapazitätsreservierungstypen auf. Jeder Kapazitätsreservierungstyp ist vollständig ausgeschöpft, bevor EC2 Fleet zum nächsten Typ in der sortierten Liste wechselt.
(Optional) Schritt 5: Überprüfen Sie die Instance-Eigenschaften
Verwenden Sie den Befehl describe-instances, um zu überprüfen, welchen Kapazitätsreservierungstyp jede Instance verbraucht hat. Von der Flotte gestartete Instances weisen die folgenden Eigenschaften auf.
| Eigenschaft | On-Demand Wert der Kapazitätsreservierung | Wert für den Kapazitätsblock | Wert für unterbrechbare Kapazitätsreservierung | On-Demand Wert |
|---|---|---|---|---|
instance-lifecycle |
null |
capacity-block |
interruptible-capacity-reservation |
null |
capacity-reservation-id |
Kapazitätsreservierungs-ID verbraucht | Kapazitätsreservierungs-ID verbraucht | Kapazitätsreservierungs-ID verbraucht | Nicht vorhanden |
capacity-reservation-specification |
Gruppen-ARN | Gruppe ARN | Gruppe ARN | Nicht vorhanden |
Mit dem folgenden Befehl können Sie Instances nach Ressourcengruppe für Kapazitätsreservierungen filtern:
aws ec2 describe-instances \ --filters "Name=capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn,Values=arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"
Bereinigen
Um zu verhindern, dass Gebühren anfallen, beenden Sie die Instances, wenn sie nicht mehr benötigt werden. Beachten Sie, dass Instances, die in Capacity Blocks gestartet wurden, automatisch beendet werden, wenn die Capacity Block-Reservierung endet. Instances, die mit unterbrechbaren Kapazitätsreservierungen gestartet wurden, werden automatisch beendet, wenn der Kapazitätsinhaber die Kapazität zurückfordert.