Verwenden Sie Capacity Blocks für Workloads für maschinelles Lernen - 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 Capacity Blocks für Workloads für maschinelles Lernen

Capacity Blocks helfen Ihnen dabei, stark nachgefragte GPU Instances zu einem future Zeitpunkt zu reservieren, um Ihre kurzfristigen Workloads für maschinelles Lernen (ML) zu unterstützen.

Für einen Überblick über Capacity Blocks und wie sie funktionieren, finden Sie unter Capacity Blocks für ML im EC2Amazon-Benutzerhandbuch.

Um mit der Nutzung zu beginnen Capacity Blocks, erstellen Sie eine Kapazitätsreservierung in einer bestimmten Availability Zone. Capacity Blocks werden als targeted Kapazitätsreservierungen in einer einzigen Availability Zone bereitgestellt. Wenn Sie Ihre Startvorlage erstellen, geben Sie die Reservierungs-ID und den Instanztyp des Kapazitätsblocks an. Aktualisieren Sie dann Ihre Auto Scaling Scaling-Gruppe so, dass sie die von Ihnen erstellte Startvorlage und die Availability Zone des Capacity Blocks verwendet. Wenn Ihre Capacity Block-Reservierung beginnt, verwenden Sie die geplante Skalierung, um dieselbe Anzahl von Instances wie Ihre Capacity Block-Reservierung zu starten.

Wichtig

Capacity Blocks sind nur für bestimmte EC2 Amazon-Instance-Typen und verfügbar AWS-Regionen. Weitere Informationen finden Sie unter Voraussetzungen im EC2Amazon-Benutzerhandbuch.

Betriebliche Richtlinien

Nachfolgend finden Sie grundlegende Richtlinien, die Sie bei der Verwendung eines Kapazitätsblocks mit einer Auto-Scaling-Gruppe beachten sollten.

  • Skalieren Sie Ihre Auto-Scaling-Gruppe mehr als 30 Minuten vor der Endzeit der Kapazitätsblockreservierung auf Null herunter. Amazon beendet EC2 alle Instances, die noch laufen, 30 Minuten vor dem Ende des Kapazitätsblocks.

  • Wir empfehlen Ihnen, die geplante Skalierung zu verwenden, um zu den entsprechenden Reservierungszeiten die horizontale Skalierung (Hinzufügen von Instances) und die Skalierung (Instances entfernen) durchzuführen. Weitere Informationen finden Sie unter Geplante Skalierung für Amazon EC2 Auto Scaling.

  • Fügen Sie bei Bedarf Lebenszyklus-Hooks hinzu, um Ihre Anwendung beim Skalieren innerhalb der Instances ordnungsgemäß herunterzufahren. Lassen Sie genügend Zeit, bis die Lifecycle-Aktion abgeschlossen ist, bevor Amazon 30 Minuten vor dem Ende der Kapazitätsblock-Reservierung EC2 beginnt, Ihre Instances zwangsweise zu beenden. Weitere Informationen finden Sie unter Lebenszyklus-Hooks bei Amazon EC2 Auto Scaling.

  • Stellen Sie sicher, dass die Auto-Scaling-Gruppe für die gesamte Dauer der Reservierung auf die richtige Version der Startvorlage verweist. Wir empfehlen, auf eine bestimmte Version der Startvorlage statt auf die Version $Default oder $Latest zu verweisen.

Anmerkung

Wenn Sie eine Capacity Block-Instance bis zum Ende der Reservierung laufen lassen und Amazon sie EC2 zurückfordert, geben die Skalierungsaktivitäten für Ihre Auto Scaling Scaling-Gruppe an, dass sie "taken out of service in response to an EC2 health check that indicated it had been terminated or stopped„war, obwohl sie am Ende des Kapazitätsblocks absichtlich zurückgefordert wurde. In ähnlicher Weise versucht Amazon EC2 Auto Scaling, die Instance auf dieselbe Weise zu ersetzen, wie es bei jeder Instance der Fall ist, die eine Zustandsprüfung nicht besteht. Weitere Informationen finden Sie unter Zustandsprüfungen für Instances in einer Auto-Scaling-Gruppe.

Geben Sie in Ihrer Startvorlage einen Kapazitätsblock an

Verwenden Sie eine der folgenden Methoden, um eine Startvorlage zu erstellen, die auf einen bestimmten Kapazitätsblock für Ihre Auto Scaling Scaling-Gruppe abzielt:

