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.
Den Kapazitätsausgleich in der EC2-Flotte und der Spot-Flotte verwenden, um gefährdete Spot Instances zu ersetzen
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. 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 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.
Spot-Flotte so konfigurieren, dass der Kapazitätsneuausgleich zum Starten einer neuen Spot Instance verwendet wird
Sie können die Amazon-EC2-Konsole oder die AWS CLI verwenden, um Kapazitätsneuausgleich 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.
(AWS CLI) Verwenden Sie den Befehl request-spot-fleet und die relevanten Parameter in der SpotMaintenanceStrategies-Struktur. Eine JSON-Beispielkonfiguration finden Sie unter Beispiel 8: Konfigurieren des Kapazitätsneuausgleichs, um den Ersatz Spot-Instances zu starten.
Einschränkungen
-
Die Kapazitätsanpassung ist nur für Flotten des Typs verfügbar
maintain. -
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
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-terminateangeben, müssen Sie auch einen Wert fürtermination-delayangeben. Nachdem die neuen Ersatz-Instances gestartet wurden, wartet Amazon EC2 während der Dauer destermination-delayund beendet dann die alten Instances. Fürtermination-delaybeträgt das Minimum 120 Sekunden (2 Minuten) und das Maximum 7 200 Sekunden (2 Stunden).Wir empfehlen die Verwendung von
launch-before-terminatenur, 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 unterbrechen kanntermination-delay.Wir raten dringend davon ab, die Zuweisungsstrategie
lowest-price(EC2-Flotte) oderlowestPrice(Spot-Flotte) in Kombination mitlaunch-before-terminatezu 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
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.
- Vermeiden Sie ein erhöhtes Risiko einer Unterbrechung von Ersatz-Spot-Instances
-
Um ein erhöhtes Unterbrechungsrisiko zu vermeiden, empfehlen wir die
capacity-optimized- odercapacity-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.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 (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 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.*
-
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.*
-
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.
* Wenn
launch-before-terminateangegeben 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 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-terminatemit 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 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 mit Amazon EventBridge oder Instance-Metadaten einrichten. Weitere Informationen finden Sie unter Überwachen von Signalen für Neuausgleichsempfehlungen.
- 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.
-