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.
Konfigurieren Sie eine Auto Scaling Scaling-Gruppe für die Verwendung von Instanzgewichten
Wenn Sie mehrere Instance-Typen verwenden, können Sie angeben, wie viele Einheiten jedem Instance-Typ zugeordnet werden sollen, und dann die Kapazität Ihrer Gruppe mit derselben Maßeinheit angeben. Diese Option zur Kapazitätsspezifikation wird als Gewichte bezeichnet.
Nehmen wir einmal an, Sie führen eine rechenintensive Anwendung aus, die mit mindestens 8 vCPUs und 15 GiB RAM am besten funktioniert. Wenn Sie c5.2xlarge
als Basiseinheit verwenden, würde jeder der folgenden EC2-Instance-Typen Ihre Anwendungsanforderungen erfüllen.
Beispiel für Instance-Typen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Instance-Typ | vCPU | Arbeitsspeicher (GiB) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.2xlarge
|
8 | 16 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.4xlarge |
16 | 32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.12xlarge |
48 | 96 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.18xlarge
|
72 | 144 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.24xlarge |
96 | 192 |
Standardmäßig haben alle Instance-Typen unabhängig von ihrer Größe das gleiche Gewicht. Mit anderen Worten: Unabhängig davon, ob Amazon EC2 Auto Scaling einen großen oder kleinen Instance-Typ startet, zählt jede Instance gleich viel für die gewünschte Kapazität der Auto-Scaling-Gruppe.
Bei Gewichtungen weisen Sie jedoch einen Zahlenwert zu, der angibt, wie viele Einheiten jedem Instance-Typ zugeordnet werden sollen. Wenn die Instances beispielsweise unterschiedliche Größen aufweisen, kann eine c5.2xlarge
-Instance eine Gewichtung von „2“ haben, und eine (doppelt so große) c5.4xlarge
könnte eine Gewichtung von „4“ haben usw. Wenn Amazon EC2 Auto Scaling die Gruppe skaliert, geben die Gewichtungen die Anzahl der Einheiten an, die jede Instance auf die gewünschte Kapazität angerechnet wird.
Die Gewichtungen ändern nicht, welche Instance-Typen Amazon EC2 Auto Scaling startet. Stattdessen tun dies die Zuweisungsstrategien. Weitere Informationen finden Sie unter Zuweisungsstrategien.
Wichtig
Um eine Auto-Scaling-Gruppe so zu konfigurieren, dass sie die gewünschte Kapazität mithilfe der Anzahl der vCPUs oder der Menge des Speichers jedes Instance-Typs erfüllt, empfehlen wir die attributbasierte Auswahl des Instance-Typs. Durch die Einstellung des DesiredCapacityType
Parameters wird automatisch die Anzahl der Einheiten angegeben, die jedem Instance-Typ zugeordnet werden sollen, basierend auf dem Wert, den Sie für diesen Parameter festlegen. Weitere Informationen finden Sie unter Erstellen einer gemischten Instances-Gruppe mit attributbasierter Auswahl des Instance-Typs.
Inhalt
Überlegungen
In diesem Abschnitt werden die wichtigsten Überlegungen zur effektiven Implementierung von Gewichtungen erörtert.
-
Wählen Sie einige Instance-Typen aus, die den Leistungsanforderungen Ihrer Anwendung entsprechen. Entscheiden Sie anhand ihrer Fähigkeiten, welches Gewicht jeder Instance-Typ auf die gewünschte Kapazität Ihrer Auto Scaling Scaling-Gruppe angerechnet werden soll. Diese Gewichte gelten für aktuelle und future Fälle.
-
Vermeiden Sie große Gewichtungsunterschiede. Geben Sie beispielsweise nicht die Gewichtung 1 für einen Instance-Typ an, wenn der nächstgrößere Instance-Typ eine Gewichtung von 200 hat. Der Unterschied zwischen der kleinsten und der größten Gewichtung sollte auch nicht extrem sein. Extreme Gewichtsunterschiede können sich negativ auf die Optimierung von Kosten und Leistung auswirken.
-
Geben Sie die gewünschte Kapazität der Gruppe in Einheiten und nicht in Instanzen an. Wenn Sie beispielsweise vCPU-basierte Gewichtungen verwenden, legen Sie die gewünschte Anzahl von Kernen sowie die Mindest- und Höchstzahl fest.
-
Legen Sie die Gewichtungen und die gewünschte Kapazität so fest, dass die gewünschte Kapazität mindestens zwei- bis dreimal größer ist als Ihr größtes Gewicht.
Beachten Sie bei der Aktualisierung vorhandener Gruppen Folgendes:
-
Wenn Sie einer vorhandenen Gruppe Gewichtungen hinzufügen, schließen Sie Gewichtungen für alle derzeit verwendeten Instance-Typen mit ein.
-
Wenn Sie Gewichtungen hinzufügen oder ändern, startet oder beendet Amazon EC2 Auto Scaling Instances, um die gewünschte Kapazität auf der Grundlage der neuen Gewichtungswerte zu erreichen.
-
Wenn Sie einen Instance-Typ entfernen, behalten laufende Instances dieses Typs ihre letzte Gewichtung, auch wenn sie nicht mehr definiert sind.
Verhalten beim Gewichten von Instanzen
Wenn Sie Instance-Gewichtungen verwenden, verhält sich Amazon EC2 Auto Scaling folgendermaßen:
-
Die aktuelle Kapazität wird entweder bei der gewünschten Kapazität oder darüber liegen. Die aktuelle Kapazität kann die gewünschte Kapazität überschreiten, wenn Instances gestartet werden, die die verbleibenden gewünschten Kapazitätseinheiten überschreiten. Angenommen, Sie geben die zwei Instance-Typen
c5.2xlarge
undc5.12xlarge
an und weisen fürc5.2xlarge
eine Instance-Gewichtung von „2“ und fürc5.12xlarge
eine von „12“ zu. Wenn 5 Einheiten übrig sind, um die gewünschte Kapazität zu erfüllen, und Amazon EC2 Auto Scaling einec5.12xlarge
bereitstellt, wird die gewünschte Kapazität um sieben Einheiten überschritten. -
Beim Starten von Instances priorisiert Amazon EC2 Auto Scaling die Verteilung der Kapazität auf die Availability Zones und die Einhaltung der Zuweisungsstrategien gegenüber der Überschreitung der gewünschten Kapazität.
-
Amazon EC2 Auto Scaling kann die maximale Kapazitätsgrenze überschreiten, um das Gleichgewicht zwischen den Availability Zones aufrechtzuerhalten. Dabei werden Ihre bevorzugten Zuweisungsstrategien verwendet. Das von Amazon EC2 Auto Scaling erzwungene feste Limit ist Ihre gewünschte Kapazität zuzüglich Ihres größten Gewichts.
Konfigurieren einer Auto-Scaling-Gruppe zur Verwendung von Gewichtungen
Sie können eine Auto-Scaling-Gruppe für die Verwendung von Gewichtungen konfigurieren, wie in den folgenden AWS CLI Beispielen gezeigt. Weitere Informationen zur Verwendung der Konsole finden Sie unter Erstellen Sie eine Gruppe mit gemischten Instances, indem Sie die Instance-Typen manuell auswählen.
So konfigurieren Sie eine Auto-Scaling-Gruppe zur Verwendung von Gewichtungen (AWS CLI)
Verwenden Sie den create-auto-scaling-groups-Befehl. Der folgende Befehl erstellt zum Beispiel eine neue Auto-Scaling-Gruppe und weist Gewichtungen zu, indem er Folgendes angibt:
-
Der Prozentsatz der Gruppe, die als On-Demand-Instances gestartet werden soll (
0
) -
Die Zuordnungsstrategie für Spot-Instances in jeder Availability Zone (
capacity-optimized
) -
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
m4.16xlarge
,m5.24xlarge
) -
Die Instance-Gewichtungen, die dem relativen Größenunterschied (vCPUs) zwischen Instance-Typen (
16
,24
) entsprechen -
Die Subnetze, in denen die Instances gestartet werden sollen (
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
), die jeweils einer anderen Availability Zone entsprechen -
Beschreibt eine Startvorlage (
my-launch-template
) und die Version der Startvorlage ($Latest
).
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": "m4.16xlarge
", "WeightedCapacity":"16"
}, { "InstanceType": "m5.24xlarge
", "WeightedCapacity":"24"
} ] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity":0
, "SpotAllocationStrategy": "capacity-optimized
" } }, "MinSize":, "MaxSize":
160
, "DesiredCapacity":
720
, "VPCZoneIdentifier": "
480
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
", "Tags": [] }
So konfigurieren Sie eine vorhandene Auto-Scaling-Gruppe für die Verwendung von Gewichtungen (AWS CLI)
Verwenden Sie den Befehl update-auto-scaling-group. Der folgende Befehl weist beispielsweise den Instance-Typen in einer bestehenden Auto-Scaling-Gruppe Gewichtungen zu, indem er Folgendes angibt:
-
Die in der Prioritätsreihenfolge zu startenden Instance-Typen (
c5.18xlarge
,c5.24xlarge
,c5.2xlarge
,c5.4xlarge
) -
Die Instance-Gewichtungen, die dem relativen Größenunterschied (vCPUs) zwischen Instance-Typen (
18
,24
,2
,4
) entsprechen -
Die neue, erhöhte gewünschte Kapazität, die größer als das größte Gewicht ist
aws autoscaling update-auto-scaling-group --cli-input-json
file://~/config.json
Die Datei config.json
enthält den folgenden Inhalt.
{ "AutoScalingGroupName": "
my-existing-asg
", "MixedInstancesPolicy": { "LaunchTemplate": { "Overrides": [ { "InstanceType": "c5.18xlarge
", "WeightedCapacity":"18"
}, { "InstanceType": "c5.24xlarge
", "WeightedCapacity":"24"
}, { "InstanceType": "c5.2xlarge
", "WeightedCapacity":"2"
}, { "InstanceType": "c5.4xlarge
", "WeightedCapacity":"4"
} ] } }, "MinSize":, "MaxSize":
0
, "DesiredCapacity":
100
}
100
So überprüfen Sie die Gewichtungen mithilfe der Befehlszeile
Verwenden Sie einen der folgenden Befehle:
-
describe-auto-scaling-groups (AWS CLI)
-
Get-AS-Gruppe AutoScaling ()AWS Tools for Windows PowerShell
Beispiel: Spot-Preis pro Einheitsstunde
Die folgende Tabelle vergleicht den stündlichen Preis für Spot-Instances in verschiedenen Availability Zones in USA Ost (Nord-Virginia) mit dem Preis für On-Demand-Instances in derselben Region. Bei den angezeigten Preisen handelt es sich um Beispielpreise und nicht um aktuelle Preise. Dies sind Ihre Kosten pro Instance-Stunde.
Beispiel: Spot-Preise pro Instance-Stunde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Instance-Typ | us-ost-1a | us-ost-1b | us-ost-1c | On-Demand-Preise | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.2xlarge
|
0,180 US-Dollar | 0,191 US-Dollar | 0,170 US-Dollar | 0,34 US-Dollar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.4xlarge |
0,341 US-Dollar | 0,361 US-Dollar | 0,318 US-Dollar | 0,68 US-Dollar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.12xlarge
|
0,779 US-Dollar | 0,777 US-Dollar | 0,777 US-Dollar | 2,04 US-Dollar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.18xlarge
|
1,207 US-Dollar | 1,475 US-Dollar | 1,357 US-Dollar | 3,06 US-Dollar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.24xlarge |
1,555 US-Dollar | 1,555 US-Dollar | 1,555 US-Dollar | 4,08 US-Dollar |
Mit der Instance-Gewichtung können Sie Ihre Kosten auf Grundlage Ihrer Verwendung pro Einheitsstunde bewerten. Der Preis pro Einheitsstunde lässt sich bestimmen, indem der Preis für einen Instance-Typ durch die Anzahl an Einheiten geteilt wird, den er darstellt. Bei On-Demand-Instances entspricht der Preis pro Einheitsstunde bei der Bereitstellung eines Instance-Typs dem Preis der Bereitstellung desselben Instance-Typs einer anderen Größe. Im Gegensatz dazu variiert der Spot-Preis pro Einheitsstunde nach Spot-Pool.
Das folgende Beispiel zeigt, wie die Berechnung des Spot-Preises pro Stunde mit Instance-Gewichtungen funktioniert. Angenommen, Sie möchten Spot-Instances nur in us-east-1a
starten. Der Preis pro Stunde wird in der folgenden Tabelle erfasst.
Beispiel: Spot-Preis pro Einheitsstunde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Instance-Typ | us-ost-1a | Instance-Gewichtung | Preis pro Einheitsstunde | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.2xlarge
|
0,180 US-Dollar | 2 | 0,090 US-Dollar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.4xlarge |
0,341 US-Dollar | 4 | 0,085 US-Dollar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.12xlarge
|
0,779 US-Dollar | 12 | 0,065 US-Dollar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.18xlarge
|
1,207 US-Dollar | 18 | 0,067 US-Dollar | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c5.24xlarge |
1,555 US-Dollar | 24 | 0,065 US-Dollar |