View a markdown version of this page

Tutorial: configura la tua flotta EC2 per avviare le istanze in più tipi di prenotazione della capacità utilizzando un gruppo di risorse per la prenotazione della capacità - Amazon Elastic Compute Cloud

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

Tutorial: configura la tua flotta EC2 per avviare le istanze in più tipi di prenotazione della capacità utilizzando un gruppo di risorse per la prenotazione della capacità

Questo tutorial illustra i passaggi per configurare una flotta EC2 che avvia istanze su più tipi di prenotazione della capacità (ODCR), blocchi di On-Demand capacità per ML e prenotazioni di capacità interrompibili, utilizzando un unico gruppo di risorse per la prenotazione della capacità.

Scoprirai come creare un gruppo di risorse per la prenotazione della capacità che contenga diversi tipi di prenotazione della capacità, configurare la tua flotta EC2 per dare priorità ai tipi di prenotazione della capacità in un ordine specifico e, facoltativamente, ricorrere alla On-Demand capacità quando la capacità riservata è insufficiente per raggiungere il tuo obiettivo.

Considerazioni

  • Solo le richieste di tipo EC2 Fleet sono supportate durante l'utilizzoinstant. ReservedCapacityOptions

  • È necessario specificare esplicitamente quali tipi di prenotazione di capacità scegliere come target nell'ReservationTypeselenco. EC2 Fleet avvia le istanze solo nei tipi di prenotazione della capacità specificati.

  • ReservedCapacityOptionssi esclude a vicenda con. OnDemandOptions.CapacityReservationOptions Non puoi utilizzarli entrambi nella stessa richiesta EC2 Fleet.

Questo tutorial presuppone che tu abbia già le seguenti prenotazioni di capacità nel tuo account:

  • Un ODCR (cr-1234567890abcdef1) per p5.48xlarge us-east-1a

  • Un ODCR (cr-abcdef1234567890a) per in p4d.48xlarge us-east-1b

  • Un Capacity Block (cr-0123456789abcdef0) per in p5.48xlarge us-east-1a

  • Una Capacity Reservation (cr-9876543210fedcba9) interrompibile da p5.48xlarge utilizzare inus-east-1a, condivisa con te da un altro account della tua organizzazione

Verificare le autorizzazioni

Prima di creare una flotta EC2, verifica di disporre di un ruolo IAM con le autorizzazioni richieste. Per ulteriori informazioni, consulta Prerequisiti di parco istanze EC2.

Fase 1: Creare un gruppo di risorse per la prenotazione delle capacità

Crea un gruppo di risorse per la prenotazione della capacità per contenere le prenotazioni di capacità previste dalla tua flotta EC2. Configura il gruppo in modo che accetti le prenotazioni di capacità di qualsiasi tipo di istanza e il tipo di prenotazione della capacità, il che consente al gruppo di contenere una combinazione di tipi di prenotazione di capacità. Per istruzioni dettagliate, consulta Gruppi di prenotazione di capacità.

Nota

Quando si crea il gruppo, non specificare i reservation-type parametri instance-type o nella configurazione. AWS::EC2::CapacityReservationPool L'omissione di questi parametri consente al gruppo di accettare prenotazioni di capacità di qualsiasi tipo di istanza e tipo di prenotazione di capacità.

Passaggio 2: aggiungere le prenotazioni di capacità al gruppo

Aggiungi le tue prenotazioni di capacità al gruppo di risorse per le prenotazioni di capacità. È possibile aggiungere qualsiasi combinazione di ODCR, blocchi di capacità per ML, prenotazioni di capacità interrompibili e blocchi di capacità. UltraServer Per questo tutorial, aggiungi le quattro prenotazioni di capacità elencate all'inizio di questo tutorial. Per istruzioni dettagliate, consulta Gruppi di prenotazione della capacità.

Fase 3: creazione di un modello di avvio

Usa il comando create-launch-template per creare un modello di avvio destinato al Capacity Reservation Resource Group. Quando si utilizza ReservedCapacityOptions nella configurazione della flotta EC2, non è necessario impostare un valore MarketType nel modello di avvio: EC2 Fleet lo imposta automaticamente per ogni tipo di prenotazione di capacità.

aws ec2 create-launch-template \ --launch-template-name my-cr-resource-group-template \ --launch-template-data \ '{"ImageId": "ami-0123456789example", "CapacityReservationSpecification": {"CapacityReservationTarget": {"CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"} } }'

Fase 4: Creare una flotta EC2

