Geben Sie Attribute für die Auswahl des Instance-Typs für EC2 Fleet oder Spot-Flotte an - Amazon Elastic Compute Cloud

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.

Geben Sie Attribute für die Auswahl des Instance-Typs für EC2 Fleet oder Spot-Flotte an

Wenn Sie eine EC2 Flotte oder Spot-Flotte erstellen, müssen Sie einen oder mehrere Instance-Typen für die Konfiguration der On-Demand-Instances und Spot-Instances in der Flotte angeben. Als Alternative zur manuellen Angabe der Instance-Typen können Sie die Attribute angeben, die eine Instance haben muss, und Amazon EC2 identifiziert alle Instance-Typen mit diesen Attributen. Dies ist bekannt als attributbasierte Instance-Typauswahl. Sie können beispielsweise die Mindest- und Höchstanzahl der für Ihre Instances vCPUs erforderlichen Anzahl angeben, und die Flotte startet die Instances mit allen verfügbaren Instance-Typen, die diese CPU V-Anforderungen erfüllen.

Die attributbasierte Auswahl von Instance-Typen ist ideal für Workloads und Frameworks, die hinsichtlich der verwendeten Instance-Typen flexibel sein können, etwa beim Ausführen von Containern oder Web-Flotten, beim Verarbeiten von Big Data und der Implementierung von Tools zur fortlaufenden Integration und Bereitstellung (CI/CD).

Vorteile

Die Auswahl des attributbasierten Instance-Typs bietet folgende Vorteile:

  • Einfache Verwendung der richtigen Instance-Typen — Bei so vielen verfügbaren Instance-Typen kann es zeitaufwändig sein, die richtigen Instance-Typen für Ihren Workload zu finden. Wenn Sie Instance-Attribute angeben, haben die Instance-Typen automatisch die erforderlichen Attribute für Ihre Workload.

  • Vereinfachte Konfiguration — Um mehrere Instance-Typen für eine Flotte manuell anzugeben, müssen Sie für jeden Instance-Typ eine separate Überschreibung der Startvorlage erstellen. Bei der attributbasierten Auswahl von Instance-Typen müssen Sie jedoch nur die Instance-Attribute in der Startvorlage oder in einer Startvorlagen-Überschreibung angeben, um mehrere Instance-Typen bereitzustellen.

  • Automatische Verwendung neuer Instance-Typen — Wenn Sie Instance-Attribute anstelle von Instance-Typen angeben, kann Ihre Flotte Instance-Typen der neueren Generation verwenden, sobald sie veröffentlicht werden, was die Konfiguration der Flotte „zukunftssicher“ macht.

  • Flexibilität beim Instance-Typ — Wenn Sie Instance-Attribute anstelle von Instance-Typen angeben, kann die Flotte für den Start von Spot-Instances aus einer Vielzahl von Instance-Typen wählen. Dies entspricht den Best Practices von Spot zur Flexibilität von Instance-Typen.

Attributbasierte Auswahl von Instance-Typen

Um die attributbasierte Auswahl von Instance-Typen in Ihrer Flottenkonfiguration zu verwenden, ersetzen Sie die Liste der Instance-Typen durch eine Liste von Instance-Attributen, die Ihre Instances erfordern. EC2Fleet oder Spot Fleet startet Instances auf allen verfügbaren Instance-Typen, die über die angegebenen Instance-Attribute verfügen.

Arten von Instance-Attributen

Es gibt mehrere Instance-Attribute, die Sie angeben können, um Ihre Rechenanforderungen auszudrücken, z. B.:

  • v CPU count — Die Mindest- und Höchstanzahl von vCPUs pro Instanz.

  • Arbeitsspeicher — Das Minimum und das Maximum GiBs an Arbeitsspeicher pro Instanz.

  • Lokaler Speicher — Ob Volumes für den lokalen Speicher verwendet EBS oder instanzgespeichert werden sollen.

  • Leistungsstarke Leistung — Gibt an, ob die T-Instance-Familie, einschließlich der Typen T4g, T3a, T3 und T2, verwendet werden soll.

Eine Beschreibung der einzelnen Attribute und der Standardwerte finden Sie InstanceRequirementsin der EC2APIAmazon-Referenz.

Wo wird die attributbasierte Auswahl von Instance-Typen konfiguriert?

Je nachdem, ob Sie die Konsole oder die verwenden AWS CLI, können Sie die Instance-Attribute für die attributbasierte Auswahl des Instance-Typs wie folgt angeben:

In der Konsole können Sie die Instance-Attribute in den folgenden Flottenkonfigurationskomponenten angeben:

  • In einer Startvorlage. Verweisen Sie dann in der Flottenanforderung auf die Startvorlage

  • (Nur Spot-Flotte) In der Flottenanfrage

In der AWS CLI können Sie die Instance-Attribute in einer oder allen der folgenden Flottenkonfigurationskomponenten angeben:

  • In einer Startvorlage. Verweisen Sie dann in der Flottenanforderung auf die Startvorlage

  • In einer Startvorlagen-Überschreibung

    Wenn Sie eine Mischung aus Instances wünschen, die unterschiedliche Instances verwendenAMIs, können Sie Instance-Attribute in mehreren Überschreibungen für Startvorlagen angeben. Zum Beispiel können verschiedene Instance-Typen x86- und ARM-basierte Prozessoren verwenden.

  • (Nur Spot-Flotte) In einer Startspezifikation

