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.
Amazon EC2 bietet AWS Cloud über Spot-Instances Zugriff auf freie EC2 Rechenkapazität mit Einsparungen von bis zu 90% im Vergleich zu On-Demand-Preisen. Der einzige Unterschied zwischen On-Demand-Instances und Spot-Instances besteht darin EC2, dass Spot-Instances von Amazon mit einer Frist von zwei Minuten unterbrochen werden können, wenn Amazon die Kapazität zurückfordern EC2 muss. Um die beste Erfahrung mit Spot Instances zu gewährleisten, ist es wichtig, die bewährten Methoden für deren Verwendung zu verstehen und anzuwenden.
Spot Instances werden für zustandslose, fehlertolerante, flexible Anwendungen empfohlen. Spot Instances eignen sich beispielsweise gut für Big Data, containerisierte Workloads, CI/CD, zustandslose Webserver, High Performance Computing (HPC) und Rendering-Workloads.
Während des Ausführens sind Spot Instances genau gleich wie On-Demand-Instances. Spot garantiert jedoch nicht, dass Sie Ihre ausgeführten Instances lange genug halten können, um Ihre Workloads abzuschließen. Spot garantiert auch nicht, dass Sie die sofortige Verfügbarkeit der von Ihnen gesuchten Instances erhalten können oder dass Sie immer die von Ihnen angeforderte Gesamtkapazität erhalten können. Darüber hinaus können sich Spot-Instance-Unterbrechungen und Spot-Instance-Kapazitäten im Laufe der Zeit ändern, da die Spot-Instance-Verfügbarkeit je nach Angebot und Nachfrage variiert und die Performance in der Vergangenheit keine Garantie für zukünftige Ergebnisse darstellt.
Spot Instances sind nicht für Workloads geeignet, die unflexibel, statusbehaftet, fehlerintolerant oder eng zwischen Instance-Knoten verbunden sind. Wir empfehlen Spot Instances nicht für Workloads, die nicht tolerieren, dass gelegentlich die gesamte Zielkapazität nicht vollständig verfügbar ist. Die Einhaltung der bewährten Methoden von Spot, um flexibel in Bezug auf Instance-Typen und Availability Zones zu sein, bietet zwar die beste Chance auf Hochverfügbarkeit, es gibt jedoch keine Garantie dafür, dass Kapazität verfügbar ist, da eine steigende Nachfrage nach On-Demand-Instances die Workloads auf Spot Instances stören kann.
Wir warnen dringend davor, Spot Instances für diese Workloads zu verwenden oder ein Failover auf On-Demand-Instances zu versuchen, um Unterbrechungen zu handhaben. Ein Failover auf On-Demand-Instances kann versehentlich zu Unterbrechungen Ihrer anderen Spot Instances führen. Wenn Spot Instances für eine Kombination aus Instance-Typ und Availability Zone unterbrochen werden, kann es für Sie außerdem schwierig werden, On-Demand-Instances mit derselben Kombination zu erhalten.
Unabhängig davon, ob Sie ein erfahrener Spot-Benutzer oder neu bei Spot Instances sind: Wenn Sie derzeit Probleme mit Spot-Instance-Unterbrechungen oder Spot-Instance-Verfügbarkeit haben, empfehlen wir Ihnen, diese bewährten Methoden zu befolgen, um die beste Erfahrung mit dem Spot-Service zu erzielen.
Bewährte Methoden für Spot
Verwenden Sie Spot-Platzierungswerte, um optimale Regionen und Availability Zones zu identifizieren
Verwenden Sie EC2 Auto Scaling Scaling-Gruppen oder EC2 Fleet, um Ihre Gesamtkapazität zu verwalten
Nutzen der preis- und kapazitätsoptimierten Zuweisungsstrategie
Verwenden Sie integrierte AWS Dienste, um Ihre Spot-Instances zu verwalten
Vorbereiten einzelner Instances auf Unterbrechungen
Der beste Weg, um Spot-Instance-Unterbrechungen ordnungsgemäß zu handhaben, besteht darin, Ihre Anwendung so zu konzipieren, dass sie eine Fehlertoleranz aufweist. Um dies zu erreichen, können Sie Empfehlungen zur Neuverteilung von EC2 Instances und Hinweise zur Unterbrechung von Spot-Instances nutzen.
Eine Empfehlung zur Neuverteilung einer EC2 Instance ist ein Signal, das Sie darüber informiert, wenn bei einer Spot-Instance ein erhöhtes Ausfallrisiko besteht. Das Signal gibt Ihnen die Möglichkeit, die Spot-Instance vor der zweiminütigen Spot-Instance-Unterbrechungsbenachrichtigung proaktiv zu verwalten. Sie können entscheiden, Ihr Workload auf neue oder bestehende Spot Instances auszugleichen, die nicht einem erhöhten Risiko einer Unterbrechung ausgesetzt sind. Wir haben es Ihnen leicht gemacht, dieses Signal zu verwenden, indem wir die Funktion Capacity Rebalancing in Auto Scaling Scaling-Gruppen und EC2 Fleet verwenden.
Eine Benachrichtigung zur Unterbrechung einer Spot-Instance ist eine Warnung, die zwei Minuten vor der EC2 Unterbrechung einer Spot-Instance durch Amazon ausgegeben wird. Wenn Ihre Workload „zeitlich flexibel“ ist, können Sie Ihre Spot Instances so konfigurieren, dass sie bei einer Unterbrechung angehalten oder in den Ruhezustand versetzt werden, anstatt beendet zu werden. Amazon stoppt Ihre Spot-Instances bei einer Unterbrechung EC2 automatisch oder versetzt sie in den Ruhezustand und nimmt die Instances automatisch wieder auf, wenn wir über verfügbare Kapazitäten verfügen.
Wir empfehlen Ihnen, in Amazon eine Regel zu erstellen EventBridge, die die Empfehlungen zur Neuverteilung und die Unterbrechungsbenachrichtigungen erfasst und dann einen Checkpoint für den Fortschritt Ihrer Arbeitslast auslöst oder die Unterbrechung ordnungsgemäß behandelt. Weitere Informationen finden Sie unter Überwachen von Signalen für Neuausgleichsempfehlungen. Ein ausführliches Beispiel, das Sie Schritt für Schritt durch die Erstellung und Verwendung von Ereignisregeln führt, finden Sie unter Die Vorteile von Amazon EC2 Spot-Instance Interruption Notices
Weitere Informationen erhalten Sie unter EC2 Empfehlungen zur Neugewichtung von Instances und Spot-Instance-Unterbrechungen.
Flexibel sein bei Instance-Typen und Availability Zones
Ein Spot-Kapazitätspool besteht aus einer Reihe ungenutzter EC2 Instances mit demselben Instance-Typ (zum Beispielm5.large
) und derselben Availability Zone (zum Beispiel us-east-1a). Sie sollten flexibel darin sein, welche Instance-Typen Sie anfordern und in welchen Availability Zones Sie Ihren Workload bereitstellen können. Dies gibt Spot eine bessere Chance, die erforderliche Menge an Rechenkapazität zu finden und zuzuweisen. Fragen Sie zum Beispiel nicht nur nach c5.large
, wenn Sie bereit wären, Larges aus den Familien c4, m5 und m4 zu verwenden.
Je nach Ihren spezifischen Anforderungen können Sie auswerten, über welche Instance-Typen hinweg Sie flexibel sein können, um Ihre Computing-Anforderungen zu erfüllen. Wenn ein Workload vertikal skaliert werden kann, sollten Sie größere Instance-Typen (mehr V CPUs und Arbeitsspeicher) in Ihre Anfragen aufnehmen. Wenn Sie nur horizontal skalieren können, sollten Sie Instance-Typen älterer Generation einbeziehen, da sie von On-Demand-Kunden weniger gefragt sind.
Eine gute Faustregel besteht darin, für jeden Workload über mindestens 10 Instance-Typen hinweg flexibel zu sein. Stellen Sie außerdem sicher, dass alle Availability Zones für die Verwendung in Ihrer VPC konfiguriert und für Ihren Workload ausgewählt sind.
Attributbasierte Auswahl des Instance-Typs verwenden
Bei der attributbasierten Auswahl des Instance-Typs können Sie Instanzattribute — wie v, memory und storage — für den Workload angebenCPUs, den Sie ausführen möchten. EC2 Auto Scaling oder EC2 Fleet identifizieren und starten dann automatisch Instances, die Ihren angegebenen Attributen entsprechen. Dadurch entfällt der Aufwand für die manuelle Auswahl bestimmter Instance-Typen, was ein tiefes Verständnis des Angebots der einzelnen Instance-Typen voraussetzt.
Darüber hinaus ermöglicht Ihnen die attributbasierte Auswahl des Instance-Typs, neu veröffentlichte Instance-Typen automatisch zu verwenden, sobald sie verfügbar sind. Dies gewährleistet einen nahtlosen Zugriff auf ein immer breiteres Spektrum an Spot-Instance-Kapazität.
Die attributbasierte Auswahl von Instance-Typen ist ideal für Workloads und Frameworks, die hinsichtlich der Instance-Typen flexibel sein können, wie High Performance Computing (HPC) und Big-Data-Workloads.
Weitere Informationen finden Sie unter Erstellen einer gemischten Instance-Gruppe mithilfe der attributbasierten Instance-Typauswahl im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch und Geben Sie Attribute für die Auswahl des Instance-Typs für EC2 Fleet oder Spot-Flotte an in diesem Handbuch.
Verwenden Sie Spot-Platzierungswerte, um optimale Regionen und Availability Zones zu identifizieren
Spot-Instances sind ungenutzte EC2 Kapazität, und diese Kapazität schwankt je nach Angebot und Nachfrage. EC2 Daher erhalten Sie möglicherweise nicht immer genau die Spot-Kapazität, die Sie an einem bestimmten Standort zu einem bestimmten Zeitpunkt benötigen. Um diese Unvorhersehbarkeit zu mindern, können Sie das Feature der Spot-Platzierungsbewertung verwenden. Dieses Feature bietet Empfehlungen für Regionen oder Availability Zones, in denen die Wahrscheinlichkeit höher ist, dass sie über ausreichend Kapazität verfügen, um Ihren Spot-Kapazitätsbedarf zu decken, ohne dass Sie zuerst Spot Instances an diesen Standorten starten müssen.
Die Spot-Platzierungsbewertung eignet sich am besten für Workloads, die hinsichtlich der Instance-Typen und der Region oder Availability Zone, die sie verwenden können, flexibel sein können. Sie müssen lediglich die Spot-Kapazität angeben, die Sie benötigen, Ihre Anforderungen an den Instance-Typ und ob Sie Empfehlungen für Regionen oder Availability Zones wünschen. Im Gegenzug erhalten Sie für jede Region oder Availability Zone eine Punktzahl zwischen 1 und 10, die die Wahrscheinlichkeit angibt, dass Ihre angeforderte Spot-Kapazität an diesem Standort erfolgreich bereitgestellt wird. Ein Ergebnis von 10 zeigt an, dass Ihre Spot-Anforderung sehr wahrscheinlich erfolgreich sein wird.
Es ist wichtig zu beachten, dass es sich bei der Bewertung von Spot-Platzierungen um eine point-in-time Empfehlung handelt, da die Kapazität im Laufe der Zeit variieren kann. Sie garantiert nicht die verfügbare Kapazität und sagt auch nicht das Risiko einer Unterbrechung voraus.
Sie können die Spot Placement Score-Funktion in der EC2 Amazon-Konsole oder in einem SDK verwenden. AWS CLI Weitere Informationen finden Sie unter Spot-Platzierungsbewertung.
Verwenden Sie EC2 Auto Scaling Scaling-Gruppen oder EC2 Fleet, um Ihre Gesamtkapazität zu verwalten
Spot ermöglicht es Ihnen, in Bezug auf die Gesamtkapazität zu denken — in Einheiten, die VCPUs, Arbeitsspeicher, Speicher oder Netzwerkdurchsatz beinhalten —, anstatt in Bezug auf einzelne Instanzen zu denken. Auto Scaling Scaling-Gruppen und EC2 Fleet ermöglichen es Ihnen, eine Zielkapazität zu starten und aufrechtzuerhalten und automatisch Ressourcen anzufordern, um alle zu ersetzen, die unterbrochen oder manuell beendet wurden. Wenn Sie eine Auto Scaling Scaling-Gruppe oder eine EC2 Flotte konfigurieren, müssen Sie nur die Instance-Typen und die Zielkapazität auf der Grundlage Ihrer Anwendungsanforderungen angeben. Weitere Informationen finden Sie unter Auto Scaling Scaling-Gruppen im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch und Erstellen Sie eine EC2 Flotte in diesem Benutzerhandbuch.
Nutzen der preis- und kapazitätsoptimierten Zuweisungsstrategie
Zuweisungsstrategien in Auto Scaling-Gruppen helfen Ihnen, Ihre Zielkapazität bereitzustellen, ohne manuell nach den Spot-Kapazitätspools mit Reservekapazität suchen zu müssen. Es wird empfohlen, die price-capacity-optimized
-Strategie zu verwenden, da diese Strategie automatisch Instances aus den am häufigsten verfügbaren Spot-Kapazitätspools bereitstellt, die außerdem den niedrigstmöglichen Preis bieten. Sie können auch die price-capacity-optimized
Allokationsstrategie in EC2 Fleet nutzen. Da Ihre Spot-Instance-Kapazität aus Pools mit optimaler Kapazität bezogen wird, verringert dies die Möglichkeit, dass Ihre Spot Instances zurückgewonnen werden. Weitere Informationen finden Sie unter Zuweisungsstrategien für mehrere Instance-Typen im Amazon EC2 Auto Scaling Scaling-Benutzerhandbuch und Wenn Workloads mit hohen Unterbrechungskosten verbunden sind in diesem Benutzerhandbuch.
Verwenden Sie integrierte AWS Dienste, um Ihre Spot-Instances zu verwalten
Andere AWS Dienste lassen sich in Spot integrieren, um die gesamten Rechenkosten zu senken, ohne dass die einzelnen Instances oder Flotten verwaltet werden müssen. Wir empfehlen Ihnen, die folgenden Lösungen für Ihre jeweiligen Workloads in Betracht zu ziehen: Amazon EMR, Amazon Elastic Container Service AWS Batch, Amazon Elastic Kubernetes Service, Amazon SageMaker AI und Amazon Servers AWS Elastic Beanstalk. GameLift Weitere Informationen zu den Best Practices von Spot mit diesen Services finden Sie auf der Amazon EC2 Spot Instances Workshop-Website
Was ist die beste Spot-Request-Methode?
Bestimmen Sie anhand der folgenden Tabelle, welche API für die Anforderung von Spot Instances verwendet werden soll.
API | Wann sollte dies verwendet werden? | Anwendungsfall | Soll ich diese API verwenden? |
---|---|---|---|
|
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. |
Ja | |
CreateFleet |
|
Erstellen Sie eine Flotte von On-Demand-Instances und Spot Instances in einer einzigen Anforderung mit mehreren Startspezifikationen, die sich in Bezug auf Instance-Typ, AMIdie Availability Zone oder Subnetz unterscheiden. Die Spot-Instance-Zuweisungsstrategie ist standardmäßig auf |
Ja – im |
RunInstances |
|
Starten Sie eine bestimmte Anzahl von Instances mit einem AMI- und einem Instance-Typ. |
Nein — weil gemischte Instance-Typen in einer einzigen Anfrage RunInstances nicht zulässig sind |
RequestSpotFleet |
|
NICHT VERWENDEN. RequestSpotFleet ist eine veraltete API ohne geplante Investitionen. |
Nein |
RequestSpotInstances |
|
NICHT VERWENDEN. RequestSpotInstances ist eine veraltete API ohne geplante Investitionen. |
Nein |