Ermitteln Sie anhand von Zuweisungsstrategien, wie EC2 Fleet oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausschöpfen - Amazon Elastic Compute Cloud

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.

Ermitteln Sie anhand von Zuweisungsstrategien, wie EC2 Fleet oder Spot-Flotte die Spot- und On-Demand-Kapazitäten ausschöpfen

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 verwalten, wie Amazon Ihre Spot- und On-Demand-Kapazitäten aus diesen Pools EC2 ausfüllt. Die Zuweisungsstrategien können je nach verfügbarer Kapazität, Preis und zu verwendenden Instance-Typen optimiert werden. Es gibt verschiedene Zuweisungsstrategien für Spot-Instances und On-Demand-Instances.

Zuweisungsstrategien für Spot-Instances

Ihre Startkonfiguration bestimmt alle möglichen Spot-Kapazitätspools (Instance-Typen und Availability Zones), aus denen EC2 Fleet oder Spot-Flotte Spot-Instances starten kann. Beim Starten von Instances nutzt die 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 SNP aktiviertem AMDSEV- starten, wird Ihnen eine zusätzliche stündliche Nutzungsgebühr in Höhe von 10% des On-Demand-Stundensatzes für den ausgewählten Instance-Typ berechnet. Wenn die Zuweisungsstrategie den Preis als Eingabewert 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 und Kapazität optimiert (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 price-capacity-optimized -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, lautet der Parametername für Fleet und price-capacity-optimized für Spot EC2 Fleet. priceCapacityOptimized

Kapazität optimiert

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. Sie können optional eine Priorität für jeden Instance-Typ in Ihrer Flotte festlegen, wobei die Flotte zuerst die Kapazität optimiert, die Prioritäten der Instance-Typen so gut wie möglich beachtet.

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 capacity-optimized 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 capacity-optimized -Strategie die Zahl der Unterbrechungen reduzieren kann, trägt sie zur Senkung der Gesamtkosten Ihrer Workload bei.

Alternativ können Sie die capacity-optimized prioritized -Zuweisungsstrategie mit einem Prioritätsparameter verwenden, um die Instance-Typen von der höchsten zur niedrigsten Priorität zu ordnen. Sie können die gleiche 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 Folgendes: Wenn Sie die Priorität für Instance-Typen für Ihre Spot-Kapazität festlegen, wird die gleiche Priorität auch auf Ihre On-Demand-Instances angewendet, wenn die On-Demand- Zuweisungsstrategie auf prioritized eingestellt ist. Für Spot-Flotten wird die Verwendung von Prioritäten 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.

Diversifiziert

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)
Warnung

Wir empfehlen nicht, die Strategie mit dem niedrigsten Preis zu verwenden, da sie das höchste Risiko einer Unterbrechung Ihrer Spot-Instances birgt.

Die Spot-Instances kommen aus dem preisgünstigsten Pool mit verfügbarer Kapazität. Bei Verwendung von ist dies die Standardstrategie. AWS CLI Es wird jedoch empfohlen, die Standardeinstellung zu überschreiben, indem Sie die price-capacity-optimized -Zuweisungsstrategie angeben.

Wenn der günstigste Pool keine verfügbare Kapazität aufweist, kommen die Spot 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 die Flotte Ihre Anfrage weiterhin erfüllen, indem sie aus dem nächsten preisgünstigsten Pool zieht. 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 lowest-price Zuweisungsstrategie ist nur verfügbar, wenn Sie die verwenden AWS CLI. 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 lowest-price 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 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 Sie die Strategie für die Zuteilung mit dem niedrigsten Preis angeben und nur, wenn Sie den verwenden AWS CLI. Der Parametername gilt sowohl InstancePoolsToUseCount für EC2 Fleet als auch für Spot Fleet.

Zuweisungsstrategien für On-Demand-Instances

Ihre Startkonfiguration bestimmt alle möglichen Kapazitätspools (Instance-Typen und Availability Zones), aus denen EC2 Fleet- oder Spot-Flotte On-Demand-Instances starten kann. Beim Starten von Instances nutzt die 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 die Flotte Ihre Anfrage weiterhin erfüllen, indem sie aus dem nächsten preisgünstigsten Pool zieht. Um sicherzustellen, dass Ihre gewünschte Kapazität 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 startet die Instance-Typen zuerst in der Reihenfolge der höchsten Priorität. Diese Strategie kann nicht mit attributbasierter Auswahl von Instance-Typen verwendet werden. Ein Beispiel für die Verwendung dieser Zuweisungsstrategie finden Sie unterPriorisieren von Instance-Typen für On-Demand-Kapazität.

Auswählen der geeigneten Spot-Zuweisungsstrategie

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

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 price-capacity-optimized -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, Daten- und Analysejobs sowie Stapelverarbeitung, dann sollten Sie die price-capacity-optimized -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 price-capacity-optimized -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.

Im Folgenden finden Sie beispielsweise JSON Konfigurationen, die die Strategie der preiskapazitätsoptimierten Zuweisung verwenden:

Wenn Workloads mit hohen Unterbrechungskosten verbunden sind

Sie können die capacity-optimized -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 capacity-optimized prioritized -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 für capacity-optimized prioritized festlegen, werden die gleichen Prioritäten auch auf Ihre On-Demand-Instances angewendet, wenn die On-Demand- Zuweisungsstrategie auf prioritized eingestellt ist. Beachten Sie auch, dass die Verwendung von Prioritäten für Spot-Flotten nur unterstützt wird, wenn Ihre Flotte eine Startvorlage verwendet.

Im Folgenden finden Sie beispielsweise JSON Konfigurationen, die die kapazitätsoptimierte Zuweisungsstrategie verwenden:

Im Folgenden finden Sie beispielsweise JSON Konfigurationen, die die kapazitätsoptimierte Strategie für die priorisierte Zuweisung verwenden:

Wenn Ihr Workload zeitlich flexibel ist und die Kapazitätsverfügbarkeit kein Faktor ist

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

Wenn Ihre Flotte groß ist oder lange läuft

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 diversified -Strategie über mehrere Pools verteilen. Wenn Ihre Flotte beispielsweise 10 Pools und eine Zielkapazität von 100 Instances angibt, startet die Flotte 10 Spot-Instances pro 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. Die diversified startet bei einer Flotte-Strategie keine Spot-Instances in Pools mit Spot-Preisen, die auf dem Niveau des On-Demand-Preises oder darüber liegen.

Erhalten der Zielkapazität für Spot-Instances

Wenn Spot-Instances aufgrund einer Änderung in Bezug auf den Spot-Preis oder die verfügbare Kapazität eines Spot-Kapazitätspools beendet werden, maintain startet eine Flotte vom Typ Ersatz-Spot-Instances. Die Zuweisungsstrategie bestimmt die Pools, von denen aus die Ersatz-Instances gestartet werden, wie folgt:

  • Wenn die Zuweisungsstrategie price-capacity-optimized 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 capacity-optimized ist, startet die Flotte Ersatz-Instances in den Pools mit der größten verfügbaren Spot Instance-Kapazität.

  • Wenn die Zuweisungsstrategie diversified lautet, verteilt die Flotte die Ersatz-Spot-Instances über die verbleibenden Pools.

Priorisieren von Instance-Typen für On-Demand-Kapazität

Wenn eine EC2 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 prioritized eingestellt ist, bestimmt die Flotte anhand der Priorität, 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