Wie EC2 Fleet oder Spot Fleet bei der Bereitstellung einer Flotte die attributbasierte Instance-Typauswahl verwendet

EC2Fleet oder Spot Fleet stellt eine Flotte auf folgende Weise bereit:

  • Es identifiziert die Instance-Typen mit den angegebenen Attributen.

  • Es verwendet den Preisschutz, um zu bestimmen, welche Instance-Typen ausgeschlossen werden sollen.

  • Es bestimmt anhand der AWS Regionen oder Availability Zones, die über die entsprechenden Instance-Typen verfügen, die Kapazitätspools, aus denen die Instances gestartet werden sollen.

  • Es wendet die angegebene Zuweisungsstrategie an, um zu bestimmen, aus welchen Kapazitätspools die Instances gestartet werden sollen.

    Beachten Sie, dass bei der attributbasierten Auswahl des Instance-Typs nicht die Kapazitätspools ausgewählt werden, aus denen die Flotte bereitgestellt werden soll. Das ist die Aufgabe der Zuweisungsstrategien.

    Wenn Sie eine Zuweisungsstrategie angeben, startet die Flotte Instances gemäß der angegebenen Zuweisungsstrategie.

    • Bei Spot-Instances unterstützt die attributbasierte Instance-Typauswahl die Strategien „Preiskapazitätsoptimierung“, „Kapazitätsoptimierung“ und „Niedrigster Preis“. Beachten Sie, dass wir nicht die Spot-Allokationsstrategie mit dem niedrigsten Preis empfehlen, da sie das höchste Unterbrechungsrisiko für Ihre Spot-Instances birgt.

    • Bei On-Demand-Instances unterstützt die attributbasierte Auswahl des Instance-Typs die Zuweisungsstrategie mit dem niedrigsten Preis.

  • Wenn es keine Kapazität für die Instance-Typen mit den angegebenen Instance-Attributen gibt, können keine Instances gestartet werden und die Flotte gibt einen Fehler zurück.

Preisschutz

Der Preisschutz ist eine Funktion, die verhindert, dass Ihre EC2 Flotte oder Spot-Flotte Instance-Typen verwendet, die Sie für zu teuer halten würden, selbst wenn sie zufällig den von Ihnen angegebenen Attributen entsprechen. Um den Preisschutz zu nutzen, legen Sie einen Preisgrenzwert fest. Wenn Amazon dann Instance-Typen mit Ihren Attributen EC2 auswählt, schließt es Instance-Typen aus, deren Preis über Ihrem Schwellenwert liegt.

Amazon EC2 berechnet den Preisschwellenwert wie folgt:

  • Amazon identifiziert EC2 zunächst den Instance-Typ mit dem niedrigsten Preis aus den Instance-Typen, die Ihren Attributen entsprechen.

  • Amazon nimmt EC2 dann den Wert (ausgedrückt als Prozentsatz), den Sie für den Preisschutzparameter angegeben haben, und multipliziert ihn mit dem Preis des identifizierten Instance-Typs. Das Ergebnis ist der Preis, der als Preisschwelle verwendet wird.

Es gibt separate Preisschwellen für On-Demand-Instances und Spot-Instances.

Wenn Sie eine Flotte mit attributbasierter Instance-Typauswahl erstellen, ist der Preisschutz standardmäßig aktiviert. Sie können die Standardwerte beibehalten oder eigene Werte angeben.

Sie können den Preisschutz auch deaktivieren. Um anzugeben, dass es keinen Schwellenwert für den Preisschutz gibt, geben Sie einen hohen Prozentwert an, z. 999999 B.

Wie wird der Instance-Typ mit dem niedrigsten Preis identifiziert

Amazon EC2 bestimmt den Preis, auf dem der Preisgrenzwert basieren soll, indem es aus den Instance-Typen, die Ihren angegebenen Attributen entsprechen, den Instance-Typ mit dem niedrigsten Preis identifiziert. Dies geschieht auf folgende Weise:

  • Zunächst werden die Instance-Typen C, M oder R der aktuellen Generation betrachtet, die Ihren Attributen entsprechen. Wenn es Übereinstimmungen findet, wird der Instance-Typ mit dem niedrigsten Preis identifiziert.

  • Wenn es keine Übereinstimmung gibt, sucht es nach allen Instance-Typen der aktuellen Generation, die Ihren Attributen entsprechen. Wenn es Übereinstimmungen findet, wird der Instance-Typ mit dem niedrigsten Preis identifiziert.

  • Wenn es keine Übereinstimmung gibt, sucht es nach allen Instance-Typen der vorherigen Generation, die Ihren Attributen entsprechen, und identifiziert den Instance-Typ mit dem niedrigsten Preis.

Preisschutz für On-Demand-Instances

