Utilizza le strategie di allocazione per determinare in che modo EC2 Fleet o Spot Fleet soddisfa la capacità Spot e On-Demand - 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à.

Utilizza le strategie di allocazione per determinare in che modo EC2 Fleet o Spot Fleet soddisfa la capacità Spot e On-Demand

Quando utilizzi più pool di capacità (ciascuno composto da un tipo di istanza e una zona di disponibilità) in una EC2 flotta o in una flotta Spot, puoi utilizzare una strategia di allocazione per gestire il modo in cui Amazon EC2 soddisfa le tue capacità Spot e On-Demand da questi pool. Le strategie di allocazione possono ottimizzare la capacità disponibile, il prezzo e i tipi di istanze da utilizzare. Esistono diverse strategie di allocazione per le istanze spot e le istanze on demand.

Strategie di allocazione per istanze spot

La configurazione di avvio determina tutti i possibili pool di capacità spot (tipi di istanze e zone di disponibilità) da cui il EC2 parco istanze o il parco istanze spot possono avviare istanze spot. Tuttavia, al momento del lancio delle istanze, il parco istanze utilizza la strategia di allocazione specificata per scegliere i pool specifici da tutti i pool possibili.

Nota

(Solo istanze Linux) Se si configura un'istanza spot per l'avvio con AMDSEV- SNP attivato, viene addebitata una tariffa di utilizzo oraria aggiuntiva equivalente al 10% della tariffa oraria on demand per il tipo di istanza selezionato. Se la strategia di allocazione utilizza il prezzo come input, il parco istanze non include questa tariffa aggiuntiva; viene utilizzato solo il prezzo spot.

Puoi specificare una delle seguenti strategie di allocazione per le istanze spot:

Capacità di prezzo ottimizzata (consigliata)

Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine. La flotta richiede quindi istanze spot dal pool con il prezzo più basso tra questi pool.

La strategia di allocazione price capacity-optimized è la scelta migliore per la maggior parte dei carichi di lavoro spot, come applicazioni containerizzate stateless, microservizi, applicazioni Web, processi di dati e analisi ed elaborazione in batch.

Se utilizzi il AWS CLI, il nome del parametro è price-capacity-optimized Fleet e Spot Fleet. EC2 priceCapacityOptimized

Capacità ottimizzata

Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine. Facoltativamente, puoi impostare una priorità per ogni tipo di istanza del parco istanze, in modo che il parco istanze ottimizzi innanzitutto la capacità, ma rispetterà le priorità del tipo di istanza sulla base del miglior tentativo.

Con Istanze spot, i prezzi cambiano lentamente nel tempo in base ai trend a lungo termine dell'offerta e della domanda, ma la capacità fluttua in tempo reale. La strategia capacity-optimized avvia automaticamente Istanze spot nei pool più disponibili esaminando i dati di capacità in tempo reale e prevedendo quali sono le più disponibili. Questa strategia è ideale per carichi di lavoro che possono avere un costo più elevato di interruzione associato al riavvio del lavoro, ad esempio carichi di lavoro di integrazione continua (CI), rendering di immagini e media, deep learning e calcolo ad alte prestazioni (HPC), che possono avere un costo più elevato di interruzione associato al riavvio del lavoro. Offrendo la possibilità di ridurre il numero di interruzioni, la strategia capacity-optimized può ridurre il costo complessivo del carico di lavoro.

In alternativa, puoi utilizzare la strategia di allocazione di capacity-optimized con un parametro di priorità e quindi impostare l'ordine dei tipi di istanza dalla priorità più alta alla più bassa. Puoi impostare la stessa priorità per diversi tipi di istanza. Il parco istanze ottimizzerà innanzitutto la capacità, ma rispetterà le priorità del tipo di istanza sulla base del miglior tentativo (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità del parco istanze di fornire capacità ottimale). Questa è una buona opzione per i carichi di lavoro in cui è necessario ridurre al minimo la possibilità di interruzioni e la preferenza per determinati tipi di istanza è importante. Tieni presente che quando imposti la priorità per i tipi di istanza per la capacità spot, la stessa priorità viene applicata anche alle istanze on demand se la strategia di allocazione on demand è impostata su prioritized. Per la serie di istanze spot, l'utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di lancio.

Se utilizzi il AWS CLI, i nomi dei parametri sono capacity-optimized e capacity-optimized-prioritized for EC2 Fleet e capacityOptimized e capacityOptimizedPrioritized per Spot Fleet.

Diversificato

I Istanze spot sono distribuiti in tutti i pool di capacità spot. Se utilizzi il AWS CLI, il nome del parametro è sia diversified per EC2 Fleet che per Spot Fleet.

Prezzo più basso (non consigliato)
avvertimento

Non consigliamo la strategia di allocazione del prezzo più basso perché presenta il rischio di interruzione più elevato per le istanze Spot.

Le istanze spot provengono dal pool con il prezzo più basso che ha capacità disponibile. Quando si utilizza AWS CLI, questa è la strategia predefinita. Tuttavia, consigliamo di sostituire il valore predefinito specificando la strategia di allocazione price-capacity-optimized.

