View a markdown version of this page

Verwenden Sie Verteilungssegmente, um mehrere Kapazitätsreservierungstypen ins Visier zu nehmen - 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.

Verwenden Sie Verteilungssegmente, um mehrere Kapazitätsreservierungstypen ins Visier zu nehmen

Verwenden Sie Verteilungssegmente, um Ihre Auto Scaling-Gruppe so zu konfigurieren, dass mehrere Kapazitätsreservierungstypen — On-Demand Kapazitätsreservierungen Capacity Blocks für ML und unterbrechbare Kapazitätsreservierungen — mit Prioritätsreihenfolge verwendet werden. Sie zielen auf diese Reservierungsarten ab, indem Sie Ihre Auto Scaling-Gruppe auf eine Ressourcengruppe für Kapazitätsreservierungen verweisen, die eine Mischung aus verschiedenen Kapazitätsreservierungen enthält.

Wenn Sie Verteilungssegmente konfigurieren, startet Auto Scaling Instances für alle Reservierungstypen in der von Ihnen angegebenen Prioritätsreihenfolge mit optionalem Fallback auf die On-Demand Kapazität.

Wie verteilt Auto Scaling Instances auf verschiedene Marktoptionen

Auto Scaling verteilt gestartete Instances auf der Grundlage Ihrer Richtlinienkonfiguration für gemischte Instances auf verschiedene Marktoptionen.

On-Demand und Spot-Verteilung

Sie können Instances zwischen On-Demand und Spot-Kapazitäten verteilen, indem Sie die OnDemandPercentageAboveBaseCapacity Felder OnDemandBaseCapacity und in Ihrer Richtlinie für gemischte Instanzen verwenden. Im folgenden Beispiel werden die ersten beiden Instances als On-Demand, dann 25 Prozent der verbleibenden Instances als On-Demand und die verbleibenden als Spot gestartet:

{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }

Vertrieb mit Vertriebssegmenten

Ein Verteilungssegment ist eine Konfiguration in Ihrer Auto Scaling-Gruppe, die eine Liste von Kapazitätstypen enthält, die der Reihe nach priorisiert werden müssen. Verteilungssegmente werden im DistributionSegments Feld Ihrer Richtlinie für gemischte Instanzen festgelegt.

Auto Scaling unterstützt derzeit nur ein Verteilungssegment pro Auto Scaling-Gruppe. Die gesamte Auto Scaling-Gruppenkapazität wird auf die Zielkapazitätstypen (TargetCapacityTypes) in diesem Segment verteilt.

Die gültigen Werte für TargetCapacityTypes sind:

  • on-demand-capacity-reservation— On-Demand Kapazitätsreservierungen

  • capacity-block— Capacity Blocks für ML

  • interruptible-capacity-reservation— Unterbrechungsfreie Kapazitätsreservierungen

  • on-demand— Kapazität On-Demand

Die Reihenfolge der Liste bestimmt, wie Auto Scaling die gestarteten Instances verteilt. Auto Scaling versucht, die Kapazität in der Reihenfolge zu verbrauchen, in der die Typen aufgelistet sind. Wenn ein bestimmter Kapazitätstyp nicht verfügbar ist, überspringt Auto Scaling diesen Typ und fährt mit dem nächsten fort.

Das folgende Beispiel startet Instances Reservation-backed zuerst als On-Demand Capacity, dann als Capacity Block -backed, dann als unterbrechbare Kapazität und schließlich so Reservation-backed, als On-Demand ob die reservierte Kapazität nicht ausreicht:

{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }

Wenn Sie on-demand in die Liste aufnehmen, fällt Auto Scaling auf die Kapazität zurück, wenn die reservierte On-Demand Kapazität nicht verfügbar ist. Wenn Sie diese Option weglassenon-demand, können Instances nicht gestartet werden, wenn die reservierte Kapazität nicht verfügbar ist. Wenn Sie hinzufügenon-demand, muss dies der letzte Eintrag in der Liste sein.

Anmerkung

Spot-Kapazität wird derzeit nicht als Zielkapazitätstyp unterstützt.

Voraussetzungen

Bevor Sie Verteilungssegmente in Ihrer Auto Scaling-Gruppe konfigurieren können, müssen Sie die Kapazitätsreservierungen, die Sie nutzen möchten, und die Kapazitätsreservierungs-Ressourcengruppe, die sie enthält, erstellen.

Informationen zum Erstellen einer Kapazitätsreservierung finden Sie in einer der folgenden Anweisungen im Amazon EC2-Benutzerhandbuch:

Informationen zum Erstellen einer Ressourcengruppe für Kapazitätsreservierungen, die eine Mischung aus verschiedenen Kapazitätsreservierungen enthält, finden Sie unter Ressourcengruppen für Kapazitätsreservierungen im Amazon EC2-Benutzerhandbuch.

Konfigurieren Sie Ihre Auto Scaling-Gruppe für die Verwendung von Verteilungssegmenten