Der Schwellenwert für den Preisschutz für On-Demand-Instance-Typen wird als Prozentsatz berechnet, der über dem identifizierten On-Demand-Instance-Typ mit dem niedrigsten Preis liegt (OnDemandMaxPricePercentageOverLowestPrice). Sie geben den höheren Prozentsatz an, den Sie bereit sind zu zahlen. Wenn Sie diesen Parameter nicht angeben, 20 wird der Standardwert von verwendet, um einen Preisschutzschwellenwert zu berechnen, der 20% über dem identifizierten Preis liegt.

Wenn der identifizierte On-Demand-Instance-Preis beispielsweise0.4271, und Sie angeben25, liegt der Preisschwellenwert 25% über0.4271. Er wird wie folgt berechnet:0.4271 * 1.25 = 0.533875. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für On-Demand-Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle On-Demand-Instance-Typen aus, die mehr als kosten0.533875.

Preisschutz für Spot-Instances

Standardmäßig wendet Amazon EC2 automatisch einen optimalen Spot-Instance-Preisschutz an, um konsistent aus einer Vielzahl von Instance-Typen auszuwählen. Sie können den Preisschutz auch manuell selbst festlegen. Wenn Sie Amazon EC2 dies für Sie tun lassen, kann dies jedoch die Wahrscheinlichkeit erhöhen, dass Ihre Spot-Kapazität ausgeschöpft ist.

Sie können den Preisschutz mithilfe einer der folgenden Optionen manuell angeben. Wenn Sie den Preisschutz manuell festlegen, empfehlen wir, die erste Option zu verwenden.

  • Ein Prozentsatz des identifizierten On-Demand-Instance-Typs mit dem niedrigsten Preis [MaxSpotPriceAsPercentageOfOptimalOnDemandPrice]

    Wenn der angegebene Preis für den On-Demand-Instance-Typ 0.4271 beispielsweise ist und Sie angeben60, liegt der Preisgrenzwert bei 60% von0.4271. Er wird wie folgt berechnet:0.4271 * 0.60 = 0.25626. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für Spot-Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle Spot-Instance-Typen aus, die mehr als kosten0.25626.

  • Ein Prozentsatz, der höher ist als der identifizierte Spot-Instance-Typ mit dem niedrigsten Preis [SpotMaxPricePercentageOverLowestPrice]

    Wenn der Preis für den identifizierten Spot-Instance-Typ beispielsweise und Sie angeben25, liegt der Preisschwellenwert 25% über0.1808. 0.1808 Er wird wie folgt berechnet:0.1808 * 1.25 = 0.226. Der berechnete Preis ist der Höchstbetrag, den Sie bereit sind, für Spot-Instances zu zahlen. In diesem Beispiel schließt Amazon EC2 alle Spot-Instance-Typen aus, die mehr als kosten0.266. Wir empfehlen, diesen Parameter nicht zu verwenden, da die Spot-Preise schwanken können und daher auch Ihr Preisschutzschwellenwert schwanken kann.

Geben Sie die Preisschutzschwelle an

Um den Preisschutzschwellenwert anzugeben, verwenden Sie den AWS CLI

Konfigurieren Sie beim Erstellen einer EC2 Flotte oder Spot-Flotte mithilfe von die AWS CLI Flotte für die attributbasierte Auswahl des Instance-Typs und gehen Sie dann wie folgt vor:

  • Um den Preisschutzschwellenwert für On-Demand-Instances anzugeben, geben Sie in der JSON Konfigurationsdatei in der InstanceRequirements Struktur für OnDemandMaxPricePercentageOverLowestPrice den Preisschutzschwellenwert den Preisschutzschwellenwert als Prozentsatz ein.

  • Um den Preisschutzschwellenwert für Spot-Instances anzugeben, geben Sie in der JSON Konfigurationsdatei in der InstanceRequirements Struktur einen der folgenden Parameter an:

    • Geben Sie für MaxSpotPriceAsPercentageOfOptimalOnDemandPrice den Schwellenwert für den Preisschutz als Prozentsatz ein.

    • Geben Sie für SpotMaxPricePercentageOverLowestPrice die Preisschutzschwelle als Prozentsatz ein.

Weitere Informationen finden Sie unter Erstellen Sie eine EC2 Flotte mit attributbasierter Instance-Typauswahl oder Erstellen einer Spot-Flotte mit attributbasierter Auswahl von Instance-Typen.

(Nur Spot-Flotte) Um den Schwellenwert für den Preisschutz über die Konsole festzulegen

Wenn Sie in der Konsole eine Spot-Flotte erstellen, konfigurieren Sie die Flotte für die Auswahl eines attributbasierten Instance-Typs und gehen Sie dann wie folgt vor:

  • Um den Preisschutzschwellenwert für On-Demand-Instances anzugeben, wählen Sie unter Zusätzliches Instance-Attribut die Option On-Demand-Preisschutz aus, wählen Sie Attribut hinzufügen aus und geben Sie dann den Preisschutzschwellenwert als Prozentsatz ein.

  • Um den Schwellenwert für den Spot-Instance-Preisschutz unter Zusätzliches Instance-Attribut anzugeben, wählen Sie Spot-Preisschutz, wählen Sie Attribut hinzufügen, wählen Sie einen Basiswert aus, auf dem Ihr Preis basieren soll, und geben Sie dann den Preisschutzschwellenwert als Prozentsatz ein.

