View a markdown version of this page

Ermitteln Sie anhand von Zuweisungsstrategien, wie EC2 Fleet oder Spot Fleet Spot und Kapazität erfüllt On-Demand - 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 Fleet Spot und Kapazität erfüllt On-Demand

Wenn Sie mehrere Kapazitätspools (die jeweils aus einem Instance-Typ und einer Availability Zone bestehen) in einer EC2-Flotte oder Spot-Flotte verwenden, können Sie mithilfe einer Zuweisungsstrategie verwalten, wie Amazon EC2 Ihren Spot und die Kapazitäten aus diesen Pools abdeckt. On-Demand 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 Instances. On-Demand

Zuweisungsstrategien für Spot-Instances

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 Ihre Spot-Instance so konfigurieren, dass sie mit SEV-SNP eingeschaltetem AMD gestartet wird, wird Ihnen eine zusätzliche stündliche Nutzungsgebühr in Rechnung gestellt, die 10% des On-Demand Stundensatzes für den ausgewählten Instance-Typ entspricht. 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 Spot-Instances von den Pools angefordert werden, bei denen 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, lautet 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 Spot-Instances von den Pools angefordert werden, bei denen 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 gesetzt 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)
Warnung

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. Wenn Sie den verwenden 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.

Zuweisungsstrategien für On-Demand Instances

Ihre Startkonfiguration bestimmt alle möglichen Kapazitätspools (Instance-Typen und Availability Zones), von denen aus EC2 Fleet oder Spot Fleet On-Demand Instances starten können. 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 stammen aus dem Pool mit dem niedrigsten Preis, der über verfügbare Kapazität verfügt. Dies ist die Standardstrategie.

Wenn der Pool mit dem niedrigsten Preis keine verfügbare Kapazität hat, stammen die On-Demand Instances aus dem Pool mit dem nächstniedrigeren Preis, der über verfügbare Kapazität verfügt.

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. 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 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 Sie die Instance-Typen hinsichtlich ihrer Kapazität On-Demand.

Die geeignete Zuweisungsstrategie auswählen

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 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 Spot-Instances aus den Pools angefordert werden, bei denen die Wahrscheinlichkeit einer kurzfristigen Unterbrechung am geringsten ist, wobei der Preis dennoch 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:

Wenn Workloads mit hohen Unterbrechungskosten verbunden sind

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, dass, wenn Sie Prioritäten für die priorisierte Kapazitätsoptimierung festlegen, dieselben Prioritäten auch auf Ihre On-Demand Instances angewendet werden, wenn die On-Demand Zuweisungsstrategie auf priorisiert gesetzt 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:

Beispiele für JSON-Konfigurationen, die die kapazitätsoptimierte priorisierte Zuweisungsstrategie verwenden, finden Sie im Folgenden:

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

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 führt die Flotte Spot-Instances in keine Pools ein, deren Spot-Preis dem Preis entspricht oder darüber liegt. On-Demand

Zielkapazität für Spot Instances erhalten

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 Sie die Instance-Typen hinsichtlich ihrer Kapazität On-Demand

Wenn eine EC2-Flotte oder Spot-Flotte versucht, Ihre On-Demand Kapazität auszuschöpfen, wird standardmäßig zuerst der Instance-Typ mit dem niedrigsten Preis gestartet. Wenn die On-Demand Zuweisungsstrategie auf priorisiert gesetzt ist, bestimmt die Flotte anhand der Priorität, welcher Instance-Typ bei Kapazitätsauslastung zuerst verwendet werden soll. On-Demand 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.

Die On-Demand Preise für die Instance-Typen variieren je nach Preis. 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 festlegen, erfüllt die Flotte die On-Demand Kapazität, indem sie mit dem kostengünstigsten Instance-Typ beginnt.

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