Um Ihre Auto Scaling-Gruppe für die Verwendung von Verteilungssegmenten zu konfigurieren, fügen Sie diese zu Ihrer Richtlinie für gemischte Instanzen hinzu und legen Sie den ARN der Ressourcengruppe für die Kapazitätsreservierung als Ziel in Ihrer Kapazitätsreservierungsspezifikation fest.

Auto Scaling versucht, Instances in der Prioritätsreihenfolge der Kapazitätstypen und innerhalb jedes Kapazitätstyps in der Reihenfolge der Instance-Typen zu starten, die in Ihrer Startvorlage aufgeführt sindOverrides.

Console
Um Verteilungssegmente in einer neuen Gruppe (Konsole) zu konfigurieren
  1. Folgen Sie den Schritten unterErstellen einer Auto-Scaling-Gruppe mithilfe des Amazon EC2-Startassistenten, bis Schritt 2.

  2. Wählen Sie auf der Seite „Startoptionen für Instances auswählen“ unter Anforderungen für den Instance-Typ die Option Startvorlage außer Kraft setzen aus , und wählen Sie dann Startvorlage für Distributionssegmente außer Kraft setzen aus.

  3. Wählen Sie unter Instanz-Verteilungsoptionen die Option Verteilungssegmente aus.

  4. Wählen Sie unter „Zielkapazitätsreservierungstyp auswählen“ die Kapazitätsreservierungstypen aus, die in dieses Verteilungssegment aufgenommen werden sollen. Stellen Sie sicher, dass Ihre Ressourcengruppe für Kapazitätsreservierungen die von Ihnen ausgewählten Reservierungstypen enthält.

  5. Ziehen Sie die Typen unter „Auftragsziel“ -Kapazitätsreservierungstypen in die gewünschte Prioritätsreihenfolge. Auto Scaling führt Instances in dieser Reihenfolge in Kapazitätsreservierungen ein. Wenn Sie On-Demand Instanzen ausgewählt haben, muss es sich um die letzte Instanz handeln.

  6. Wählen Sie unter Zusätzliche Kapazitätseinstellungen für das Kapazitätsreservierungsziel die Option Ressourcengruppe für Kapazitätsreservierung angeben (Ziel nach ARN) aus, und wählen Sie dann den ARN Ihrer Kapazitätsreservierungs-Ressourcengruppe aus.

  7. Fahren Sie mit den verbleibenden Schritten des Assistenten fort.

AWS CLI

Verwenden Sie den Befehl create-auto-scaling-group, um eine neue Auto Scaling-Gruppe mit Verteilungssegmenten zu erstellen.

Im folgenden Beispiel wird eine Prioritätsreihenfolge verwendet: zuerst On-Demand Kapazitätsreservierungen, dann unterbrechbare Capacity Blocks Kapazitätsreservierungen und dann. On-Demand

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --min-size 0 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a" \ --mixed-instances-policy '{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template" }, "Overrides": [ {"InstanceType": "m5.24xlarge"}, {"InstanceType": "p5.48xlarge"} ] }, "InstancesDistribution": { "OnDemandAllocationStrategy": "prioritized", "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Migrieren Sie zu und von Vertriebssegmenten

Sie können eine vorhandene Auto Scaling-Gruppe migrieren, um Verteilungssegmente zu verwenden, und bei Bedarf wieder zu einer Standardkonfiguration migrieren. In allen Migrationsszenarien werden die vorhandenen Instances weiterhin ausgeführt. Neue Starts folgen der aktualisierten Konfiguration.

Migrieren Sie eine gemischte Instanzgruppe, um Verteilungssegmente zu verwenden

Verwenden Sie eine der folgenden Methoden, um eine bestehende gemischte Instanzgruppe zur Verwendung von Verteilungssegmenten zu migrieren. Auto Scaling löscht automatisch OnDemandBaseCapacity undOnDemandPercentageAboveBaseCapacity, wenn Sie Verteilungssegmente hinzufügen.

Console
Um eine bestehende Gruppe zu Verteilungssegmenten zu migrieren (Konsole)
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups aus.

  2. Wählen Sie in der Navigationsleiste oben den Ort aus, an AWS-Region dem sich Ihre Auto Scaling-Gruppe befindet.

  3. Wählen Sie den Namen Ihrer Auto Scaling-Gruppe, um deren Detailseite zu öffnen.

  4. Wählen Sie im Abschnitt Anforderungen für den Instanztyp die Option Bearbeiten aus.

  5. Wählen Sie unter Anforderungen für den Instanztyp die Option Startvorlage überschreiben aus und wählen Sie dann Startvorlage für Vertriebssegmente außer Kraft setzen aus.

  6. Wählen Sie unter Instanz-Verteilungsoptionen die Option Verteilungssegmente aus.

  7. Wählen Sie unter „Zielkapazitätsreservierungstyp auswählen“ die Kapazitätsreservierungstypen aus, die in dieses Verteilungssegment aufgenommen werden sollen. Stellen Sie sicher, dass Ihre Ressourcengruppe für Kapazitätsreservierungen die von Ihnen ausgewählten Reservierungstypen enthält.

  8. Ziehen Sie die Typen unter „Auftragsziel“ -Kapazitätsreservierungstypen in die gewünschte Prioritätsreihenfolge. Wenn Sie On-Demand Instanzen ausgewählt haben, muss es sich um die letzte Instanz handeln.

  9. Wählen Sie Aktualisieren aus.

Informationen zum Festlegen der Ressourcengruppe für Kapazitätsreservierung als Ziel für eine vorhandene Gruppe finden Sie unterAktualisieren Sie eine vorhandene Auto Scaling-Gruppe.

AWS CLI

Verwenden Sie den Befehl update-auto-scaling-group, um Ihrer Richtlinie für gemischte Instanzen Verteilungssegmente hinzuzufügen, und legen Sie den ARN der Ressourcengruppe für Kapazitätsreservierungen als Ziel fest.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "DistributionSegments": [ { "TargetCapacityTypes": [ "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand" ] } ] } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "default", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": [ "arn:aws:resource-groups:us-east-1:123456789012:group/my-crg" ] } }'