Console
Angabe eines Kapazitätsblocks in Ihrer Startvorlage (Konsole)
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie in der oberen Navigationsleiste den Ort aus, AWS-Region an dem Sie Ihren Kapazitätsblock erstellt haben.

  3. Wählen Sie im Navigationsbereich unter Instances die Option Launch Templates aus.

  4. Wählen Sie Startvorlage erstellen und erstellen Sie die Startvorlage. Geben Sie bei Bedarf die ID des Amazon Machine Image (AMI), den Instance-Typ und alle anderen Einstellungen für die Startvorlage an.

  5. Erweitern Sie den Abschnitt Erweiterte Details, um die erweiterten Einstellungen anzuzeigen.

  6. Wählen Sie als Kaufoption Kapazitätsblöcke aus.

  7. Wählen Sie für Kapazitätsreservierung die Option Ziel nach ID und dann für Kapazitätsreservierung – Ziel nach ID die Kapazitätsreservierungs-ID eines vorhandenen Kapazitätsblocks aus.

  8. Klicken Sie danach auf Startvorlage erstellen.

    Hilfe zum Erstellen einer Auto Scaling Scaling-Gruppe mit einer Startvorlage finden Sie unterErstellen einer Auto-Scaling-Gruppe mithilfe einer Startvorlage.

AWS CLI
Angabe eines Kapazitätsblocks in Ihrer Startvorlage (AWS CLI)

Verwenden Sie den folgenden create-launch-templateBefehl, um eine Startvorlage zu erstellen, die eine vorhandene Kapazitätsblock-Reservierungs-ID angibt. Ersetzen Sie jeden user input placeholder mit Ihren eigenen Informationen.

aws ec2 create-launch-template --launch-template-name my-template-for-capacity-block \ --version-description AutoScalingVersion1 --region us-east-2 \ --launch-template-data file://config.json
Tipp

Wenn dieser Befehl einen Fehler auslöst, stellen Sie sicher, dass Sie die AWS CLI lokale Version auf die neueste Version aktualisiert haben.

Inhalt von config.json.

{ "ImageId": "ami-04d5cc9b88example", "InstanceType": "p4d.24xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } }

Es folgt eine Beispielausgabe.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Sie können den folgenden describe-launch-template-versionsBefehl verwenden, um die Reservierungs-ID für den Kapazitätsblock zu überprüfen, die der Startvorlage zugeordnet ist.

aws ec2 describe-launch-template-versions --launch-template-names my-template-for-capacity-block \ --region us-east-2

Es folgt eine Beispielausgabe für eine Startvorlage mit Angabe einer Kapazitätsblockreservierung.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-capacity-block", "VersionNumber": 1, "CreateTime": "2023-10-27T15:12:44.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "p5.48xlarge", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "InstanceMarketOptions": { "MarketType": "capacity-block" }, "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-02168da1478b509e0" } } } } ] }

Einschränkungen

  • Unterstützung für Capacity Blocks ist nur verfügbar, wenn Ihre Auto Scaling Scaling-Gruppe über eine kompatible Konfiguration verfügt. Gruppen mit gemischten Instances und warmen Pools werden nicht unterstützt.

  • Sie können jeweils nur einen Kapazitätsblock als Ziel angeben.

  • Die Voraussetzungen und Empfehlungen für die Verwendung von P5-Instances finden Sie unter Erste Schritte mit P5-Instances im EC2Amazon-Benutzerhandbuch.

  • Amazon EKS unterstützt die Verwendung von Capacity Blocks zur Unterstützung Ihrer kurzfristigen Workloads für maschinelles Lernen (ML) auf EKS Amazon-Clustern. Weitere Informationen finden Sie unter Capacity Blocks für ML im EKSAmazon-Benutzerhandbuch.

  • Sie können Folgendes verwenden … Capacity Blocks mit unterstützten Instance-Typen und Regionen. Kapazitätsreservierungen auf Abruf bieten jedoch die Flexibilität, Kapazität für andere Instance-Typen und Regionen zu reservieren. Ein Tutorial, das Ihnen zeigt, wie Sie die Option Kapazitätsreservierung auf Abruf verwenden, finden Sie unterReservieren Sie Kapazität in bestimmten Availability Zones mit Kapazitätsreservierungen .