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

Anstatt Instance-Typen manuell für Ihre gemischte Instances-Gruppe auszuwählen, können Sie eine Reihe von Instance-Attributen angeben, die Ihre Rechenanforderungen beschreiben. Da Amazon EC2 Auto Scaling Instances startet, müssen alle Instance-Typen, die von der Auto-Scaling-Gruppe verwendet werden, Ihren gewünschten Instance-Attributen entsprechen. Dies ist bekannt als attributbasierte Instance-Typauswahl.

Dieser Ansatz ist ideal für Workloads und Frameworks, die bei der Wahl der Instance-Typen flexibel sind, wie z.B. Container, Big Data und CI/CD.

Im Folgenden finden Sie die Vorteile der attributbasierten Auswahl von Instance-Typen:

  • Optimale Flexibilität für Spot-Instances — Amazon EC2 Auto Scaling kann aus einer Vielzahl von Instance-Typen für den Start von Spot-Instances wählen. Dies entspricht der bewährten Spot-Praxis, bei den Instance-Typen flexibel zu sein, wodurch der Amazon-EC2-Spot-Service eine bessere Chance hat, die von Ihnen benötigte Menge an Rechenkapazität zu finden und zuzuweisen.

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

  • Automatische Verwendung neuer Instance-Typen — Ihre Auto Scaling Scaling-Gruppen können Instance-Typen der neueren Generation verwenden, sobald sie veröffentlicht werden. Instance-Typen der neueren Generation werden automatisch verwendet, wenn sie Ihren Anforderungen entsprechen und mit den Zuweisungsstrategien übereinstimmen, die Sie für Ihre Auto-Scaling-Gruppe gewählt haben.

Attributbasierte Auswahl von Instance-Typen

Bei der attributbasierten Auswahl von Instance-Typen geben Sie statt einer Liste bestimmter Instance-Typen eine Liste von Instance-Attributen an, die Ihre Instances benötigen, wie z. B.:

  • vCPU-Anzahl — Die minimale und maximale Anzahl von vCPUs pro Instanz.

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

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

  • Spitzenleistung — Ob die T-Instance-Familie verwendet werden soll, einschließlich der Typen T4g, T3a, T3 und T2.

Es stehen viele Optionen zur Definition Ihrer Instance-Anforderungen zur Verfügung. Eine Beschreibung der einzelnen Optionen und der Standardwerte finden Sie InstanceRequirementsin der Amazon EC2 Auto Scaling API-Referenz.

Wenn Ihre Auto Scaling Scaling-Gruppe eine Instance starten muss, sucht sie nach Instance-Typen, die Ihren angegebenen Attributen entsprechen und in dieser Availability Zone verfügbar sind. Die Zuweisungsstrategie bestimmt dann, welcher der passenden Instance-Typen gestartet werden soll. Standardmäßig ist für die attributbasierte Instance-Typauswahl eine Preisschutzfunktion aktiviert, um zu verhindern, dass Ihre Auto Scaling Scaling-Gruppe Instance-Typen startet, die Ihre Budgetschwellenwerte überschreiten.

Standardmäßig verwenden Sie die Anzahl der Instances als Maßeinheit, wenn Sie die gewünschte Kapazität Ihrer Auto Scaling Scaling-Gruppe festlegen, was bedeutet, dass jede Instanz als eine Einheit zählt.

Alternativ können Sie den Wert für die gewünschte Kapazität auf die Anzahl der vCPUs oder die Menge des Speichers setzen. Verwenden Sie dazu das Dropdown-Feld Gewünschter Kapazitätstyp in der AWS Management Console oder der DesiredCapacityType Eigenschaft in der UpdateAutoScalingGroup API-Operation CreateAutoScalingGroup oder. Amazon EC2 Auto Scaling startet dann die Anzahl der Instances, die erforderlich sind, um die gewünschte vCPU- oder Speicherkapazität zu erreichen. Wenn Sie beispielsweise vCPUs als gewünschten Kapazitätstyp verwenden und Instances mit jeweils 2 vCPUs verwenden, würde eine gewünschte Kapazität von 10 vCPUs 5 Instances starten. Dies ist eine nützliche Alternative zu Instance-Gewichten.