Migrieren Sie weg von Vertriebssegmenten

Verwenden Sie eine der folgenden Methoden, um zurück zu einer gemischten Standardinstanzgruppe zu migrieren.

Console
Um Verteilungssegmente aus einer Gruppe (Konsole) zu entfernen
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/ und wählen Sie im Navigationsbereich Auto Scaling Groups aus.

  2. Wählen Sie in der Navigationsleiste oben den Ort aus, an AWS-Region dem sich Ihre Auto Scaling-Gruppe befindet.

  3. Wählen Sie den Namen Ihrer Auto Scaling-Gruppe, um deren Detailseite zu öffnen.

  4. Wählen Sie im Abschnitt Anforderungen für den Instanztyp die Option Bearbeiten aus.

  5. Wählen Sie unter Anforderungen für den Instanztyp die Option Zurücksetzen aus, um die Vorlage zu starten. Dadurch werden die Überschreibungen der Startvorlage entfernt, wodurch die Richtlinie für gemischte Instanzen und die zugehörigen Verteilungssegmente gelöscht werden.

  6. Wählen Sie Aktualisieren aus.

AWS CLI

Verwenden Sie den Befehl https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html update-auto-scaling-group, um oder festzulegen. OnDemandBaseCapacity OnDemandPercentageAboveBaseCapacity Auto Scaling löscht Verteilungssegmente automatisch, wenn Sie die älteren Felder festlegen.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --mixed-instances-policy '{ "InstancesDistribution": { "OnDemandBaseCapacity": 2, "OnDemandPercentageAboveBaseCapacity": 25 } }' \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'

Alternativ können Sie Verteilungssegmente auch explizit löschen, indem DistributionSegments Sie eine leere Liste auswählen.

Wenn Sie in Ihrer Auto Scaling-Gruppe zur Verwendung einer Startvorlage ohne eine Richtlinie für gemischte Instanzen wechseln möchten, verwenden Sie den update-auto-scaling-group Befehl mit einer Startvorlage auf oberster Ebene. Auto Scaling löscht die Richtlinie für gemischte Instanzen, wenn Sie eine Startvorlage auf oberster Ebene bereitstellen.

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first" }'
Anmerkung

Sie können auch mithilfe einer Instanzaktualisierung mit dem Parameter zu und von Verteilungssegmenten migrieren. --desired-configuration

Scale-in Verhalten bei Verteilungssegmenten

Wenn Ihre Auto Scaling-Gruppe skaliert wird, beendet Auto Scaling Instances in der entgegengesetzten Reihenfolge IhrerTargetCapacityTypes. On-Demand Instances werden zuerst beendet, gefolgt von Instances mit dem Kapazitätstyp mit der niedrigsten Priorität usw. bis zum Kapazitätstyp mit der höchsten Priorität.

Wenn beispielsweise der Wert auf TargetCapacityTypes gesetzt ist["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"], beendet Auto Scaling Instances beim Einskalieren in der folgenden Reihenfolge:

  1. On-Demand

  2. unterbrechbare Kapazität Reservation-backed

  3. Capacity Block-gestützt

  4. On-Demand Kapazität Reservation-backed

Wenn Sie Ihre Vertriebssegmente aktualisieren, um einen Reservierungstyp zu entfernen, werden bestehende Instances dieses entfernten Typs vor allen Instances beendet, deren Typ noch in der Liste aufgeführt ist.

Überlegungen

  • Voreinstellung „Kapazitätsreservierung“ default Wird nur bei der Konfiguration von Verteilungssegmenten unterstützt. Weitere Informationen finden Sie unter Einstellung „Kapazitätsreservierung“.

  • On-Demand Zuweisungsstrategie prioritized Wird nur unterstützt, wenn Sie Verteilungssegmente konfigurieren.

  • Warme Pools — Warme Pools werden mit Verteilungssegmenten nicht unterstützt.

  • Spot-Kapazität — Spot-Kapazität wird in Vertriebssegmenten nicht als Zielkapazitätstyp unterstützt.