Übersicht über die Einrichtung für die Erstellung einer gemischten Instance-Gruppe - Amazon EC2 Auto Scaling

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.

Übersicht

Es gibt zwei Möglichkeiten zum Erstellen einer Instances-Gruppe mit gemischten Instances:

Manual selection

In den folgenden Schritten wird beschrieben, wie Sie eine Instances-Gruppe erstellen, indem Sie die Instances-Gruppe manuell auswählen:

  1. Wählen Sie eine Startvorlage, die die Parameter zum Starten einer EC2-Instance enthält. Parameter in Startvorlagen sind optional, aber Amazon EC2 Auto Scaling kann keine Instance starten, wenn die Amazon Machine Image-(AMI)-ID in der Startvorlage fehlt.

  2. Wählen Sie die Option zum Überschreiben der Startvorlage.

  3. Wählen Sie manuell die Instance-Typen aus, die zu Ihrem Workload passen.

  4. Geben Sie die Prozentsätze der On-Demand-Instances und Spot Instances an, die gestartet werden sollen.

  5. Die folgenden Zuweisungsstrategien bestimmen, wie die Amazon EC2 Auto Scaling-Gruppe Ihre gewünschte Kapazität für On-Demand- und Spot-Kapazität von den möglichen Instance-Typen erfüllt.

  6. Wählen Sie die Availability Zones und VPC-Subnetze aus, in denen Sie Ihre Instances starten möchten.

  7. Geben Sie die Anfangsgröße der Gruppe (die gewünschte Kapazität) sowie die Mindest- und Maximalgröße der Gruppe an.

Überschreibungen sind erforderlich, um den in der Startvorlage deklarierten Instance-Typ zu überschreiben und mehrere Instance-Typen zu verwenden, die in die eigene Ressourcendefinition der Auto-Scaling-Gruppe eingebettet sind. Weitere Informationen zu den verfügbaren Instance-Typen finden Sie unter Instance-Typen im Amazon EC2 EC2-Benutzerhandbuch.

Sie können auch die folgenden optionalen Parameter für jeden Instance-Typ konfigurieren:

  • LaunchTemplateSpecification— Sie können einem Instance-Typ nach Bedarf eine andere Startvorlage zuweisen. Diese Option ist zur Zeit in der Konsole nicht verfügbar. Weitere Informationen finden Sie unter Verwenden Sie eine andere Startvorlage für einen Instance-Typ.

  • WeightedCapacity— Sie entscheiden, wie viel die Instance im Vergleich zu den übrigen Instances in Ihrer Gruppe auf die gewünschte Kapazität angerechnet wird. Wenn Sie einen WeightedCapacity-Wert für einen Instance-Typ angeben, müssen Sie einen WeightedCapacity-Wert für alle Instance-Typen angeben. Standardmäßig wird jede Instance als eine Instance auf Ihre gewünschte Kapazität angerechnet. Weitere Informationen finden Sie unter Konfigurieren Sie eine Auto Scaling Scaling-Gruppe für die Verwendung von Instanzgewichten.

Attribute-based selection

Damit Amazon EC2 Auto Scaling Ihre Instance-Typen automatisch auf der Grundlage ihrer spezifischen Instance-Attribute auswählen kann, erstellen Sie mithilfe der folgenden Schritte eine gemischte Instance-Gruppe, indem Sie Ihre Rechenanforderungen angeben:

  1. Wählen Sie eine Startvorlage, die die Parameter zum Starten einer EC2-Instance enthält. Parameter in Startvorlagen sind optional, aber Amazon EC2 Auto Scaling kann keine Instance starten, wenn die Amazon Machine Image-(AMI)-ID in der Startvorlage fehlt.

  2. Wählen Sie die Option zum Überschreiben der Startvorlage.

  3. Geben Sie Instance-Attribute an, die Ihren Rechenanforderungen entsprechen, z. B. vCPUs und Speicheranforderungen.

  4. Geben Sie die Prozentsätze der On-Demand-Instances und Spot Instances an, die gestartet werden sollen.

  5. Die folgenden Zuweisungsstrategien bestimmen, wie die Amazon EC2 Auto Scaling-Gruppe Ihre gewünschte Kapazität für On-Demand- und Spot-Kapazität von den möglichen Instance-Typen erfüllt.

  6. Wählen Sie die Availability Zones und VPC-Subnetze aus, in denen Sie Ihre Instances starten möchten.

  7. Geben Sie die Anfangsgröße der Gruppe (die gewünschte Kapazität) sowie die Mindest- und Maximalgröße der Gruppe an.

Überschreibungen sind erforderlich, um den in der Startvorlage deklarierten Instance-Typ außer Kraft zu setzen und eine Reihe von Instance-Attributen zu verwenden, die Ihre Rechenanforderungen beschreiben. Informationen zu den unterstützten Attributen finden Sie InstanceRequirementsin der Amazon EC2 Auto Scaling API-Referenz. Alternativ können Sie eine Startvorlage verwenden, die bereits die Definition der Instance-Attribute enthält.

Sie können den LaunchTemplateSpecification-Parameter auch innerhalb der Overrides-Struktur konfigurieren, um einer Reihe von Instance-Anforderungen nach Bedarf eine andere Startvorlage zuzuweisen. Diese Option ist zur Zeit in der Konsole nicht verfügbar. Weitere Informationen finden Sie LaunchTemplateOverridesin der Amazon EC2 Auto Scaling API-Referenz.

Standardmäßig legen Sie die Anzahl der Instances als die gewünschte Kapazität Ihrer Auto Scaling-Gruppe fest.

Alternativ können Sie den Wert für die gewünschte Kapazität auf die Anzahl der vCPUs oder die Menge des Speichers setzen. Verwenden Sie dazu die DesiredCapacityType-Eigenschaft im CreateAutoScalingGroup API-Vorgang oder das Dropdown-Feld Gewünschter Kapazitätstyp im AWS Management Console. Dies ist eine nützliche Alternative zu Instance-Gewichten.

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 möglich. Weitere Informationen finden Sie unter Preise und Einsparungen im Amazon EC2 EC2-Benutzerhandbuch.

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.

Beispiel: Skalierungsverhalten
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.

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.