Anmerkung

Wenn Sie bei der Erstellung der Flotte auf vcpu oder setzen TargetCapacityUnitTypememory-mib, wird der Schwellenwert für den Preisschutz auf der Grundlage des Preises pro V CPU oder pro Speicher und nicht auf der Grundlage des Preises pro Instance angewendet.

Überlegungen

  • Sie können entweder Instance-Typen oder Instance-Attribute in einer EC2 Flotte oder Spot-Flotte angeben, aber nicht beide gleichzeitig.

    Wenn Sie den verwendenCLI, überschreiben die Überschreibungen der Startvorlage die Startvorlage. Wenn die Startvorlage beispielsweise einen Instance-Typ enthält und die Startvorlagen-Überschreibung Instance-Attribute enthält, überschreiben die Instances, die durch die Instance-Attribute identifiziert werden, den Instance-Typ in der Startvorlage.

  • Wenn Sie die verwenden CLI und Instance-Attribute als Überschreibungen angeben, können Sie nicht auch Gewichtungen oder Prioritäten angeben.

  • Sie können maximal vier InstanceRequirements-Strukturen in einer Anforderungskonfiguration angeben.

Erstellen Sie eine EC2 Flotte mit attributbasierter Instance-Typauswahl

Sie können eine EC2 Flotte so konfigurieren, dass sie die attributbasierte Instanztypauswahl verwendet, indem Sie den verwenden. AWS CLI

Um eine EC2 Flotte mit attributbasierter Instance-Typauswahl zu erstellen ()AWS CLI

Verwenden Sie den Befehl create-fleet (AWS CLI), um eine Flotte zu erstellen. EC2 Geben Sie die Flottenkonfiguration in einer JSON Datei an.

aws ec2 create-fleet \ --region us-east-1 \ --cli-input-json file://file_name.json

file_name.json-Beispieldatei

Das folgende Beispiel enthält die Parameter, mit denen eine EC2 Flotte für die Verwendung der attributbasierten Instance-Typauswahl konfiguriert wird. Darauf folgt eine Texterklärung.

{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }

Die Attribute für die attributbasierte Auswahl von Instance-Typen werden in der InstanceRequirements-Struktur angegeben. In diesem Beispiel werden zwei Attribute angegeben:

  • VCpuCount— Es ist mindestens 2 vCPUs angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

  • MemoryMiB – Es werden mindestens 4 MiB Arbeitsspeicher angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

Alle Instance-Typen mit 2 oder mehr vCPUs und 4 MiB oder mehr Speicher werden identifiziert. Aus Gründen des Preisschutzes und der Zuweisungsstrategie könnten jedoch einige Instance-Typen ausgeschlossen werden, wenn EC2Fleet die Flotte bereitstellt.

Eine Liste und Beschreibungen aller möglichen Attribute, die Sie angeben können, finden Sie InstanceRequirementsin der EC2APIAmazon-Referenz.

Anmerkung

Wenn InstanceRequirements in der Flottenkonfiguration enthalten ist, müssen InstanceType und WeightedCapacity ausgeschlossen werden. Sie können die Flottenkonfiguration nicht gleichzeitig mit den Instance-Attributen bestimmen.

Die enthält JSON auch die folgende Flottenkonfiguration:

  • "AllocationStrategy": "price-capacity-optimized" – Die Zuweisungsstrategie für die Spot Instances in der Flotte.

  • "LaunchTemplateName": "my-launch-template", "Version": "1" – Die Startvorlage enthält einige Informationen zur Instance-Konfiguration. Wenn jedoch Instance-Typen angegeben sind, werden diese durch die in InstanceRequirements angegebenen Attribute überschrieben.

  • "TotalTargetCapacity": 20 – Die Zielkapazität beträgt 20 Instances.

  • "DefaultTargetCapacityType": "spot" – Die Standardkapazität beträgt Spot Instances.

  • "Type": "instant" – Der Anforderungstyp für die Flotte ist instant.

Erstellen einer Spot-Flotte mit attributbasierter Auswahl von Instance-Typen

Sie können eine Flotte so konfigurieren, dass sie die attributbasierte Instance-Typauswahl verwendet, indem Sie die EC2 Amazon-Konsole oder die verwenden. AWS CLI

Erstellen einer Spot-Flotte mit der Konsole