Con la strategia del prezzo più basso, se il pool con il prezzo più basso non ha capacità disponibile, le istanze spot provengono dal successivo pool con il prezzo più basso che ha capacità disponibile. Se un pool esaurisce la capacità prima di soddisfare la capacità desiderata, il parco istanze continuerà a soddisfare la tua richiesta attingendo dal successivo pool con il prezzo più basso. Per accertarti che la capacità desiderata sia soddisfatta, potresti ricevere istanze spot da vari pool.

Poiché questa strategia considera solo il prezzo dell'istanza e non la capacità disponibile, potrebbe comportare tassi di interruzione elevati.

La strategia di allocazione del prezzo più basso è disponibile solo quando si utilizza. AWS CLI Il nome del parametro è lowest-price per EC2 Fleet e lowestPrice per Spot Fleet.

Numero di pool da utilizzare

Il numero di pool Spot in cui allocare la capacità Spot di destinazione. Valido solo quando la strategia di allocazione è impostata su lowest-price. Il parco istanze seleziona i pool spot con il prezzo più basso e alloca in modo uniforme la capacità spot obiettivo tra i pool spot specificati.

Tieni presente che il parco istanze tenta di prelevare istanze spot dal numero di pool specificati sulla base del massimo sforzo. Se un pool esaurisce la capacità spot prima di soddisfare la capacità obiettivo, il parco istanze continuerà a soddisfare la tua richiesta attingendo dal successivo pool con il prezzo più basso. Per garantire che la capacità di destinazione sia soddisfatta, è possibile ricevere istanze spot da un numero di pool maggiore di quello specificato. Analogamente, se la maggior parte dei pool non dispone di capacità spot, è possibile ricevere la capacità di destinazione completa da un numero di pool inferiore a quello specificato.

Questo parametro è disponibile solo quando si specifica la strategia di allocazione del prezzo più basso e solo quando si utilizza la. AWS CLI Il nome del parametro è sia InstancePoolsToUseCount per EC2 Fleet che per Spot Fleet.

Strategie di allocazione per le istanze on demand

La configurazione di avvio determina tutti i possibili pool di capacità (tipi di istanze e zone di disponibilità) da cui il parco istanze EC2 Fleet o il parco istanze spot possono avviare istanze on demand. Tuttavia, al momento del lancio delle istanze, il parco istanze utilizza la strategia di allocazione specificata per scegliere i pool specifici da tutti i pool possibili.

Puoi specificare una delle seguenti strategie di allocazione per le istanze on demand:

Prezzo più basso

Le istanze on demand provengono dal pool con il prezzo più basso che ha capacità disponibile. Questa è la strategia predefinita.

Se il pool con il prezzo più basso non ha capacità disponibile, le istanze on demand provengono dal successivo pool con il prezzo più basso che ha capacità disponibile.

Se un pool esaurisce la capacità prima di soddisfare la capacità desiderata, il parco istanze continuerà a soddisfare la tua richiesta attingendo dal successivo pool con il prezzo più basso. Per accertarti che la capacità desiderata sia soddisfatta, potresti ricevere istanze on demand da vari pool.

Assegnazione di priorità

Il parco istanze utilizza la priorità che hai assegnato a ogni sostituzione del modello di avvio, avviando per prima i tipi di istanza in ordine di priorità più alta. Questa strategia non può essere utilizzata con la selezione del tipo di istanza basata su attributi. Per un esempio su come utilizzare questa strategia di allocazione, consultaDare priorità ai tipi di istanze per la capacità on demand.

Scelta della strategia di allocazione spot adeguata

Puoi ottimizzare il tuo parco istanze in base al tuo caso d'uso scegliendo la strategia di allocazione spot appropriata.

Equilibrio tra prezzo più basso e capacità disponibile

Per bilanciare i compromessi tra i pool di capacità spot con il prezzo più basso e i pool di capacità spot con la massima capacità disponibile, ti consigliamo di utilizzare la strategia di allocazione price capacity-optimized. Questa strategia decide a quali pool richiedere le istanze spot tenendo conto sia del prezzo dei pool sia della capacità di istanze spot disponibile in tali pool. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine, tenendo comunque conto del prezzo.

Se il tuo parco istanze esegue carichi di lavoro resilienti e stateless, tra cui applicazioni containerizzate, microservizi, applicazioni Web, processi di dati e analisi ed elaborazione in batch, utilizza la strategia di allocazione pricecapacity-optimized per risparmiare sui costi e disporre di una capacità ottimale.

Se il parco istanze esegue carichi di lavoro che possono avere un costo più elevato di interruzione associato al riavvio del lavoro, ti consigliamo implementare i checkpoint affinché le applicazioni possano riavviarsi da quel punto in caso di interruzione. Utilizzando i checkpoint, la strategia di allocazione price capacity-optimized è una buona scelta per questi carichi di lavoro perché alloca la capacità dai pool con il prezzo più basso che offrono anche una bassa frequenza di interruzione delle istanze spot.

Ad esempio, JSON le configurazioni che utilizzano la strategia di allocazione ottimizzata per la capacità di prezzo, consulta quanto segue:

