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.
Übersicht über die Einrichtung für die Erstellung einer gemischten Instance-Gruppe
Dieses Thema bietet einen Überblick und bewährte Methoden für die Erstellung einer gemischten Auto Scaling Scaling-Instanzgruppe.
Inhalt
Übersicht
Es gibt zwei Möglichkeiten zum Erstellen einer Instances-Gruppe mit gemischten Instances:
-
Attributbasierte Auswahl des Instance-Typs — Definieren Sie Ihre Rechenanforderungen, sodass Ihre Instance-Typen automatisch auf der Grundlage ihrer spezifischen Instance-Attribute ausgewählt werden.
-
Manuelle Auswahl des Instance-Typs — Wählen Sie manuell die Instance-Typen aus, die zu Ihrem Workload passen.
Flexibilität bezüglich der Instance-Größe
Um die Verfügbarkeit zu erhöhen, stellen Sie Ihre Anwendung für mehrere Instance-Typen bereit. Es hat sich bewährt, mehrere Instance-Typen zu verwenden, um die Kapazitätsanforderungen zu erfüllen. Dadurch kann Amazon EC2 Auto Scaling einen weiteren Instance-Typ starten, wenn in den ausgewählten Availability Zones nicht genügend Instance-Kapazität zur Verfügung steht.
Falls die Instance-Kapazität bei Spot Instances nicht ausreicht, versucht Amazon EC2 Auto Scaling immer wieder, Instances aus anderen Spot-Instance-Pools zu starten. (Die verwendeten Pools hängen von den von Ihnen ausgewählten Instance-Typen und der Zuweisungsstrategie ab.) Amazon EC2 Auto Scaling hilft Ihnen dabei, die Kosteneinsparungen von Spot Instances zu nutzen, indem Sie sie anstelle von On-Demand-Instances starten.
Wir empfehlen, für jeden Workload über mindestens 10 Instance-Typen hinweg flexibel zu sein. Beschränken Sie sich bei der Auswahl Ihrer Instance-Typen nicht auf die beliebtesten neuen Instance-Typen. Die Wahl von Instance-Typen der früheren Generation führt in der Regel zu weniger Spot-Unterbrechungen, da sie von On-Demand-Kunden weniger nachgefragt werden.
Flexibilität bezüglich der Availability Zone
Wir empfehlen dringend, dass Sie Ihre Auto Scaling-Gruppe auf mehrere Availability Zones verteilen. Mit mehreren Availability Zones können Sie Anwendungen entwerfen, die automatisch zwischen den Zonen umschalten, um die Ausfallsicherheit zu erhöhen.
Ein zusätzlicher Vorteil ist, dass Sie im Vergleich zu Gruppen in einer einzelnen Availability Zone auf einen größeren Amazon EC2-Kapazitätspool zugreifen können. Da die Kapazität für jeden Instance-Typ in jeder Availability Zone unabhängig schwankt, können Sie oft mehr Rechenkapazität mit Flexibilität sowohl für den Instance-Typ als auch für die Availability Zone erhalten.
Weitere Informationen zur Verwendung mehrerer Availability Zones finden Sie unter Beispiel: Aufteilen von Instances in mehrere Availability Zones.
Maximaler Spotpreis
Wenn Sie Ihre Auto Scaling Scaling-Gruppe mit dem AWS CLI oder einem SDK erstellen, können Sie den SpotMaxPrice
Parameter angeben. Der SpotMaxPrice
-Parameter bestimmt den Höchstpreis, den Sie für eine Spot-Instance-Stunde zu zahlen bereit sind.
Wenn Sie den WeightedCapacity
-Parameter in Ihren Overrides (oder "DesiredCapacityType": "vcpu"
oder "DesiredCapacityType":
"memory-mib"
auf Gruppenebene) angeben, stellt der Höchstpreis den maximalen Einzelpreis dar, nicht den Höchstpreis für eine ganze Instance.
Wir empfehlen ausdrücklich, keinen Höchstpreis anzugeben. Ihre Anwendung läuft möglicherweise nicht, wenn Sie keine Spot-Instances erhalten, z. B. wenn Ihr Höchstpreis zu niedrig ist. Wenn Sie keinen Höchstpreis angeben, entspricht der Standardhöchstpreis dem On-Demand-Preis. Sie zahlen nur den Spot-Preis für Spot-Instances, die Sie starten. Sie erhalten weiterhin die hohen Rabatte von Spot Instances. Diese Rabatte sind dank der stabilen Spot-Preise des Spot-Preismodells
Proaktiver Kapazitätsausgleich
Wenn Ihr Anwendungsfall dies zulässt, empfehlen wir Capacity Rebalancing (Kapazitätsausgleich). Der Kapazitätsausgleich hilft Ihnen, die Verfügbarkeit von Workloads aufrechtzuerhalten, indem Sie Ihre Flotte proaktiv um eine neue Spot-Instance erweitern, bevor eine laufende Spot-Instance eine zweiminütige Spot-Instance-Unterbrechungsbenachrichtigung erhält.
Wenn der Kapazitätsausgleich aktiviert ist, versucht Amazon EC2 Auto Scaling proaktiv Spot-Instances zu ersetzen, für die eine Ausgleichsempfehlung vorliegt. Dies bietet Ihnen die Möglichkeit, Ihre Arbeitslast auf neue Spot-Instances zu verlagern, bei denen kein erhöhtes Risiko einer Unterbrechung besteht.
Weitere Informationen finden Sie unter Verwenden des Kapazitätsausgleichs, um Amazon-EC2-Spot-Unterbrechungen zu behandeln.
Skalierungsverhalten
Wenn Sie eine gemischte Instance-Gruppe erstellen, werden standardmäßig On-Demand-Instances verwendet. Um Spot-Instances verwenden zu können, müssen Sie den Prozentsatz der Gruppe ändern, die als On-Demand-Instances gestartet werden soll. Sie können eine beliebige Zahl zwischen 0 und 100 als On-Demand-Prozentsatz angeben.
Optional können Sie auch eine Basisanzahl von On-Demand-Instances festlegen, mit der begonnen werden soll. Wenn Sie dies tun, wartet Amazon EC2 Auto Scaling mit dem Start von Spot-Instances, bis die Basiskapazität der On-Demand-Instances erreicht ist, sobald die Gruppe aufskaliert. Für alles außerhalb der Basiskapazität werden die On-Demand-Prozentsätze verwendet, um zu bestimmen, wie viele On-Demand-Instances und Spot-Instances gestartet werden sollen.
Amazon EC2 Auto Scaling konvertiert den Prozentsatz in die entsprechende Anzahl von Instances. Wenn das Ergebnis eine Bruchzahl ergibt, wird zugunsten der On-Demand-Instances auf die nächste Ganzzahl aufgerundet.
Die folgende Tabelle veranschaulicht das Verhalten der Auto-Scaling-Gruppe, wenn sie sich vergrößert oder verkleinert.
Kaufoptionen | Gruppengröße und Anzahl der laufenden Instances bei allen Kaufoptionen | |||
---|---|---|---|---|
10 | 20 | 30 | 40 | |
Beispiel 1: Basis von 10, 50/50% On-Demand/Spot |
||||
On-Demand-Instances (Grundmenge) | 10 | 10 | 10 | 10 |
On-Demand Instances | 0 | 5 | 10 | 15 |
Spot-Instances | 0 | 5 | 10 | 15 |
Beispiel 2: Basis von 0, 0/100% On-Demand/Spot |
||||
On-Demand-Instances (Grundmenge) | 0 | 0 | 0 | 0 |
On-Demand Instances | 0 | 0 | 0 | 0 |
Spot-Instances | 10 | 20 | 30 | 40 |
Beispiel 3: Basis von 0, 60/40% On-Demand/Spot |
||||
On-Demand-Instances (Grundmenge) | 0 | 0 | 0 | 0 |
On-Demand Instances | 6 | 12 | 18 | 24 |
Spot-Instances | 4 | 8 | 12 | 16 |
Beispiel 4: Basis von 0, 100/0% On-Demand/Spot |
||||
On-Demand-Instances (Grundmenge) | 0 | 0 | 0 | 0 |
On-Demand Instances | 10 | 20 | 30 | 40 |
Spot-Instances | 0 | 0 | 0 | 0 |
Beispiel 5: Basis von 12, 0/100% On-Demand/Spot |
||||
On-Demand-Instances (Grundmenge) | 10 | 12 | 12 | 12 |
On-Demand Instances | 0 | 0 | 0 | 0 |
Spot-Instances | 0 | 8 | 18 | 28 |
Wenn die Gruppengröße zunimmt, versucht Amazon EC2 Auto Scaling, Ihre Kapazität gleichmäßig über die angegebenen Availability Zones zu verteilen. Anschließend startet es Instance-Typen entsprechend der angegebenen Zuweisungsstrategie.
Wenn die Gruppengröße abnimmt, identifiziert Amazon EC2 Auto Scaling zunächst, welcher der beiden Typen (Spot oder On-Demand) beendet werden soll. Anschließend wird versucht, Instances auf ausgewogene Weise über Ihre angegebenen Availability Zones hinweg zu beenden. Außerdem wird die Beendigung von Instances auf eine Weise begünstigt, die Ihren Allokationsstrategien näher kommt. Weitere Informationen zu den Richtlinien zum Beenden finden Sie unter Kündigungsrichtlinien für Amazon EC2 Auto Scaling konfigurieren.
Regionale Verfügbarkeit von Instance-Typen
Die Verfügbarkeit von EC2-Instance-Typen hängt von Ihrem AWS-Region ab. So kann es beispielsweise sein, dass die neueste Generation von Instance-Typen in einer bestimmten Region noch nicht verfügbar ist. Aufgrund der regionalen Unterschiede bei der Instance-Verfügbarkeit können Probleme auftreten, sobald Sie programmatische Anfragen stellen, wenn mehrere Instance-Typen in Ihren Overrides in Ihrer Region nicht verfügbar sind. Die Verwendung mehrerer Instance-Typen, die in Ihrer Region nicht verfügbar sind, kann dazu führen, dass die Anfrage vollständig fehlschlägt. Um das Problem zu lösen, wiederholen Sie die Anfrage mit verschiedenen Instance-Typen und stellen Sie sicher, dass jeder Instance-Typ in der Region verfügbar ist. Verwenden Sie den describe-instance-type-offeringsBefehl, um nach Instance-Typen zu suchen, die je nach Standort angeboten werden. Weitere Informationen finden Sie unter Suchen nach einem Amazon EC2 EC2-Instance-Typ im Amazon EC2 EC2-Benutzerhandbuch.
Zugehörige Ressourcen
Weitere bewährte Methoden für Spot-Instances finden Sie unter Bewährte Methoden für EC2 Spot im Amazon EC2 EC2-Benutzerhandbuch.
Einschränkungen
Nachdem Sie einer Auto Scaling Scaling-Gruppe mithilfe einer Richtlinie für gemischte Instanzen Overrides hinzugefügt haben, können Sie die Overrides mit dem UpdateAutoScalingGroup
API-Aufruf aktualisieren, aber nicht löschen. Um die Überschreibungen vollständig zu entfernen, müssen Sie zunächst die Auto Scaling Scaling-Gruppe so ändern, dass sie eine Startvorlage oder eine Startkonfiguration anstelle einer Richtlinie für gemischte Instanzen verwendet. Anschließend können Sie erneut eine Richtlinie für gemischte Instanzen ohne Überschreibungen hinzufügen.