So konfigurieren Sie eine Spot-Flotte für die attributbasierte Auswahl von Instance-Typen (Konsole)
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Klicken Sie im Navigationsbereich auf Spot-Anforderungen und wählen Sie die Spot-Instances anfordern aus.

  3. Befolgen Sie die Schritte zum Erstellen einer Spot-Flotte. Weitere Informationen finden Sie unter Erstellen einer Spot-Flotten-Anforderung mit definierten Parametern (Konsole).

    Konfigurieren Sie beim Erstellen der Spot-Flotte wie folgt die Flotte für die attributbasierte Auswahl von Instance-Typen:

    1. Wählen Sie für Instance type requirements (Anforderungen hinsichtlich des Instance-Typs) die Option Specify instance attributes that match your compute requirements (Instance-Attribute angeben, die Ihren Computinganforderungen entsprechen) aus.

    2. Geben Sie für vCPUsdie gewünschte Mindest- und Höchstanzahl von einvCPUs. Um kein Limit anzugeben, wählen Sie Kein Minimum, Kein Maximum oder beides.

    3. Geben Sie für Arbeitsspeicher (GiB) den gewünschten Mindest- und Höchstwert ein. Um kein Limit anzugeben, wählen Sie Kein Minimum, Kein Maximum oder beide Optionen aus.

    4. (Optional) Für Zusätzliche Instance-Attribute können Sie optional ein oder mehrere Attribute angeben, um Ihre Computinganforderungen genauer auszudrücken. Jedes zusätzliche Attribut fügt Ihrer Anfrage weitere Einschränkungen hinzu.

    5. (Optional) Um die Instance-Typen mit Ihren angegebenen Attributen anzuzeigen, erweitern Sie Vorschau der übereinstimmenden Instance-Typen.

Erstellen einer Spot-Flotte mit der AWS CLI

So konfigurieren Sie eine Spot-Flotte für die attributbasierte Auswahl von Instance-Typen (AWS CLI)

Verwenden Sie den Befehl request-spot-fleet(AWS CLI), um eine Spot-Flotte zu erstellen. Geben Sie die Flottenkonfiguration in einer JSON Datei an.

aws ec2 request-spot-fleet \ --region us-east-1 \ --spot-fleet-request-config file://file_name.json

file_name.json-Beispieldatei

Das folgende Beispiel enthält Parameter, mit denen eine Spot-Flotte für attributbasierte Instance-Typauswahl konfiguriert wird, gefolgt von einer Texterklärung.

{ "AllocationStrategy": "priceCapacityOptimized", "TargetCapacity": 20, "Type": "request", "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }] }

Die Attribute für die attributbasierte Auswahl von Instance-Typen werden in der InstanceRequirements-Struktur angegeben. In diesem Beispiel werden zwei Attribute angegeben:

  • VCpuCount— Es sind mindestens 2 vCPUs angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

  • MemoryMiB – Es werden mindestens 4 MiB Arbeitsspeicher angegeben. Da kein Maximum angegeben ist, gibt es keine Höchstgrenze.

Alle Instance-Typen mit 2 oder mehr vCPUs und 4 MiB oder mehr Speicher werden identifiziert. Der Preisschutz und die Zuweisungsstrategie könnten jedoch einige Instance-Typen ausschließen, wenn die Spot-Flotte die Flotte bereitstellt.

Eine Liste und Beschreibungen aller möglichen Attribute, die Sie angeben können, finden Sie InstanceRequirementsin der EC2APIAmazon-Referenz.

Anmerkung

Wenn InstanceRequirements in der Flottenkonfiguration enthalten ist, müssen InstanceType und WeightedCapacity ausgeschlossen werden. Sie können die Flottenkonfiguration nicht gleichzeitig mit den Instance-Attributen bestimmen.

Die enthält JSON auch die folgende Flottenkonfiguration:

  • "AllocationStrategy": "priceCapacityOptimized" – Die Zuweisungsstrategie für die Spot Instances in der Flotte.

  • "LaunchTemplateName": "my-launch-template", "Version": "1" – Die Startvorlage enthält einige Informationen zur Instance-Konfiguration. Wenn jedoch Instance-Typen angegeben sind, werden diese durch die in InstanceRequirements angegebenen Attribute überschrieben.

  • "TargetCapacity": 20 – Die Zielkapazität beträgt 20 Instances.

  • "Type": "request" – Der Anforderungstyp für die Flotte ist request.

Beispiele für gültige und ungültige EC2 Flottenkonfigurationen

Wenn Sie den verwenden, AWS CLI um eine EC2 Flotte zu erstellen, müssen Sie sicherstellen, dass Ihre Flottenkonfiguration gültig ist. Die folgenden Beispiele zeigen gültige und ungültige Konfigurationen.

Konfigurationen gelten als ungültig, wenn sie Folgendes enthalten:

  • Eine einzelne Overrides-Struktur mit InstanceRequirements und InstanceType

  • Zwei Overrides-Strukturen, eine mit InstanceRequirements und die andere mit InstanceType

  • Zwei InstanceRequirements-Strukturen mit sich überlappenden Attributwerten innerhalb derselben LaunchTemplateSpecification

Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine Overrides-Struktur mit einer InstanceRequirements-Struktur. Eine Texterklärung der Beispielkonfiguration folgt.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "My-launch-template", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 2, "Max": 8 }, "MemoryMib": { "Min": 0, "Max": 10240 }, "MemoryGiBPerVCpu": { "Max": 10000 }, "RequireHibernateSupport": true } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 5000, "DefaultTargetCapacityType": "spot", "TargetCapacityUnitType": "vcpu" } } }
InstanceRequirements

Um die attributbasierte Instance-Auswahl zu verwenden, müssen Sie die InstanceRequirements-Struktur in Ihre Flottenkonfiguration aufnehmen und die gewünschten Attribute für die Instances in der Flotte angeben.

