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 soddisfano Spot e la capacità On-Demand
Quando utilizzi più pool di capacità (ciascuno composto da un tipo di istanza e una zona di disponibilità) in una flotta EC2 o in una flotta Spot, puoi utilizzare una strategia di allocazione per gestire il modo in cui Amazon EC2 soddisfa il tuo Spot e On-Demand le capacità di questi pool. Le strategie di allocazione possono ottimizzare la capacità disponibile, il prezzo e i tipi di istanza da utilizzare. Esistono diverse strategie di allocazione per le istanze e le istanze Spot. On-Demand
Argomenti
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 parco istanze EC2 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 configuri l'istanza Spot per l'avvio con AMD SEV-SNP attivato, ti verrà addebitata una tariffa oraria aggiuntiva di utilizzo equivalente al 10% della tariffa On-Demand oraria
Puoi specificare una delle seguenti strategie di allocazione per le istanze Spot:
- Ottimizzazione per prezzo e capacità (consigliato)
-
Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò significa che le istanze Spot vengono richieste dai pool che hanno maggiori probabilità di avere le minori possibilità di interruzione nel breve termine. Dopodiché, il parco istanze richiede istanze spot dal pool con il prezzo più basso tra questi pool.
La strategia di allocazione con ottimizzazione per prezzo e capacità è 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 stai utilizzando il AWS CLI, il nome del parametro è
price-capacity-optimizedper EC2 Fleet epriceCapacityOptimizedper Spot Fleet. - Ottimizzazione per capacità
-
Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò significa che le istanze Spot vengono richieste dai pool che hanno maggiori probabilità di avere le minori possibilità di interruzione nel breve termine.
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 con ottimizzazione per capacità 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 con ottimizzazione per capacità può ridurre il costo complessivo del carico di lavoro.
In alternativa, puoi utilizzare la strategia di allocazione con priorità di ottimizzazione per capacità 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 istanze. 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 istanze per la tua capacità Spot, la stessa priorità viene applicata anche alle On-Demand istanze se la strategia di On-Demand allocazione è impostata su prioritaria. Per il parco istanze spot, l’utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di avvio.
Se utilizzi il AWS CLI, i nomi dei parametri sono
capacity-optimizedecapacity-optimized-prioritizedper EC2 Fleet e and per Spot Fleet.capacityOptimizedcapacityOptimizedPrioritized - Diversificata
-
I Istanze spot sono distribuiti in tutti i pool di capacità spot. Se stai usando il AWS CLI, il nome del parametro è sia
diversifiedper EC2 Fleet che per Spot Fleet. - Prezzo più basso (non consigliato)
-
avvertimento
Non consigliamo la strategia di allocazione con prezzo più basso perché presenta il rischio di interruzione più elevato per le tue istanze spot.
Le istanze spot provengono dal pool con il prezzo più basso che ha capacità disponibile. Quando si utilizza il AWS CLI, questa è la strategia predefinita. Tuttavia, consigliamo di sostituire il valore predefinito specificando la strategia di allocazione con ottimizzazione per prezzo e capacità.
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 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 la AWS CLI. Il nome del parametro è
lowest-priceper il parco istanze EC2 elowestPriceper il parco istanze spot. - 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 sul prezzo più basso. 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 prova a 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 al pool con il prezzo più basso successivo. 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 è
InstancePoolsToUseCountsia per il parco istanze EC2 sia per il parco istanze spot.
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 EC2 Fleet o Spot Fleet possono avviare le 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.
È possibile specificare una delle seguenti strategie di allocazione per le istanze: On-Demand
- Prezzo più basso
-
Le On-Demand istanze provengono dal pool con il prezzo più basso con capacità disponibile. Questa è la strategia predefinita.
Se il pool con il prezzo più basso non dispone di capacità disponibile, le On-Demand istanze provengono dal successivo pool con il prezzo più basso con capacità disponibile.
Se un pool esaurisce la capacità prima di soddisfare la capacità desiderata, il parco istanze continuerà a soddisfare la richiesta attingendo dal successivo pool con il prezzo più basso. Per garantire che la capacità desiderata sia soddisfatta, potresti ricevere On-Demand istanze da diversi pool.
- Prioritaria
-
Il parco istanze utilizza la priorità che hai assegnato a ogni sostituzione del modello di avvio, avviando tipi di istanza prima nell’ordine per la priorità più alta. Questa strategia non può essere utilizzata con la selezione del tipo di istanza basata su attributi. Per un esempio di come utilizzare questa strategia di allocazione, consulta Dai priorità ai tipi di istanze in termini di 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 con ottimizzazione per prezzo e capacità. 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ò significa che le istanze Spot vengono richieste dai pool con maggiori probabilità 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 con ottimizzazione per prezzo e capacità 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 con ottimizzazione per prezzo e capacità è 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.
Per configurazioni JSON di esempio che utilizzano la strategia di allocazione con ottimizzazione per prezzo e capacità, consulta quanto segue:
-
Parco istanze EC2 – Esempio 10: avvio di istanze spot in un parco istanze ottimizzato per prezzo e capacità
-
Parco istanze spot – Esempio 11: avvio di istanze Spot in un prezzo CapacityOptimized parco istanze
Quando i carichi di lavoro hanno un costo di interruzione elevato
Facoltativamente, è possibile utilizzare la strategia con ottimizzazione per capacità 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 con priorità ottimizzata per capacità e quindi impostare l’ordine dei tipi di istanza da utilizzare dalla priorità più alta alla più bassa.
Tieni presente che quando stabilisci le priorità per l'ottimizzazione della capacità, le stesse priorità vengono applicate anche alle On-Demand istanze se la strategia di On-Demand allocazione è impostata su priorità. Inoltre, per il parco istanze spot, l’utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di avvio.
Per configurazioni JSON di esempio che utilizzano la strategia di allocazione con ottimizzazione per capacità, consulta quanto segue:
-
Parco istanze EC2 – Esempio 8: Avviare le istanze spot in un parco istanze ottimizzato per la capacità
-
Parco istanze spot – Esempio 9: Avvia le istanze spot in un parco istanze ottimizzato per la capacità
Per configurazioni JSON di esempio che utilizzano la strategia di allocazione con priorità ottimizzata per 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 strategia con ottimizzazione per prezzo e capacità 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 diversificata. Ad esempio, se il parco istanze specifica 10 pool e una capacità target 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 diversificata, il parco istanze Spot non inserisce le istanze Spot in nessun pool con un prezzo Spot uguale o superiore al prezzo. On-Demand
Mantenimento della capacità target 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 è ottimizzata per prezzo e capacità, 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 è ottimizzata per capacità, il parco istanze avvia le istanze sostitutive nei pool che hanno la massima capacità disponibile di istanze spot.
-
Se la strategia di allocazione è diversificata, il parco istanze distribuisce le Istanze spot sostitutive nei pool rimanenti.
Dai priorità ai tipi di istanze in termini di capacità On-Demand
Quando una flotta EC2 o una flotta Spot tenta di soddisfare la tua On-Demand capacità, per impostazione predefinita avvia prima il tipo di istanza con il prezzo più basso. Se la strategia di On-Demand allocazione è impostata su una priorità, la flotta utilizza la priorità per determinare quale tipo di istanza utilizzare per primo per soddisfare 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 On-Demand prezzo per i tipi di istanza varia. 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 si utilizza la priorità per determinare l'ordine, il parco istanze soddisfa la On-Demand capacità partendo dal tipo di istanza meno costoso.
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