Preisschutz

Mit Preisschutz können Sie den Höchstpreis angeben, den Sie bereit sind, für EC2-Instances zu zahlen, die von Ihrer Auto Scaling Scaling-Gruppe gestartet wurden. Der Preisschutz ist eine Funktion, die verhindert, dass Ihre Auto Scaling Scaling-Gruppe Instance-Typen verwendet, die Sie für zu teuer halten würden, selbst wenn sie zufällig den von Ihnen angegebenen Attributen entsprechen.

Der Preisschutz ist standardmäßig aktiviert und hat separate Preisschwellen für On-Demand-Instances und Spot-Instances. Wenn Amazon EC2 Auto Scaling neue Instances starten muss, werden Instance-Typen, deren Preis über dem entsprechenden Schwellenwert liegt, nicht gestartet.

Preisschutz auf Abruf

Für On-Demand-Instances definieren Sie den maximalen On-Demand-Preis, den Sie zu zahlen bereit sind, als Prozentsatz, der über dem angegebenen On-Demand-Preis liegt. Der identifizierte On-Demand-Preis ist der Preis des günstigsten Instance-Typs C, M oder R der aktuellen Generation mit den von Ihnen angegebenen Attributen.

Wenn ein On-Demand-Preisschutzwert nicht explizit definiert ist, wird ein standardmäßiger maximaler On-Demand-Preis verwendet, der 20 Prozent über dem angegebenen On-Demand-Preis liegt.

Schutz vor Spot-Preisen

Standardmäßig wendet Amazon EC2 Auto Scaling automatisch den 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 dies jedoch Amazon EC2 Auto Scaling für Sie erledigen lassen, können Sie 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 eines identifizierten On-Demand-Preises — Der identifizierte On-Demand-Preis ist der Preis des günstigsten Instance-Typs C, M oder R der aktuellen Generation mit Ihren angegebenen Attributen.

  • Ein Prozentsatz höher als ein identifizierter Spot-Preis — Der identifizierte Spot-Preis ist der Preis des günstigsten Instance-Typs C, M oder R der aktuellen Generation mit den von Ihnen angegebenen Attributen. Wir empfehlen, diese Option nicht zu verwenden, da die Spot-Preise schwanken können und daher auch Ihr Preisschutzschwellenwert schwanken kann.

Passen Sie den Preisschutz individuell an

Sie können die Schwellenwerte für den Preisschutz in der Amazon EC2 Auto Scaling Scaling-Konsole oder mithilfe der SDKs AWS CLI oder anpassen.

  • Verwenden Sie in der Konsole die Einstellungen On-Demand-Preisschutz und Spot-Preisschutz unter Zusätzliche Instance-Attribute.

  • Verwenden Sie in der InstanceRequirementsStruktur die OnDemandMaxPricePercentageOverLowestPrice Eigenschaft, um den Schwellenwert für den Preisschutz bei On-Demand-Instances anzugeben. Um den Schwellenwert für den Preisschutz für Spot-Instances anzugeben, verwenden Sie entweder die SpotMaxPricePercentageOverLowestPrice Eigenschaft MaxSpotPriceAsPercentageOfOptimalOnDemandPrice oder.

Wenn Sie den gewünschten Kapazitätstyp (DesiredCapacityType) auf vCPUs oder Memory GiB festlegen, gilt der Preisschutz auf der Grundlage des Preises pro vCPU oder pro Speicher und nicht auf dem Preis pro Instance.

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

Anmerkung