Im vorhergehenden Beispiel werden die folgenden Instance-Attribute angegeben:

  • VCpuCount— Die Instance-Typen müssen mindestens 2 und maximal 8 habenvCPUs.

  • MemoryMiB – Die Instance-Typen müssen maximal 10240 MiB Speicher haben. Ein Minimum von 0 bedeutet, dass kein Mindestwert vorhanden ist.

  • MemoryGiBPerVCpu— Die Instance-Typen müssen über maximal 10.000 GiB Arbeitsspeicher pro V verfügenCPU. Der Parameter Min ist optional. Indem Sie ihn weglassen, geben Sie kein Mindestlimit an.

TargetCapacityUnitType

Der TargetCapacityUnitType-Parameter gibt die Einheit für die Zielkapazität an. Im Beispiel sind die Zielkapazität 5000 und der Typ der Zielkapazitätseinheitvcpu, die zusammen eine gewünschte Zielkapazität von 5.000 angebenvCPUs. EC2Die Flotte startet so viele Instances, dass sich die Gesamtzahl der Instances vCPUs in der Flotte auf 5.000 beläuftvCPUs.

Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine Overrides-Struktur mit zwei InstanceRequirements-Strukturen. Die in angegebenen Attribute InstanceRequirements sind gültig, da sich die Werte nicht überschneiden. Die erste InstanceRequirements Struktur gibt einen Wert VCpuCount von 0-2 anvCPUs, während die zweite InstanceRequirements Struktur 4-8 angibt. vCPUs

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen

Die folgende Konfiguration ist gültig. Sie enthält zwei Startvorlagen mit jeweils einer Overrides-Struktur, die eine InstanceRequirements-Struktur enthält. Diese Konfiguration ist nützlich für arm- und x86-Architekturunterstützung in derselben Flotte.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "armLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "x86LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Gültige Konfiguration: Nur InstanceRequirements angegeben, keine überlappenden Attributwerte

Die folgende Konfiguration ist gültig. Sie enthält zwei LaunchTemplateSpecification-Strukturen, jeweils mit einer Startvorlage und einer Overrides-Struktur, die eine InstanceRequirements-Struktur enthält. Die in angegebenen Attribute InstanceRequirements sind gültig, da sich die Werte nicht überschneiden. Die erste InstanceRequirements Struktur gibt einen Wert VCpuCount von 0-2 anvCPUs, während die zweite Struktur 4-8 angibt. InstanceRequirements vCPUs

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Die Konfiguration ist nicht gültig: Overrides enthalten InstanceRequirements und InstanceType.

Die folgende Konfiguration ist ungültig. Die Overrides-Struktur enthält InstanceRequirements und InstanceType. Sie können für Overrides InstanceRequirements oder InstanceType angeben, aber nicht beides.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceType": "m5.large" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Konfiguration ungültig: Zwei Overrides enthalten InstanceRequirements und InstanceType

Die folgende Konfiguration ist ungültig. Die Overrides-Strukturen enthalten InstanceRequirements und InstanceType. Sie können entweder InstanceRequirements oder InstanceType angeben, aber nicht beides, auch wenn sie sich in unterschiedlichen Overrides-Strukturen befinden.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Konfiguration ungültig: Überlappende Attributwerte

Die folgende Konfiguration ist ungültig. Die beiden InstanceRequirements-Strukturen enthalten jeweils "VCpuCount": {"Min": 0, "Max": 2}. Die Werte für diese Attribute überschneiden sich, was zu doppelten Kapazitätspools führt.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } }, { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } } }

Beispiele für gültige und ungültige Spot-Flottenkonfigurationen

Wenn Sie die verwenden, AWS CLI um eine Spot-Flotte zu erstellen, müssen Sie sicherstellen, dass Ihre Flottenkonfiguration gültig ist. Die folgenden Beispiele zeigen gültige und ungültige Konfigurationen.

Konfigurationen gelten als ungültig, wenn sie Folgendes enthalten:

  • Eine einzelne Overrides-Struktur mit InstanceRequirements und InstanceType

  • Zwei Overrides-Strukturen, eine mit InstanceRequirements und die andere mit InstanceType

  • Zwei InstanceRequirements-Strukturen mit sich überlappenden Attributwerten innerhalb derselben LaunchTemplateSpecification

Gültige Konfiguration: Einzelstartvorlage mit Überschreibungen

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine Overrides-Struktur mit einer InstanceRequirements-Struktur. Eine Texterklärung der Beispielkonfiguration folgt.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "My-launch-template", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 2, "Max": 8 }, "MemoryMib": { "Min": 0, "Max": 10240 }, "MemoryGiBPerVCpu": { "Max": 10000 }, "RequireHibernateSupport": true } } ] } ], "TargetCapacity": 5000, "OnDemandTargetCapacity": 0, "TargetCapacityUnitType": "vcpu" } }
InstanceRequirements

Um die attributbasierte Instance-Auswahl zu verwenden, müssen Sie die InstanceRequirements-Struktur in Ihre Flottenkonfiguration aufnehmen und die gewünschten Attribute für die Instances in der Flotte angeben.