Quando i carichi di lavoro hanno un costo di interruzione elevato

Facoltativamente, è possibile utilizzare la strategia capacity-optimized se si eseguono carichi di lavoro che utilizzano tipi di istanze con prezzi simili o in cui il costo dell'interruzione è così significativo che qualsiasi risparmio sui costi è inadeguato rispetto a un aumento marginale delle interruzioni. Questa strategia alloca la capacità dai pool di capacità spot con maggiore disponibilità che offrono una possibilità minore di interruzioni, il che può ridurre il costo complessivo del carico di lavoro.

Quando è necessario ridurre al minimo la possibilità di interruzione ma la preferenza per determinati tipi di istanza è importante, puoi esprimere le priorità dei pool utilizzando la strategia di allocazione prioritized e quindi impostare l'ordine dei tipi di istanza da utilizzare dalla priorità più alta alla più bassa.

Tieni presente che quando imposti le priorità per capacity-optimized-prioritized, le stesse priorità vengono applicate anche alle istanze on demand se la strategia di allocazione on demand è impostata su prioritized. Tieni inoltre presente che, per il parco istanze spot, l'utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di lancio.

Per esempio, JSON configurazioni che utilizzano la strategia di allocazione ottimizzata della capacità, consulta quanto segue:

Ad esempio, JSON configurazioni che utilizzano la strategia di allocazione prioritaria ottimizzata per la capacità, consulta quanto segue:

Quando il carico di lavoro è flessibile in termini di tempo e la capacità disponibile non è un fattore rilevante

Se il parco istanze è piccolo o viene eseguito per un breve periodo di tempo, puoi utilizzare la capacità di prezzo ottimizzata per massimizzare i risparmi sui costi pur tenendo conto della capacità disponibile.

Quando il parco istanze è grande o viene eseguito per un lungo periodo di tempo

Se il parco istanze è grande o funziona per un lungo periodo di tempo, puoi aumentare la disponibilità del parco istanze distribuendo la Istanze spot tra più pool utilizzando la strategia diversified. Ad esempio, se il parco istanze specifica 10 pool e una capacità obiettivo pari a 100 istanze, il parco istanze avvia 10 istanze spot in ogni pool. Se il prezzo Spot per un pool supera il prezzo massimo per tale pool, solo il 10% del parco istanze ne è interessato. L'utilizzo di questa strategia rende inoltre il parco istanze meno sensibile agli aumenti del prezzo Spot in ogni pool unico nel tempo. Con la strategia diversified, il parco istanze non avvia le Istanze Spot nei pool con un prezzo Spot uguale o maggiore del prezzo on demand.

Mantenimento della capacità di destinazione per le istanze spot

Dopo che le Istanze Spot sono terminate a causa di una modifica del prezzo di Spot o della capacità disponibile di un pool di capacità spot, un Parco istanze di tipo maintain avvia il Istanze Spot di sostituzione. La strategia di allocazione determina i pool da cui vengono avviate le istanze sostitutive, come segue:

  • Se la strategia di allocazione è prise-capacity-optimized, il parco istanze avvia le istanze sostitutive nei pool che hanno la massima capacità disponibile di istanze spot tenendo in considerazione e identificando anche i pool con il prezzo più basso con una capacità disponibile elevata.

  • Se la strategia di allocazione è capacity-optimized, il parco istanze avvia le istanze sostitutive nei pool che hanno la massima capacità disponibile di istanze spot.

  • Se la strategia di allocazione è diversified, il parco istanze distribuisce le Istanze spot sostitutive nei pool rimanenti.

Dare priorità ai tipi di istanze per la capacità on demand

Quando un EC2 Parco istanze o un Parco istanze spot cerca di soddisfare la capacità on demand, per impostazione predefinita avvia come primo tipo di istanza quello con il prezzo più basso. Se la strategia di allocazione on demand è impostata su prioritized, il parco istanze utilizza la priorità per stabilire quale tipo di istanza utilizzare per primo quando si soddisfa la capacità on demand. La priorità è assegnata alla sostituzione del modello di avvio e la priorità più alta viene lanciata per prima.

Esempio: assegnare priorità ai tipi di istanza

Ad esempio, hai configurato tre sostituzioni dei modelli di avvio, ognuna con un tipo di istanza diversa.

Il prezzo on demand per i tipi di istanze varia nel prezzo. Di seguito sono riportati i tipi di istanza utilizzati in questo esempio, elencati in ordine di prezzo, a partire dal tipo di istanza più economico:

  • m4.large: meno costosa

  • m5.large

  • m5a.large

Se non usi la priorità per stabilire l'ordine, il parco istanze utilizza la capacità on demand partendo dal tipo di istanza con il prezzo più basso.

Tuttavia, poniamo che tu non abbia utilizzato le istanze riservate m5.large che vuoi utilizzare per prime. È possibile impostare la priorità di sostituzione del modello di avvio in modo che i tipi di istanze vengano utilizzati nell'ordine di priorità, come segue:

  • m5.large: priorità 1

  • m4.large: priorità 2

  • m5a.large: priorità 3