Utilizzalo Capacity Blocks per carichi di lavoro di machine learning - Amazon EC2 Auto Scaling

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzalo Capacity Blocks per carichi di lavoro di machine learning

Capacity Blocksti aiutano a prenotare GPU istanze molto richieste in date future per supportare i tuoi carichi di lavoro di machine learning (ML) di breve durata.

Per una panoramica Capacity Blocks e su come funzionano, consulta la sezione Capacity Blocksdedicata al machine learning nella Amazon EC2 User Guide.

Per iniziare a Capacity Blocks utilizzarla, crei una prenotazione di capacità in una zona di disponibilità specifica. Capacity Blocksvengono fornite come prenotazioni targeted di capacità in un'unica zona di disponibilità. Quando crei il modello di lancio, specifica l'ID di prenotazione e il tipo di istanza del Capacity Block. Quindi, aggiorna il tuo gruppo Auto Scaling per utilizzare il modello di avvio che hai creato e la zona di disponibilità del Capacity Block. Quando inizia la prenotazione Capacity Block, utilizza la scalabilità pianificata per avviare lo stesso numero di istanze della prenotazione Capacity Block.

Importante

Capacity Blockssono disponibili solo per determinati tipi di EC2 istanze Amazon e Regioni AWS. Per ulteriori informazioni, consulta la sezione Prerequisiti nella Amazon EC2 User Guide.

Linee guida operative

Di seguito sono illustrate le linee guida operative di base e le istanze che dovresti seguire durante l'utilizzo di un blocco delle capacità con un gruppo con dimensionamento automatico.

  • Ridimensiona il tuo gruppo con dimensionamento automatico fino a zero oltre 30 minuti prima dell'orario di fine della prenotazione del blocco delle capacità. Amazon EC2 interromperà tutte le istanze ancora in esecuzione 30 minuti prima della fine del Capacity Block.

  • Ti consigliamo di utilizzare la scalabilità pianificata per la scalabilità orizzontale (aggiungere istanze) e la scalabilità orizzontale (rimuovere le istanze) negli orari di prenotazione appropriati. Per ulteriori informazioni, consulta Scalabilità pianificata per Amazon EC2 Auto Scaling.

  • Se necessario, aggiungi gli hook del ciclo di vita per eseguire un arresto graduale dell'applicazione all'interno delle istanze durante il ridimensionamento. Lascia abbastanza tempo per il completamento dell'azione del ciclo di vita prima che Amazon EC2 inizi a chiudere forzatamente le tue istanze 30 minuti prima dell'orario di fine della prenotazione di Capacity Block. Per ulteriori informazioni, consulta Hook del ciclo di vita di Amazon EC2 Auto Scaling.

  • Assicurati che il gruppo con dimensionamento automatico punti alla versione corretta del modello di avvio per l'intera durata della prenotazione. Ti consigliamo di puntare a una versione specifica del modello di avvio anziché alla versione $Default o $Latest.

Nota

Se lasci un'istanza Capacity Block in esecuzione fino alla fine della prenotazione e Amazon la EC2 recupera, le attività di scalabilità per il tuo gruppo Auto Scaling dichiarano che si trattava di taken out of service in response to an EC2 health check that indicated it had been terminated or stopped "«, anche se è stata recuperata di proposito alla fine del Capacity Block. Allo stesso modo, Amazon EC2 Auto Scaling tenterà di sostituire l'istanza nello stesso modo in cui fa per qualsiasi istanza che non superi un controllo di integrità. Per ulteriori informazioni, consulta Controlli dell'integrità per le istanze in un gruppo con dimensionamento automatico.

Specifica un blocco di capacità nel modello di avvio

Per creare un modello di lancio destinato a un blocco di capacità specifico per il gruppo Auto Scaling, utilizzate uno dei seguenti metodi:

Console
Per specificare un blocco di capacità nel proprio modello di avvio (console)
  1. Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/.

  2. Nella barra di navigazione in alto, seleziona il Regione AWS punto in cui hai creato il tuo Capacity Block.

  3. Nel pannello di navigazione, in Istanze, scegli Modelli di avvio.

  4. Scegli Crea modello di lancio e crea il modello di lancio. Includi l'ID di Amazon Machine Image (AMI), il tipo di istanza e qualsiasi altra impostazione del modello di lancio, se necessario.

  5. Espandi la sezione Dettagli avanzati per visualizzare le impostazioni avanzate.

  6. Per l’opzione di acquisto, scegli blocchi di capacità.

  7. Per Prenotazione di capacità, scegli Target per ID, quindi per Prenotazione della capacità - Target per ID, scegli l'ID di prenotazione della capacità di un blocco di capacità esistente.

  8. Al termine, scegliere Crea modello di avvio.

    Per informazioni sulla creazione di un gruppo Auto Scaling con un modello di lancio, consulta. Creare un gruppo con dimensionamento automatico utilizzando un modello di avvio

AWS CLI
Per specificare un blocco di capacità nel modello di avvio (AWS CLI)

Usa il create-launch-templatecomando seguente per creare un modello di lancio che specifichi un ID di prenotazione Capacity Block esistente. Sostituisci ogni user input placeholder con le tue informazioni.

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
Suggerimento

Se questo comando genera un errore, assicurati di averlo aggiornato AWS CLI localmente alla versione più recente.

Contenuto di config.json.

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

Di seguito è riportato un output di esempio.

{ "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 } }

È possibile utilizzare il describe-launch-template-versionscomando seguente per verificare l'ID di prenotazione Capacity Block associato al modello di lancio.

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

Di seguito è riportato l'output di esempio per un modello di avvio che specifica una prenotazione di blocco di capacità.

{ "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" } } } } ] }

Limitazioni

  • Il supporto per Capacity Blocks è disponibile solo se il gruppo Auto Scaling ha una configurazione compatibile. I gruppi di istanze miste e i pool caldi non sono supportati.

  • È possibile scegliere come target un solo Capacity Block alla volta.

  • Per i prerequisiti e i consigli per l'utilizzo delle istanze P5, consulta la Guida introduttiva alle istanze P5 nella Amazon User Guide. EC2

  • Amazon EKS supporta l'utilizzo Capacity Blocks per supportare carichi di lavoro di machine learning (ML) di breve durata su EKS cluster Amazon. Per ulteriori informazioni, consulta Capacity Blocksla sezione ML nella Amazon EKS User Guide.

  • Puoi utilizzarlo Capacity Blocks con i tipi di istanza e le regioni supportati. Tuttavia, le prenotazioni di capacità su richiesta offrono la flessibilità necessaria per riservare la capacità per altri tipi di istanze e regioni. Per un tutorial che mostra come utilizzare l'opzione On-Demand Capacity Reservation, consulta. Riserva la capacità in zone di disponibilità specifiche con prenotazioni di capacità