Wenn keine Instance-Typen der aktuellen Generation C, M oder R Ihren angegebenen Attributen entsprechen, gilt der Preisschutz trotzdem. Wenn keine Übereinstimmung gefunden wird, stammt der identifizierte Preis von den günstigsten Instance-Typen der aktuellen Generation oder, falls dies nicht der Fall ist, von den günstigsten Instance-Typen der vorherigen Generation, die Ihren Attributen entsprechen.

Voraussetzungen

Erstellen Sie eine gemischte Instanzgruppe mit attributbasierter Instanztypauswahl (Konsole)

Gehen Sie wie folgt vor, um eine gemischte Instances-Gruppe zu erstellen, indem Sie die attributbasierte Auswahl des Instance-Typs verwenden. Um die Schritte effizient ausführen zu können, wurden einige optionale Abschnitte übersprungen.

Für die meisten allgemeinen Arbeitslasten reicht es aus, die Anzahl der vCPUs und des Speichers anzugeben, die Sie benötigen. Für fortgeschrittene Anwendungsfälle können Sie Attribute wie Speichertyp, Netzwerkschnittstellen, CPU-Hersteller und Beschleunigertyp angeben.

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-Typanforderungen die Option Startvorlage überschreiben.

      Anmerkung

      Bei Auswahl einer Startvorlage, die bereits eine Reihe von Instance-Attributen wie etwa vCPUs und Arbeitsspeicher enthält, werden die Instance-Attribute angezeigt. Diese Attribute werden zu den Eigenschaften der Auto-Scaling-Gruppe hinzugefügt, wo Sie sie jederzeit über die Amazon EC2 Auto Scaling-Konsole aktualisieren können.

    2. Beginnen Sie unter Instance-Attribute angeben mit der Eingabe Ihrer vCPU- und Speicheranforderungen.

      • Geben Sie für vCPUs die gewünschte minimale und maximale Anzahl der vCPUs ein. Um kein Limit anzugeben, wählen Sie Kein Minimum, Kein Maximum oder beides.

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

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

    4. Erweitern Sie Vorschau der passenden Instance-Typen, um die Instance-Typen mit Ihren angegebenen Attributen anzuzeigen.

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

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

    7. Unter Zuteilungsstrategien wird für die On-Demand-Zuteilungsstrategie automatisch der niedrigste Preis ausgewählt und kann nicht geändert werden.

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

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

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

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

    12. Wählen Sie Weiter, Weiter aus.

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

    1. Um Ihre gewünschte Kapazität in anderen Einheiten als Instances zu messen, wählen Sie die entsprechende Option für Gruppengröße, Gewünschter Kapazitätstyp aus. Einheiten, vCPUs und Arbeitsspeicher GiB werden unterstützt. Standardmäßig gibt Amazon EC2 Auto Scaling Einheiten an, was sich in einer Anzahl von Instances niederschlägt.

    2. Für Gewünschte Kapazität, die Anfangsgröße Ihrer Auto-Scaling-Gruppe.

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

Erstellen Sie eine gemischte Instanzgruppe mit einer attributbasierten Instanztypauswahl ()AWS CLI

Erstellen Sie wie folgt eine gemischte Instances-Gruppe über die Befehlszeile:

Verwenden Sie einen der folgenden Befehle:

Beispielkonfiguration

Um eine Auto-Scaling-Gruppe mit attributbasierter Auswahl des Instance-Typs über die AWS CLI zu erstellen, verwenden Sie den folgenden Befehl create-auto-scaling-group.

Die folgenden Instance-Attribute werden angegeben:

  • VCpuCount – Die Instance-Typen müssen mindestens vier vCPUs und maximal acht vCPUs haben.

  • MemoryMiB – Die Instance-Typen müssen über mindestens 16.384 MiB Arbeitsspeicher verfügen.

  • CpuManufacturers – Die Instance-Typen müssen eine von Intel hergestellte CPU haben.

aws autoscaling create-auto-scaling-group --cli-input-json file://~/config.json

