View a markdown version of this page

Konfigurieren Sie Ihre Auto Scaling-Gruppe so, dass Instances mit Kapazitätsreservierungen gestartet werden - 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.

Konfigurieren Sie Ihre Auto Scaling-Gruppe so, dass Instances mit Kapazitätsreservierungen gestartet werden

Um Ihre Auto Scaling-Gruppe so zu konfigurieren, dass Instances mit Amazon EC2-Kapazitätsreservierungen und Capacity Blocks für ML gestartet werden, wählen Sie das Verfahren, das Ihrem Ansatz entspricht:

Verwenden Sie eine Spezifikation für Kapazitätsreservierungen

Verwenden Sie eine der folgenden Methoden, um eine Kapazitätsreservierungsspezifikation zu konfigurieren, wenn Sie eine neue Auto Scaling-Gruppe erstellen.

Console
So konfigurieren Sie eine Kapazitätsreservierungsspezifikation für eine neue Gruppe (Konsole)
  1. Folgen Sie den Schritten Erstellen einer Auto-Scaling-Gruppe mithilfe des Amazon EC2-Startassistenten unter bis zu Schritt 2.

  2. Wählen Sie auf der Seite „Startoptionen für Instances auswählen“ unter Zusätzliche Kapazitätseinstellungen eine bevorzugte Kapazitätsreservierung aus. Wählen Sie optional ein Ziel für die Kapazitätsreservierung. Weitere Informationen erhalten Sie unter Einstellung „Kapazitätsreservierung“ und Kapazitätsreservierungsziel.

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

AWS CLI

Fügen Sie den --capacity-reservation-specification Parameter dem Befehl https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html create-auto-scaling-group hinzu. Der Parameter akzeptiert eine Präferenz und ein optionales Ziel. Details dazu finden Sie unter Einstellung „Kapazitätsreservierung“ und Kapazitätsreservierungsziel.

Im folgenden Beispiel wird eine Auto Scaling-Gruppe mit der Präferenz capacity-reservations-only und einer bestimmten Kapazitätsreservierung als Ziel erstellt.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template \ --min-size 1 --max-size 10 --desired-capacity 5 \ --vpc-zone-identifier "subnet-abc1234a,subnet-abc1234b" \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-only", "CapacityReservationTarget": { "CapacityReservationIds": ["cr-1234567890abcdef1"] } }'

Aktualisieren Sie eine vorhandene Auto Scaling-Gruppe

Verwenden Sie eine der folgenden Methoden, um die Kapazitätsreservierungsspezifikation für eine vorhandene Auto Scaling-Gruppe zu ändern.

Console
Um die Kapazitätsreservierungsspezifikation in einer vorhandenen Gruppe (Konsole) zu ändern
  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. Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe. Unten auf der Seite wird ein geteilter Bereich geöffnet.

  4. Wählen Sie auf der Registerkarte Details unter Einstellung Kapazitätsreservierung die Option Bearbeiten aus.

  5. Wählen Sie eine bevorzugte Kapazitätsreservierung und optional ein Kapazitätsreservierungsziel.

  6. Wählen Sie Aktualisieren aus.

AWS CLI

Fügen Sie den --capacity-reservation-specification Parameter dem Befehl https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html update-auto-scaling-group hinzu.

Im folgenden Beispiel wird eine Auto Scaling-Gruppe aktualisiert, sodass sie eine Ressourcengruppe für Kapazitätsreservierungen als Ziel mit der Präferenz von verwendet. capacity-reservations-first

aws autoscaling update-auto-scaling-group \ --auto-scaling-group-name my-asg \ --capacity-reservation-specification '{ "CapacityReservationPreference": "capacity-reservations-first", "CapacityReservationTarget": { "CapacityReservationResourceGroupArns": ["arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"] } }'

Target Kapazitätsblöcke oder unterbrechbare Kapazitätsreservierungen aus einer Startvorlage

Sie können Kapazitätsreservierungen aus Ihrer Auto Scaling-Gruppe nutzen Capacity Blocks oder unterbrechbar machen, indem Sie auf Startvorlagen basierendes Targeting verwenden. Bei diesem Ansatz müssen Sie den Markttyp in Ihrer Startvorlage festlegen und die Kapazitätsreservierungs-ID als Ziel für Ihre Auto Scaling-Gruppe angeben.

Wenn Ihre Auto Scaling-Gruppe eine Richtlinie für gemischte Instanzen verwendet, empfehlen wir, stattdessen Verteilungssegmente zu verwenden, sodass Sie Kapazitätsreservierungen an einer Stelle in der Auto Scaling-Gruppe konfigurieren können. Launch-template-based Targeting ist erforderlich, wenn Ihre Auto Scaling-Gruppe einen einzelnen Instance-Typ verwendet.

Konfigurieren Sie eine Startvorlage

Legen Sie in Ihrer Startvorlage Folgendes fest:

  • Setzen Sie den Instance-Markttyp (InstanceMarketOptions.MarketType) auf capacity-block für eine Capacity Block oder interruptible-capacity-reservation für eine unterbrechbare Kapazitätsreservierung.

  • Setzen Sie das Kapazitätsreservierungsziel (CapacityReservationSpecification.CapacityReservationTarget.CapacityReservationId) auf die Kapazitätsreservierungs-ID.

