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.
Erstellen Sie eine Gruppe mit gemischten Instances, indem Sie die Instance-Typen manuell auswählen
In diesem Thema erfahren Sie, wie Sie mehrere Instance-Typen in einer einzelnen Auto-Scaling-Gruppe starten, indem Sie die Instance-Typen manuell auswählen.
Wenn Sie Instance-Attribute lieber als Kriterien für die Auswahl von Instance-Typen verwenden möchten, finden Sie weitere Informationen unter Gruppe mit gemischten Instanzen mithilfe der attributbasierten Instanztypauswahl erstellen.
Inhalt
Voraussetzungen
-
Erstellen Sie eine Startvorlage. Weitere Informationen finden Sie unter Erstellen einer Startvorlage für eine Auto-Scaling-Gruppe.
-
Stellen Sie sicher, dass die Startvorlage nicht bereits Spot-Instances anfordert.
Eine gemischte Instances-Gruppe (Konsole) erstellen
Gehen Sie wie folgt vor, um eine Instances-Gruppe zu erstellen, indem Sie manuell auswählen, welche Instance-Typen Ihre Gruppe starten kann. Um die Schritte effizient ausführen zu können, wurden einige optionale Abschnitte übersprungen.
Informationen zu den bewährten Methoden für eine Gruppe mit gemischten Instanzen finden Sie unterÜbersicht über die Einrichtung für die Erstellung einer gemischten Instance-Gruppe.
So erstellen Sie eine gemischte Instances-Gruppe
Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
und wählen Sie im Navigationsbereich Auto Scaling Groups aus. -
Wählen Sie auf der Navigationsleiste oben auf dem Bildschirm dieselbe AWS-Region , die Sie bei der Erstellung der Startvorlage angegeben haben.
-
Wählen Sie Erstellen einer Auto-Scaling-Gruppe aus.
-
Geben Sie auf der Seite Startvorlage oder -konfiguration auswählen für Auto-Scaling-Gruppenname einen Namen für Ihre Auto-Scaling-Gruppe ein.
-
Gehen Sie folgendermaßen vor, um Ihre Startungsvorlage auszuwählen:
-
Wählen Sie für Launch template (Startvorlage) eine vorhandene Startvorlage aus.
-
Wählen Sie unter Launch template version (Version der Startvorlage) aus, ob die Auto-Scaling-Gruppe beim horizontalen Skalieren nach oben die standardmäßige, die neueste oder eine bestimmte Version der Startvorlage verwenden soll.
-
Stellen Sie sicher, dass Ihre Startvorlage alle Optionen unterstützt, die Sie verwenden möchten, und wählen Sie dann Next (Weiter) aus.
-
-
Wählen Sie auf der Seite Instance-Startoptionen auswählen die folgenden Einstellungen aus.
-
Wählen Sie für Instance type requirements (Anforderungen an Instance-Typen) Override launch template (Startvorlage überschreiben), Manually add instance types (Startvorlage überschreiben) aus.
-
Wählen Sie Ihre Instance-Typen aus. Sie können unsere Empfehlungen als Ausgangspunkt verwenden. Die Option Family and generation flexible (Familie und Generation flexibel) ist standardmäßig ausgewählt.
-
Um die Reihenfolge der Instance-Typen zu ändern, verwenden Sie die Pfeile. Wenn Sie eine Zuweisungsstrategie auswählen, die Priorisierung unterstützt, legt die Reihenfolge der Instance-Typen deren Startpriorität fest.
-
Um einen Instance-Typ zu entfernen, wählen Sie X aus.
-
(Optional) Für die Felder in der Spalte Gewichtung können Sie jedem Instance-Typ eine relative Gewichtung zuweisen. Geben Sie dazu die Anzahl der Einheiten ein, die eine Instance dieses Typs zur gewünschten Kapazität der Gruppe beiträgt. Dies kann nützlich sein, wenn die Instance-Typen unterschiedliche V-, Arbeitsspeicher-CPU, Speicher- oder Netzwerkbandbreitenfunktionen bieten. Weitere Informationen finden Sie unter Konfigurieren Sie eine Auto Scaling Scaling-Gruppe für die Verwendung von Instanzgewichten.
Wenn Sie sich für Empfehlungen vom Typ Größe flexibel entschieden haben, haben alle Instance-Typen, die Teil dieses Abschnitts sind, automatisch einen Gewichtungswert. Wenn Sie keine Gewichtungen angeben möchten, leeren Sie die Felder in der Spalte Weight (Gewichtung) für alle Instance-Typen.
-
-
Geben Sie unter Optionen für den Kauf von Instances unter Instances Distribution die Prozentsätze der Gruppe an, die als On-Demand-Instances bzw. Spot-Instances gestartet werden sollen. Wenn Ihre Anwendung zustandslos und fehlertolerant ist und damit umgehen kann, dass eine Instance unterbrochen wird, können Sie einen höheren Prozentsatz an Spot-Instances angeben.
-
(Optional) Wenn Sie sich für einen Prozentsatz an Spot Instances entschieden haben, können Sie On-Demand-Basiskapazität einbeziehen auswählen und dann die Mindestmenge der Anfangskapazität der Auto-Scaling-Gruppe angeben, die von On-Demand-Instances erfüllt werden muss. Für alles, was über die Basiskapazität hinausgeht, werden die Einstellungen für die Instance-Verteilung verwendet, um zu bestimmen, wie viele On-Demand-Instances und Spot-Instances gestartet werden sollen.
-
Wählen Sie unter Zuteilungsstrategien für On-Demand-Zuteilungsstrategie eine Zuteilungsstrategie. Wenn Sie Ihre Instance-Typen manuell auswählen, ist Prioritized (Priorisiert) standardmäßig ausgewählt.
-
Wählen Sie für die Spot-Zuweisungsstrategie eine Zuweisungsstrategie. Price capacity optimized (Preiskapazität optimiert) ist standardmäßig ausgewählt. Lowest price (Niedrigster Preis) ist standardmäßig ausgeblendet und wird nur angezeigt, wenn Sie Show all strategies (Alle Strategien anzeigen) auswählen.
-
Wenn Sie Niedrigster Preis ausgewählt haben, geben Sie zur übergreifenden Verteilung für Pools mit dem niedrigsten Preis die Anzahl der Pools mit dem niedrigsten Preis an.
-
Wenn Sie Kapazitätsoptimiert wählen, können Sie optional das Kontrollkästchen Instance-Typen priorisieren aktivieren, damit Amazon EC2 Auto Scaling anhand der Reihenfolge, in der Ihre Instance-Typen aufgeführt sind, auswählen kann, welcher Instance-Typ zuerst gestartet werden soll.
-
-
Für Kapazitätsausgleich wählen Sie aus, ob Sie den Kapazitätsausgleich aktivieren oder deaktivieren möchten. Verwenden Sie Capacity Rebalancing, um automatisch zu reagieren, wenn Ihre Spot Instances aufgrund einer Spot-Unterbrechung bald beendet werden. Weitere Informationen finden Sie unter Verwenden des Kapazitätsausgleichs, um Amazon-EC2-Spot-Unterbrechungen zu behandeln.
-
Wählen Sie unter Netzwerk für VPCeine VPC aus. Die Auto Scaling Scaling-Gruppe muss in derselben VPC Sicherheitsgruppe erstellt werden, die Sie in Ihrer Startvorlage angegeben haben.
-
Wählen Sie für Availability Zones und Subnetze ein oder mehrere Subnetze in den angegebenen Subnetzen aus. VPC Verwenden Sie Subnetze in mehreren Availability Zones, um eine hohe Verfügbarkeit zu erzielen. Weitere Informationen finden Sie unter Überlegungen bei der Auswahl von Subnetzen VPC.
-
Wählen Sie Weiter, Weiter aus.
-
-
Gehen Sie für den Schritt Gruppengröße und Skalierungsrichtlinien konfigurieren wie folgt vor:
-
Geben Sie unter Gruppengröße für Gewünschte Kapazität die anfängliche Anzahl von Instances ein, die gestartet werden sollen.
Standardmäßig wird die gewünschte Kapazität als Anzahl von Instances ausgedrückt. Wenn Sie Ihren Instance-Typen Gewichtungen zugewiesen haben, müssen Sie diesen Wert in dieselbe Maßeinheit umrechnen, mit der Sie Gewichtungen zugewiesen haben, z. B. in die Anzahl der. vCPUs
-
Wenn im Abschnitt Skalierung unter Skalierungslimits Ihr neuer Wert für die gewünschte Kapazität größer als die gewünschte Mindestkapazität und die gewünschte Höchstkapazität ist, wird die gewünschte Höchstkapazität automatisch auf den neuen Wert für die gewünschte Kapazität erhöht. Sie können die Limits bei Bedarf ändern. Weitere Informationen finden Sie unter Festlegen von Skalierungslimits für Ihre Auto-Scaling-Gruppe.
-
-
Wählen Sie Skip to review (Mit Prüfen fortfahren) aus.
-
Wählen Sie auf der Seite Review (Prüfen) Create Auto Scaling group (Auto-Scaling-Gruppe erstellen) aus.
Eine gemischte Instances-Gruppe (AWS CLI) erstellen
Erstellen Sie wie folgt eine gemischte Instances-Gruppe über die Befehlszeile:
Verwenden Sie einen der folgenden Befehle:
-
create-auto-scaling-group (AWS CLI)
-
Neu- ASAutoScalingGroup (AWS Tools for Windows PowerShell)
Beispielkonfigurationen
Die folgenden Beispielkonfigurationen zeigen, wie gemischte Instance-Gruppen mit verschiedenen Spot-Zuweisungsstrategien erstellt werden können.
Anmerkung
Diese Beispiele zeigen, wie eine in JSON oder YAML formatierte Konfigurationsdatei verwendet wird. Wenn Sie AWS CLI Version 1 verwenden, müssen Sie eine Konfigurationsdatei im JSON -Format angeben. Wenn Sie AWS CLI Version 2 verwenden, können Sie eine Konfigurationsdatei angeben, die entweder mit oder formatiert ist. YAML JSON
Beispiele
- Beispiel 1: Starten von Spot-Instances mit der capacity-optimized- Zuweisungsstrategie
- Beispiel 2: Starten von Spot-Instances mit der capacity-optimized-prioritized- Zuweisungsstrategie
- Beispiel 3: Starten von Spot-Instances mit der über zwei Pools diversifizierten lowest-price-Zuweisungsstrategie
- Beispiel 4: Starten von Spot-Instances mit der price-capacity-optimized- Zuweisungsstrategie
Beispiel 1: Starten von Spot-Instances mit der capacity-optimized
- Zuweisungsstrategie
Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe, die Folgendes spezifiziert:
-
Der Prozentsatz der Gruppe, die als On-Demand-Instances gestartet werden soll (
0
) und eine Basisanzahl von On-Demand-Instances, mit denen begonnen werden soll (1
). -
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
c5.large
,c5a.large
,m5.large
,m5a.large
,c4.large
,m4.large
,c3.large
,m3.large
). -
Die Subnetze, in denen die Instances gestartet werden sollen (
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
). Diese entsprechen jeweils einer anderen Availability Zone. -
Beschreibt eine Startvorlage (
my-launch-template
) und die Version der Startvorlage ($Default
).
Wenn Amazon EC2 Auto Scaling versucht, Ihre On-Demand-Kapazität zu nutzen, wird zuerst der c5.large
Instance-Typ gestartet. Die Spot-Instances stammen aus dem optimalen Spot-Pool in jeder Availability Zone basierend auf der Spot-Instance-Kapazität.
aws autoscaling create-auto-scaling-group --cli-input-json
file://~/config.json
Die Datei config.json
enthält den folgenden Inhalt.
{ "AutoScalingGroupName": "
my-asg
", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "$Default
" }, "Overrides": [ { "InstanceType": "c5.large
" }, { "InstanceType": "c5a.large
" }, { "InstanceType": "m5.large
" }, { "InstanceType": "m5a.large
" }, { "InstanceType": "c4.large
" }, { "InstanceType": "m4.large
" }, { "InstanceType": "c3.large
" }, { "InstanceType": "m3.large
" } ] }, "InstancesDistribution": { "OnDemandBaseCapacity":1
, "OnDemandPercentageAboveBaseCapacity":0
, "SpotAllocationStrategy": "capacity-optimized" } }, "MinSize":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Alternativ können Sie den folgenden create-auto-scaling-group
aws autoscaling create-auto-scaling-group --cli-input-yaml
file://~/config.yaml
Die Datei config.yaml
enthält den folgenden Inhalt.
--- AutoScalingGroupName:
my-asg
MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-template
Version:$Default
Overrides: - InstanceType:c5.large
- InstanceType:c5a.large
- InstanceType:m5.large
- InstanceType:m5a.large
- InstanceType:c4.large
- InstanceType:m4.large
- InstanceType:c3.large
- InstanceType:m3.large
InstancesDistribution: OnDemandBaseCapacity:1
OnDemandPercentageAboveBaseCapacity:0
SpotAllocationStrategy: capacity-optimized MinSize:1
MaxSize:5
DesiredCapacity:3
VPCZoneIdentifier:subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
Beispiel 2: Starten von Spot-Instances mit der capacity-optimized-prioritized
- Zuweisungsstrategie
Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe, die Folgendes spezifiziert:
-
Der Prozentsatz der Gruppe, die als On-Demand-Instances gestartet werden soll (
0
) und eine Basisanzahl von On-Demand-Instances, mit denen begonnen werden soll (1
). -
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
c5.large
,c5a.large
,m5.large
,m5a.large
,c4.large
,m4.large
,c3.large
,m3.large
). -
Die Subnetze, in denen die Instances gestartet werden sollen (
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
). Diese entsprechen jeweils einer anderen Availability Zone. -
Beschreibt eine Startvorlage (
my-launch-template
) und die Version der Startvorlage ($Latest
).
Wenn Amazon EC2 Auto Scaling versucht, Ihre On-Demand-Kapazität zu nutzen, wird zuerst der c5.large
Instance-Typ gestartet. Wenn Amazon EC2 Auto Scaling versucht, Ihre Spot-Kapazität auszuschöpfen, berücksichtigt es die Prioritäten des Instance-Typs nach bestem Wissen. An erster Stelle steht jedoch immer die Kapazitätsoptimierung.
aws autoscaling create-auto-scaling-group --cli-input-json
file://~/config.json
Die Datei config.json
enthält den folgenden Inhalt.
{ "AutoScalingGroupName": "
my-asg
", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "$Latest
" }, "Overrides": [ { "InstanceType": "c5.large
" }, { "InstanceType": "c5a.large
" }, { "InstanceType": "m5.large
" }, { "InstanceType": "m5a.large
" }, { "InstanceType": "c4.large
" }, { "InstanceType": "m4.large
" }, { "InstanceType": "c3.large
" }, { "InstanceType": "m3.large
" } ] }, "InstancesDistribution": { "OnDemandBaseCapacity":1
, "OnDemandPercentageAboveBaseCapacity":0
, "SpotAllocationStrategy": "capacity-optimized-prioritized" } }, "MinSize":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Alternativ können Sie den folgenden create-auto-scaling-group
aws autoscaling create-auto-scaling-group --cli-input-yaml
file://~/config.yaml
Die Datei config.yaml
enthält den folgenden Inhalt.
--- AutoScalingGroupName:
my-asg
MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-template
Version:$Default
Overrides: - InstanceType:c5.large
- InstanceType:c5a.large
- InstanceType:m5.large
- InstanceType:m5a.large
- InstanceType:c4.large
- InstanceType:m4.large
- InstanceType:c3.large
- InstanceType:m3.large
InstancesDistribution: OnDemandBaseCapacity:1
OnDemandPercentageAboveBaseCapacity:0
SpotAllocationStrategy: capacity-optimized-prioritized MinSize:1
MaxSize:5
DesiredCapacity:3
VPCZoneIdentifier:subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
Beispiel 3: Starten von Spot-Instances mit der über zwei Pools diversifizierten lowest-price
-Zuweisungsstrategie
Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe, die Folgendes spezifiziert:
-
Der Prozentsatz der Gruppe, die als On-Demand-Instances gestartet werden soll (
50
). (Gibt keine Basisanzahl von On-Demand-Instances an, mit der gestartet werden soll.) -
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
c5.large
,c5a.large
,m5.large
,m5a.large
,c4.large
,m4.large
,c3.large
,m3.large
). -
Die Subnetze, in denen die Instances gestartet werden sollen (
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
). Diese entsprechen jeweils einer anderen Availability Zone. -
Beschreibt eine Startvorlage (
my-launch-template
) und die Version der Startvorlage ($Latest
).
Wenn Amazon EC2 Auto Scaling versucht, Ihre On-Demand-Kapazität zu nutzen, wird zuerst der c5.large
Instance-Typ gestartet. Für Ihre Spot-Kapazität versucht Amazon EC2 Auto Scaling, die Spot-Instances gleichmäßig über die beiden Pools mit dem niedrigsten Preis in jeder Availability Zone zu starten.
aws autoscaling create-auto-scaling-group --cli-input-json
file://~/config.json
Die Datei config.json
enthält den folgenden Inhalt.
{ "AutoScalingGroupName": "
my-asg
", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "$Latest
" }, "Overrides": [ { "InstanceType": "c5.large
" }, { "InstanceType": "c5a.large
" }, { "InstanceType": "m5.large
" }, { "InstanceType": "m5a.large
" }, { "InstanceType": "c4.large
" }, { "InstanceType": "m4.large
" }, { "InstanceType": "c3.large
" }, { "InstanceType": "m3.large
" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity":50
, "SpotAllocationStrategy": "lowest-price", "SpotInstancePools":2
} }, "MinSize":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Alternativ können Sie den folgenden create-auto-scaling-group
aws autoscaling create-auto-scaling-group --cli-input-yaml
file://~/config.yaml
Die Datei config.yaml
enthält den folgenden Inhalt.
--- AutoScalingGroupName:
my-asg
MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-template
Version:$Default
Overrides: - InstanceType:c5.large
- InstanceType:c5a.large
- InstanceType:m5.large
- InstanceType:m5a.large
- InstanceType:c4.large
- InstanceType:m4.large
- InstanceType:c3.large
- InstanceType:m3.large
InstancesDistribution: OnDemandPercentageAboveBaseCapacity:50
SpotAllocationStrategy: lowest-price SpotInstancePools:2
MinSize:1
MaxSize:5
DesiredCapacity:3
VPCZoneIdentifier:subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
Beispiel 4: Starten von Spot-Instances mit der price-capacity-optimized
- Zuweisungsstrategie
Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe, die Folgendes spezifiziert:
-
Der Prozentsatz der Gruppe, die als On-Demand-Instances gestartet werden soll (
30
). (Gibt keine Basisanzahl von On-Demand-Instances an, mit der gestartet werden soll.) -
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
c5.large
,c5a.large
,m5.large
,m5a.large
,c4.large
,m4.large
,c3.large
,m3.large
). -
Die Subnetze, in denen die Instances gestartet werden sollen (
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
). Diese entsprechen jeweils einer anderen Availability Zone. -
Beschreibt eine Startvorlage (
my-launch-template
) und die Version der Startvorlage ($Latest
).
Wenn Amazon EC2 Auto Scaling versucht, Ihre On-Demand-Kapazität zu nutzen, wird zuerst der c5.large
Instance-Typ gestartet. Für Ihre Spot-Kapazität versucht Amazon EC2 Auto Scaling, die Spot-Instances aus Spot-Instance-Pools mit dem niedrigstmöglichen Preis, aber auch mit optimaler Kapazität für die Anzahl der Instances, die gestartet werden, zu starten.
aws autoscaling create-auto-scaling-group --cli-input-json
file://~/config.json
Die Datei config.json
enthält den folgenden Inhalt.
{ "AutoScalingGroupName": "
my-asg
", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "$Latest
" }, "Overrides": [ { "InstanceType": "c5.large
" }, { "InstanceType": "c5a.large
" }, { "InstanceType": "m5.large
" }, { "InstanceType": "m5a.large
" }, { "InstanceType": "c4.large
" }, { "InstanceType": "m4.large
" }, { "InstanceType": "c3.large
" }, { "InstanceType": "m3.large
" } ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity":30
, "SpotAllocationStrategy": "price-capacity-optimized" } }, "MinSize":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Alternativ können Sie den folgenden create-auto-scaling-group
aws autoscaling create-auto-scaling-group --cli-input-yaml
file://~/config.yaml
Die Datei config.yaml
enthält den folgenden Inhalt.
--- AutoScalingGroupName:
my-asg
MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName:my-launch-template
Version:$Default
Overrides: - InstanceType:c5.large
- InstanceType:c5a.large
- InstanceType:m5.large
- InstanceType:m5a.large
- InstanceType:c4.large
- InstanceType:m4.large
- InstanceType:c3.large
- InstanceType:m3.large
InstancesDistribution: OnDemandPercentageAboveBaseCapacity:30
SpotAllocationStrategy: price-capacity-optimized MinSize:1
MaxSize:5
DesiredCapacity:3
VPCZoneIdentifier:subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782