Im Folgenden sehen Sie ein Beispiel für eine config.json-Datei.

{ "AutoScalingGroupName": "my-asg", "DesiredCapacityType": "units", "MixedInstancesPolicy": { "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "$Default" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": {"Min": 4, "Max": 8}, "MemoryMiB": {"Min": 16384}, "CpuManufacturers": ["intel"] } }] }, "InstancesDistribution": { "OnDemandPercentageAboveBaseCapacity": 50, "SpotAllocationStrategy": "price-capacity-optimized" } }, "MinSize": 0, "MaxSize": 100, "DesiredCapacity": 4, "DesiredCapacityType": "units", "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" }

Um den Wert für die gewünschte Kapazität als Anzahl der vCPUs oder die Größe des Arbeitsspeichers festzulegen, geben Sie "DesiredCapacityType": "vcpu" oder "DesiredCapacityType": "memory-mib" in der Datei an. Der Standardtyp für die gewünschte Kapazität ist units, wodurch der Wert für die gewünschte Kapazität als Anzahl der Instanzen festgelegt wird.

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

Im Folgenden sehen Sie ein Beispiel für eine config.yaml-Datei.

--- AutoScalingGroupName: my-asg DesiredCapacityType: units MixedInstancesPolicy: LaunchTemplate: LaunchTemplateSpecification: LaunchTemplateName: my-launch-template Version: $Default Overrides: - InstanceRequirements: VCpuCount: Min: 2 Max: 4 MemoryMiB: Min: 2048 CpuManufacturers: - intel InstancesDistribution: OnDemandPercentageAboveBaseCapacity: 50 SpotAllocationStrategy: price-capacity-optimized MinSize: 0 MaxSize: 100 DesiredCapacity: 4 DesiredCapacityType: units VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782

Um den Wert für die gewünschte Kapazität als Anzahl der vCPUs oder die Größe des Arbeitsspeichers festzulegen, geben Sie DesiredCapacityType: vcpu oder DesiredCapacityType: memory-mib in der Datei an. Der Standardtyp für die gewünschte Kapazität ist units, wodurch der Wert für die gewünschte Kapazität als Anzahl der Instanzen festgelegt wird.

Eine Vorschau Ihrer Instance-Typen anzeigen

Sie können die Instance-Typen, die Ihren Rechenanforderungen entsprechen, in der Vorschau anzeigen, ohne sie zu starten, und Ihre Anforderungen bei Bedarf anpassen. Wenn Sie Ihre Auto-Scaling-Gruppe in der Amazon EC2 Auto Scaling-Konsole erstellen, erscheint eine Vorschau der Instance-Typen im Abschnitt Preview matching instance types (Vorschau passender Instance-Typen) auf der Seite Choose instance launch options (Startoptionen für Instances auswählen).

Alternativ können Sie eine Vorschau der Instance-Typen anzeigen, indem Sie einen Amazon EC2 GetInstanceTypesFromInstanceRequirementsEC2-API-Aufruf mit dem AWS CLI oder einem SDK durchführen. Übergeben Sie die InstanceRequirements-Parameter in der Anfrage genau in dem Format, das Sie zum Erstellen oder Aktualisieren einer Auto-Scaling-Gruppe verwenden würden. Weitere Informationen finden Sie unter Preview-Instance-Typen mit bestimmten Attributen im Amazon EC2 EC2-Benutzerhandbuch.

Weitere Informationen zur attributbasierten Instanztypauswahl finden Sie unter Attributbasierte Instanztypauswahl für EC2 Auto Scaling und EC2 Fleet im Blog. AWS

Sie können eine attributbasierte Auswahl des Instance-Typs erklären, wenn Sie eine Auto-Scaling-Gruppe mit AWS CloudFormation erstellen. Weitere Informationen finden Sie unter Auto Scaling-Vorlagenbeispiele im Abschnitt des AWS CloudFormation -Benutzerhandbuchs.