Im folgenden Beispiel wird der Befehl create-launch-template verwendet, um eine Startvorlage zu erstellen, die auf a abzielt. Capacity Block Für eine unterbrechbare Kapazitätsreservierung ersetzen Sie den Wert durch. MarketType interruptible-capacity-reservation

aws ec2 create-launch-template \ --launch-template-name my-cr-launch-template \ --launch-template-data '{ "ImageId": "ami-0abcdef1234567890", "InstanceType": "p5.48xlarge", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } } }'

Informationen zum Erstellen einer Startvorlage finden Sie unter Startvorlagen im Amazon EC2-Benutzerhandbuch.

Erstellen einer Auto-Scaling-Gruppe

Erstellen Sie eine Auto Scaling-Gruppe, die die Startvorlage verwendet. Die Auto Scaling-Gruppe muss mit einem Subnetz in derselben Availability Zone wie Ihre Kapazitätsreservierung konfiguriert werden.

Im folgenden Beispiel wird eine Auto Scaling-Gruppe erstellt, die die im vorherigen Schritt erstellte Startvorlage verwendet.

aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name my-cr-asg \ --launch-template LaunchTemplateName=my-cr-launch-template \ --min-size 0 --max-size 4 --desired-capacity 4 \ --vpc-zone-identifier "subnet-abc1234a"

Weitere Informationen finden Sie unter Erstellen Sie Auto-Scaling-Gruppen mit Startvorlagen.

Betriebliche Richtlinien

Beachten Sie bei der Verwendung von Targeting, das auf Startvorlagen basiert, die folgenden betrieblichen Richtlinien.

  • Vorlagenversion starten — Verweisen Sie Ihre Auto Scaling-Gruppe auf eine bestimmte Version der Startvorlage statt auf die $Default oder -Version. $Latest Dadurch wird die Konsistenz für die Dauer der Reservierung gewährleistet.

  • Instance-Ersatz — Wenn eine Kapazitätsreservierung Capacity Block abläuft oder eine unterbrechbare Kapazitätsreservierung wieder in Anspruch genommen wird, beendet Amazon EC2 die darin laufenden Instances. Der Auto Scaling Health Checker erkennt die Beendigung und versucht, eine Ersatz-Instance auf die gleiche Weise zu starten wie bei jeder Instance, die eine Zustandsprüfung nicht besteht. Die Skalierungsaktivitäten für diese Kündigungen zeigen, dass sie als Reaktion auf eine Amazon EC2-Zustandsprüfung, die darauf hinwies, dass sie beendet oder gestoppt wurde, außer Betrieb genommen wurde.

  • Für Capacity Blocks — Skalieren Sie Ihre Auto Scaling-Gruppe mehr als 30 Minuten vor Ende der Capacity Block Reservierung auf Null. Amazon EC2 beginnt 30 Minuten vor der Endzeit mit der Beendigung aller verbleibenden Instances. Verwenden Sie die geplante Skalierung, um zu Beginn der Reservierung eine Skalierung vorzunehmen und vor Ende der Reservierung eine Skalierung vorzunehmen. Fügen Sie bei Bedarf Lifecycle-Hooks hinzu, um Ihre Anwendung vor Ablauf der erzwungenen Kündigungsfrist ordnungsgemäß herunterzufahren.

  • Für unterbrechbare Kapazitätsreservierungen — Instances können mit einer Frist von 2 Minuten beendet werden, wenn der Kapazitätsinhaber die Kapazität zurückfordert. Entwickeln Sie Ihre Anwendungen so, dass sie problemlos herunterfahren können. Amazon EC2 sendet Benachrichtigungen 2 Minuten vor der Kündigung, und Sie können eine benutzerdefinierte Automatisierung einrichten, um auf diese Benachrichtigungen zu reagieren.

Überschreiben Sie die Einstellungen für die Kapazitätsreservierung auf Auto Scaling-Gruppenebene

Sie können eine bevorzugte Kapazitätsreservierung und ein Ziel für Ihre Auto Scaling-Gruppe festlegen, um die Einstellungen in Ihrer Startvorlage zu überschreiben. Weitere Informationen zur Kapazitätsreservierungsspezifikation finden Sie unterTarget-Kapazitätsreservierungen aus Ihrer Auto Scaling-Gruppe.

Überlegungen

  • Richtlinien für gemischte Instanzen — Das Launch-template-based Targeting von Capacity Blocks oder unterbrechbare Kapazitätsreservierungen wird bei Richtlinien für gemischte Instanzen nicht unterstützt. Informationen zur Verwendung dieser Reservierungstypen mit einer Richtlinie für gemischte Instanzen finden Sie unterVerwenden Sie Verteilungssegmente, um mehrere Kapazitätsreservierungstypen ins Visier zu nehmen.

  • Warme Pools — Warme Pools werden nicht unterstützt, wenn Ihre Startvorlage auf eine Capacity Block oder eine unterbrechbare Kapazitätsreservierung abzielt.

  • Ein Kapazitätsreservierungstyp pro Startvorlage — Eine Startvorlage kann nur auf einen Kapazitätsreservierungstyp abzielen. Verwenden Sie Verteilungssegmente, um mehrere Kapazitätsreservierungstypen in einer Auto Scaling-Gruppe anzuvisieren.