Im vorhergehenden Beispiel werden die folgenden Instance-Attribute angegeben:

  • VCpuCount— Die Instance-Typen müssen mindestens 2 und maximal 8 habenvCPUs.

  • MemoryMiB – Die Instance-Typen müssen maximal 10240 MiB Speicher haben. Ein Minimum von 0 bedeutet, dass kein Mindestwert vorhanden ist.

  • MemoryGiBPerVCpu— Die Instance-Typen müssen über maximal 10.000 GiB Arbeitsspeicher pro V verfügenCPU. Der Parameter Min ist optional. Indem Sie ihn weglassen, geben Sie kein Mindestlimit an.

TargetCapacityUnitType

Der TargetCapacityUnitType-Parameter gibt die Einheit für die Zielkapazität an. Im Beispiel sind die Zielkapazität 5000 und der Typ der Zielkapazitätseinheitvcpu, die zusammen eine gewünschte Zielkapazität von 5.000 angebenvCPUs. Die Spot-Flotte startet so viele Instances, dass sich die Gesamtzahl der Instances vCPUs in der Flotte auf 5.000 beläuftvCPUs.

Gültige Konfiguration: Einzelne Startvorlage mit mehreren InstanceRequirements

Die folgende Konfiguration ist gültig. Sie enthält eine Startvorlage und eine Overrides-Struktur mit zwei InstanceRequirements-Strukturen. Die in angegebenen Attribute InstanceRequirements sind gültig, da sich die Werte nicht überschneiden. Die erste InstanceRequirements Struktur gibt einen Wert VCpuCount von 0-2 anvCPUs, während die zweite InstanceRequirements Struktur 4-8 angibt. vCPUs

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Gültige Konfiguration: Zwei Startvorlagen, jede mit Überschreibungen

Die folgende Konfiguration ist gültig. Sie enthält zwei Startvorlagen mit jeweils einer Overrides-Struktur, die eine InstanceRequirements-Struktur enthält. Diese Konfiguration ist nützlich für arm- und x86-Architekturunterstützung in derselben Flotte.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "armLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "x86LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Gültige Konfiguration: Nur InstanceRequirements angegeben, keine überlappenden Attributwerte

Die folgende Konfiguration ist gültig. Sie enthält zwei LaunchTemplateSpecification-Strukturen, jeweils mit einer Startvorlage und einer Overrides-Struktur, die eine InstanceRequirements-Struktur enthält. Die in angegebenen Attribute InstanceRequirements sind gültig, da sich die Werte nicht überschneiden. Die erste InstanceRequirements Struktur gibt einen Wert VCpuCount von 0-2 anvCPUs, während die zweite Struktur 4-8 angibt. InstanceRequirements vCPUs

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 8 }, "MemoryMiB": { "Min": 0 } } } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Die Konfiguration ist nicht gültig: Overrides enthalten InstanceRequirements und InstanceType.

Die folgende Konfiguration ist ungültig. Die Overrides-Struktur enthält InstanceRequirements und InstanceType. Sie können für Overrides InstanceRequirements oder InstanceType angeben, aber nicht beides.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } }, { "InstanceType": "m5.large" } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Konfiguration ungültig: Zwei Overrides enthalten InstanceRequirements und InstanceType