Crea una flotta EC2 destinata a più tipi di prenotazione della capacità nel tuo gruppo di risorse per la prenotazione della capacità. La configurazione chiave èReservedCapacityOptions, che specifica quanto segue:

  • ReservationTypes— Un elenco ordinato di tipi di prenotazione di capacità da scegliere come target. EC2 Fleet utilizza i tipi in questo ordine. I valori validi sono on-demand-capacity-reservation, capacity-block e interruptible-capacity-reservation.

  • AllocationStrategy— Come viene assegnata la priorità ai tipi di istanza all'interno di ciascun tipo di prenotazione di capacità. Imposta in modo che prioritized segua l'ordine di sovrascrittura del tipo di istanza.

  • ReservedCapacityFallbackOptions— Impostato MarketTypes per ["on-demand"] avviare le On-Demand istanze quando la capacità riservata è insufficiente. Se non specifichi le opzioni di riserva, EC2 Fleet non ricorre a nessun altro tipo di mercato una volta esauriti i tipi di prenotazione di capacità specificati.

Crea un archivio denominato config.json con i seguenti contenuti. Nell'esempio seguente sostituire gli identificatori di risorsa con i propri identificatori di risorsa.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-cr-resource-group-template", "Version": "1" }, "Overrides": [ { "InstanceType": "p5.48xlarge", "AvailabilityZone": "us-east-1a", "Priority": 1 }, { "InstanceType": "p4d.48xlarge", "AvailabilityZone": "us-east-1b", "Priority": 2 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 100, "DefaultTargetCapacityType": "reserved-capacity" }, "ReservedCapacityOptions": { "ReservationTypes": ["on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation"], "ReservedCapacityFallbackOptions": { "MarketTypes": ["on-demand"] }, "AllocationStrategy": "prioritized" }, "Type": "instant" }

Usa il comando create-fleet per lanciare la flotta:

aws ec2 create-fleet --cli-input-json file://config.json

Per ulteriori informazioni, consulta Creazione di un parco istanze EC2.

In che modo EC2 Fleet risolve le prenotazioni di capacità

In base alla configurazione precedente, EC2 Fleet tenta di avviare le istanze nel seguente ordine:

  1. ODCR: prima p5.48xlarge le prenotazioni (il tipo di istanza con la priorità più alta) e poi le prenotazioni. p4d.48xlarge All'interno di ogni tipo di istanza, se esistono più ODCR, ne viene selezionato uno a caso.

  2. Blocchi di capacità: se non rimane capacità disponibile in tutti gli ODCR, EC2 Fleet si rivolge ai blocchi di capacità. p5.48xlargeprima le prenotazioni e poi p4d.48xlarge selezionate a caso all'interno di ogni tipo di istanza.

  3. Prenotazioni di capacità interrompibile: se non rimane capacità disponibile in tutti i blocchi di capacità, EC2 Fleet punta alle prenotazioni di capacità interrompibili. p5.48xlargeprima le prenotazioni e poip4d.48xlarge, selezionate a caso all'interno di ciascun tipo di istanza.

  4. On-Demand fallback: se la capacità riservata non è sufficiente per raggiungere l'obiettivo di 100 istanze, la capacità rimanente viene avviata come On-Demand istanze. EC2 Fleet avvia queste On-Demand istanze in base alla strategia di allocazione specificata in. OnDemandOptions

Nota

EC2 Fleet risolve prima il tipo di prenotazione della capacità e poi il tipo di istanza all'interno di ciascun tipo di prenotazione della capacità. Ogni tipo di prenotazione della capacità è completamente esaurito prima che EC2 Fleet passi al tipo successivo nell'elenco ordinato.

(Facoltativo) Fase 5: verifica delle proprietà dell'istanza

Utilizzate il comando describe-instances per verificare quale tipo di prenotazione della capacità è stato utilizzato da ciascuna istanza. Le istanze lanciate dal parco macchine mostrano le seguenti proprietà.

Proprietà On-Demand Valore della prenotazione della capacità Valore del blocco di capacità Valore di prenotazione della capacità interrompibile On-Demand valore
instance-lifecycle null capacity-block interruptible-capacity-reservation null
capacity-reservation-id ID di prenotazione della capacità consumato ID di prenotazione della capacità consumato ID di prenotazione della capacità consumato Non presente
capacity-reservation-specification ARN del gruppo Gruppo ARN Gruppo ARN Non presente

È possibile filtrare le istanze per Capacity Reservation Resource Group utilizzando il seguente comando:

aws ec2 describe-instances \ --filters "Name=capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn,Values=arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-resource-group"

Eliminazione

Per evitare di incorrere in addebiti, chiudi le istanze quando non sono più necessarie. Tieni presente che le istanze avviate in Capacity Block vengono terminate automaticamente al termine della prenotazione del Capacity Block. Le istanze avviate nelle prenotazioni di capacità interrompibili vengono automaticamente terminate se il proprietario della capacità recupera la capacità.