Erstellen Sie eine Gruppe mit gemischten Instances, indem Sie die Instance-Typen manuell auswählen - 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.

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 Erstellen einer gemischten Instances-Gruppe mit attributbasierter Auswahl des Instance-Typs.

Voraussetzungen

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.

So erstellen Sie eine gemischte Instances-Gruppe
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups (Auto-Scaling-Gruppen) aus.

  2. Wählen Sie auf der Navigationsleiste oben auf dem Bildschirm dieselbe AWS-Region , die Sie bei der Erstellung der Startvorlage angegeben haben.

  3. Wählen Sie Erstellen einer Auto-Scaling-Gruppe aus.

  4. Geben Sie auf der Seite Startvorlage oder -konfiguration auswählen für Auto-Scaling-Gruppenname einen Namen für Ihre Auto-Scaling-Gruppe ein.

  5. Gehen Sie folgendermaßen vor, um Ihre Startungsvorlage auszuwählen:

    1. Wählen Sie für Launch template (Startvorlage) eine vorhandene Startvorlage aus.

    2. 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.

    3. Stellen Sie sicher, dass Ihre Startvorlage alle Optionen unterstützt, die Sie verwenden möchten, und wählen Sie dann Next (Weiter) aus.

  6. Wählen Sie auf der Seite Instance-Startoptionen auswählen die folgenden Einstellungen aus.

    1. Wählen Sie für Instance type requirements (Anforderungen an Instance-Typen) Override launch template (Startvorlage überschreiben), Manually add instance types (Startvorlage überschreiben) aus.

    2. 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 sich bei den Instance-Typen die vCPU, der Arbeitsspeicher, der Speicherplatz oder die Netzwerkbandbreitenfunktionen unterscheiden. 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.

    3. 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.

    4. (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.

    5. 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.

    6. 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 ausgewählt haben, können Sie optional das Feld Instance-Typen priorisieren aktivieren, um Amazon EC2 Auto Scaling auf der Grundlage der Reihenfolge, in der Ihre Instance-Typen aufgeführt sind, auswählen zu lassen, welcher Instance-Typ zuerst gestartet wird.

    7. 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.

    8. Wählen Sie unter Netzwerk für VPC eine VPC. Die Auto-Scaling-Gruppe muss in derselben VPC erstellt werden wie die Sicherheitsgruppe, die Sie in Ihrer Startvorlage angegeben haben.

    9. Wählen Sie für Availability Zones and subnets (Subnetz) eines der öffentlichen Subnetze in der festgelegten VPC aus. Verwenden Sie Subnetze in mehreren Availability Zones, um eine hohe Verfügbarkeit zu erzielen. Weitere Informationen finden Sie unter Überlegungen bei der Auswahl von VPC-Subnetzen.

    10. Wählen Sie Weiter, Weiter aus.

  7. Gehen Sie für den Schritt Gruppengröße und Skalierungsrichtlinien konfigurieren wie folgt vor:

    1. 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 diese Werte in die Maßeinheit umgerechnet werden, die Sie für die Zuweisung der Gewichtungen verwendet haben (beispielsweise die Anzahl von vCPUs).

    2. 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.

  8. Wählen Sie Skip to review (Mit Prüfen fortfahren) aus.

  9. 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:

Beispielkonfigurationen

Die folgenden Beispielkonfigurationen zeigen, wie gemischte Instance-Gruppen mit verschiedenen Spot-Zuweisungsstrategien erstellt werden können.

Anmerkung

Diese Beispiele zeigen, wie Sie eine Konfigurationsdatei verwenden, die in JSON oder YAML formatiert ist. 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 in YAML oder JSON formatiert ist.

Beispiel 1: Starten von Spot-Instances mit der capacity-optimized- Zuweisungsstrategie

Der folgende create-auto-scaling-group-Befehl erstellt eine Auto-Scaling-Gruppe, die Folgendes angibt:

  • 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 erfüllen, 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": 1, "MaxSize": 5, "DesiredCapacity": 3, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Alternativ können Sie den Befehl create-auto-scaling-group verwenden, um die Auto-Scaling-Gruppe zu erstellen. Dadurch wird auf eine YAML-Datei als einziger Parameter für Ihre Auto-Scaling-Gruppe verwiesen.

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-group-Befehl erstellt eine Auto-Scaling-Gruppe, die Folgendes angibt:

  • 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 erfüllen, wird zuerst der c5.large-Instance-Typ gestartet. Wenn Amazon EC2 Auto Scaling versucht, Ihre Spot-Kapazität zu erfüllen, erfüllt es die Prioritäten des Instance-Typen auf Best-Effort-Basis. 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": 1, "MaxSize": 5, "DesiredCapacity": 3, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Alternativ können Sie den Befehl create-auto-scaling-group verwenden, um die Auto-Scaling-Gruppe zu erstellen. Dadurch wird auf eine YAML-Datei als einziger Parameter für Ihre Auto-Scaling-Gruppe verwiesen.

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-group-Befehl erstellt eine Auto-Scaling-Gruppe, die Folgendes angibt:

  • 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 erfüllen, 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 kostengünstigsten Pools 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": 1, "MaxSize": 5, "DesiredCapacity": 3, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Alternativ können Sie den Befehl create-auto-scaling-group verwenden, um die Auto-Scaling-Gruppe zu erstellen. Dadurch wird auf eine YAML-Datei als einziger Parameter für Ihre Auto-Scaling-Gruppe verwiesen.

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-group-Befehl erstellt eine Auto-Scaling-Gruppe, die Folgendes angibt:

  • 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 erfüllen, 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 Spot-Instance-Pools mit dem günstigsten Preis sowie mit optimaler Kapazität für die Anzahl der zu startenden Instances 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": 1, "MaxSize": 5, "DesiredCapacity": 3, "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Alternativ können Sie den Befehl create-auto-scaling-group verwenden, um die Auto-Scaling-Gruppe zu erstellen. Dadurch wird auf eine YAML-Datei als einziger Parameter für Ihre Auto-Scaling-Gruppe verwiesen.

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