Die folgende Konfiguration ist ungültig. Die Overrides-Strukturen enthalten InstanceRequirements und InstanceType. Sie können entweder InstanceRequirements oder InstanceType angeben, aber nicht beides, auch wenn sie sich in unterschiedlichen Overrides-Strukturen befinden.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } ] }, { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyOtherLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large" } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Konfiguration ungültig: Überlappende Attributwerte

Die folgende Konfiguration ist ungültig. Die beiden InstanceRequirements-Strukturen enthalten jeweils "VCpuCount": {"Min": 0, "Max": 2}. Die Werte für diese Attribute überschneiden sich, was zu doppelten Kapazitätspools führt.

{ "SpotFleetRequestConfig": { "AllocationStrategy": "priceCapacityOptimized", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::000000000000:role/aws-ec2-spot-fleet-tagging-role", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "MyLaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } }, { "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 2 }, "MemoryMiB": { "Min": 0 } } } } ] } ], "TargetCapacity": 1, "OnDemandTargetCapacity": 0, "Type": "maintain" } }

Vorschau von Instance-Typen mit bestimmten Attributen

Sie können den AWS CLI Befehl get-instance-types-from-instance-requirements verwenden, um eine Vorschau der Instance-Typen anzuzeigen, die den von Ihnen angegebenen Attributen entsprechen. Dies ist besonders nützlich, um herauszufinden, welche Attribute in Ihrer Anforderungskonfiguration angegeben werden sollen, ohne Instances zu starten. Beachten Sie, dass der Befehl die verfügbare Kapazität nicht berücksichtigt.

So zeigen Sie eine Vorschau einer Liste von Instance-Typen an, indem Sie Attribute mit der AWS CLI angeben
  1. (Optional) Verwenden Sie den Befehl get-instance-types-from-instance-requirements und den Parameter, um alle möglichen Attribute zu generieren, die angegeben werden können. --generate-cli-skeleton Sie können die Ausgabe optional in eine Datei umleiten, um sie mit mit input > attributes.json zu speichern.

    aws ec2 get-instance-types-from-instance-requirements \ --region us-east-1 \ --generate-cli-skeleton input > attributes.json

    Erwartete Ausgabe

    { "DryRun": true, "ArchitectureTypes": [ "i386" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 0, "Max": 0 }, "MemoryMiB": { "Min": 0, "Max": 0 }, "CpuManufacturers": [ "intel" ], "MemoryGiBPerVCpu": { "Min": 0.0, "Max": 0.0 }, "ExcludedInstanceTypes": [ "" ], "InstanceGenerations": [ "current" ], "SpotMaxPricePercentageOverLowestPrice": 0, "OnDemandMaxPricePercentageOverLowestPrice": 0, "BareMetal": "included", "BurstablePerformance": "included", "RequireHibernateSupport": true, "NetworkInterfaceCount": { "Min": 0, "Max": 0 }, "LocalStorage": "included", "LocalStorageTypes": [ "hdd" ], "TotalLocalStorageGB": { "Min": 0.0, "Max": 0.0 }, "BaselineEbsBandwidthMbps": { "Min": 0, "Max": 0 }, "AcceleratorTypes": [ "gpu" ], "AcceleratorCount": { "Min": 0, "Max": 0 }, "AcceleratorManufacturers": [ "nvidia" ], "AcceleratorNames": [ "a100" ], "AcceleratorTotalMemoryMiB": { "Min": 0, "Max": 0 }, "NetworkBandwidthGbps": { "Min": 0.0, "Max": 0.0 }, "AllowedInstanceTypes": [ "" ] }, "MaxResults": 0, "NextToken": "" }
  2. Erstellen Sie eine JSON Konfigurationsdatei mit der Ausgabe aus dem vorherigen Schritt und konfigurieren Sie sie wie folgt:

    Anmerkung

    Sie müssen Werte für ArchitectureTypes, VirtualizationTypes, VCpuCount und MemoryMiB angeben. Sie können die anderen Attribute weglassen. In diesem Fall werden die Standardwerte verwendet.

    Eine Beschreibung der einzelnen Attribute und ihrer Standardwerte finden Sie unter get-instance-types-from-instance-requirements in der EC2Amazon-Befehlszeilenreferenz.

    1. Geben Sie für ArchitectureTypes mindestes einen Prozessorarchitekturtyp an.

    2. Geben Sie für VirtualizationTypes mindestens eine Art von Virtualisierung an.

    3. Geben Sie für VCpuCount die Mindest- und Höchstanzahl von an. vCPUs Wenn Sie keine Mindestgrenze angeben möchten, geben Sie 0 für Min an. Wenn Sie keine Maximalgrenze angeben möchten, lassen Sie den Max-Parameter weg.

    4. Geben Sie für MemoryMiB den Mindest- und Höchstwert für Speicher in MiB an. Wenn Sie keine Mindestgrenze angeben möchten, geben Sie 0 für Min an. Wenn Sie keine Maximalgrenze angeben möchten, lassen Sie den Max-Parameter weg.

    5. Sie können optional eines oder mehrere der anderen Attribute angeben, um die Liste der zurückgegebenen Instance-Typen weiter einzuschränken.

  3. Um eine Vorschau der Instance-Typen mit den in der JSON Datei angegebenen Attributen anzuzeigen, verwenden Sie den Befehl get-instance-types-from-instance-requirements und geben Sie mithilfe des Parameters den Namen und den Pfad zu Ihrer JSON Datei an. --cli-input-json Sie können die Ausgabe optional so formatieren, dass sie in einem Tabellenformat angezeigt wird.

    aws ec2 get-instance-types-from-instance-requirements \ --cli-input-json file://attributes.json \ --output table

    Beispiel attributes.json file

    In diesem Beispiel sind die erforderlichen Attribute in der Datei enthalten. JSON Sie lauten ArchitectureTypes, VirtualizationTypes, VCpuCount, und MemoryMiB. Darüber hinaus ist das optionale InstanceGenerations-Attribut ebenfalls enthalten. Beachten Sie, dass für MemoryMiB der Max-Wert weggelassen werden kann, um anzuzeigen, dass kein Grenzwert vorhanden ist.

    { "ArchitectureTypes": [ "x86_64" ], "VirtualizationTypes": [ "hvm" ], "InstanceRequirements": { "VCpuCount": { "Min": 4, "Max": 6 }, "MemoryMiB": { "Min": 2048 }, "InstanceGenerations": [ "current" ] } }

    Beispielausgabe

    ------------------------------------------ |GetInstanceTypesFromInstanceRequirements| +----------------------------------------+ || InstanceTypes || |+--------------------------------------+| || InstanceType || |+--------------------------------------+| || c4.xlarge || || c5.xlarge || || c5a.xlarge || || c5ad.xlarge || || c5d.xlarge || || c5n.xlarge || || d2.xlarge || ...
  4. Nachdem Sie Instance-Typen identifiziert haben, die Ihren Anforderungen entsprechen, notieren Sie die Instance-Attribute, die Sie verwendet haben, damit Sie sie beim Konfigurieren Ihrer Flottenanforderung verwenden können.