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à.
Configura una EC2 flotta di tipo «istantaneo»
La EC2 Fleet of type instant è una richiesta sincrona unica che effettua un solo tentativo di avviare la capacità desiderata. La API risposta elenca le istanze avviate, insieme agli errori per quelle che non è stato possibile avviare. L'utilizzo di un EC2 Fleet di tipo instant offre diversi vantaggi, descritti in questo articolo. Le configurazioni di esempio sono fornite alla fine dell'articolo.
Per i carichi di lavoro che richiedono un solo avvio API per avviare EC2 le istanze, puoi utilizzare il. RunInstances API Tuttavia, con RunInstances, puoi avviare solo istanze on demand o istanze Spot, ma non entrambe nella stessa richiesta. Inoltre, quando si utilizzano istanze Spot RunInstances per avviare istanze Spot, la richiesta di istanza Spot è limitata a un tipo di istanza e a una zona di disponibilità. L'istanza ha come obiettivo un pool di capacità spot (un insieme di istanze inutilizzate con lo stesso tipo di istanza e zona di disponibilità). Se il pool di capacità Spot non dispone di una capacità di istanze Spot sufficiente per la richiesta, la RunInstances chiamata ha esito negativo.
Invece di RunInstances utilizzarla per avviare le istanze Spot, ti consigliamo di utilizzarla CreateFleet API con il type
parametro impostato su instant
per ottenere i seguenti vantaggi:
-
Avvia le istanze on demand e le istanze spot in una richiesta. Un EC2 parco istanze può avviare istanze On-Demand, istanze Spot o entrambe. La richiesta di Istanze spot viene soddisfatta se c'è capacità disponibile e il prezzo massimo all'ora specificato nella richiesta supera il prezzo Spot.
-
Aumenta la disponibilità di istanze spot. Utilizzando un EC2 parco istanze di tipo diverso
instant
, puoi avviare le istanze Spot seguendo le best practice di Spot con i vantaggi che ne derivano:-
Best practice di istanze spot: essere flessibili riguardo tipi di istanza e zone di disponibilità.
Vantaggio: specificando diversi tipi di istanza e zone di disponibilità, aumenti il numero di pool di capacità spot. Ciò offre al servizio Spot maggiori possibilità di trovare e allocare la capacità di calcolo Spot desiderata. Una buona regola empirica è quella di essere flessibili su almeno 10 tipi di istanze per ogni carico di lavoro e assicurarsi che tutte le zone di disponibilità siano configurate per l'uso nel tuo. VPC
-
Le best practice di Spot: utilizza la strategia di price-capacity-optimized allocazione.
Vantaggio: la strategia di
price-capacity-optimized
allocazione identifica le istanze dai pool di capacità Spot più disponibili e quindi effettua automaticamente il provisioning delle istanze dai prezzi più bassi di questi pool. Poiché la capacità delle tue istanze Spot proviene da pool con capacità ottimale, ciò riduce la possibilità che le tue istanze Spot vengano interrotte quando Amazon avrà EC2 bisogno di recuperare la capacità.
-
-
Accedi a un set più ampio di funzionalità. Per i carichi di lavoro che richiedono solo il lancio API e in cui preferisci gestire il ciclo di vita dell'istanza anziché lasciare che Fleet lo gestisca per te, utilizza il EC2 tipo Fleet of Type anziché il. EC2
instant
RunInstancesAPI EC2Fleet offre un set di funzionalità più ampio rispetto a RunInstances, come dimostrato negli esempi seguenti. Per tutti gli altri carichi di lavoro, dovresti usare Amazon EC2 Auto Scaling perché fornisce un set di funzionalità più completo per un'ampia varietà di carichi di lavoro, ELB come applicazioni supportate, carichi di lavoro containerizzati e processi di elaborazione delle code.
Puoi usare EC2 Fleet of type instant per avviare istanze in Capacity Blocks. Per ulteriori informazioni, consulta Tutorial: configura la tua EC2 flotta per avviare le istanze in Capacity Blocks.
AWS servizi come Amazon EC2 Auto Scaling e Amazon EMR utilizzano EC2 Fleet of type instant per avviare EC2 le istanze.
Prerequisiti per EC2 Fleet of type instant
Per i prerequisiti per la creazione di una EC2 flotta, vedi. EC2Prerequisiti della flotta
Come funziona Instant EC2 Fleet
Quando si lavora con un tipo EC2 Fleetinstant
, la sequenza degli eventi è la seguente:
-
Configura il tipo di CreateFleetrichiesta come
instant
. Per ulteriori informazioni, consulta Crea una EC2 flotta. Tieni presente che dopo aver effettuato la API chiamata, non puoi modificarla. -
Quando effettui la API chiamata, EC2 Fleet invia una richiesta sincrona una tantum per la capacità desiderata.
-
La API risposta elenca le istanze avviate, insieme agli errori per quelle che non è stato possibile avviare.
-
Puoi descrivere la tua EC2 flotta, elencare le istanze associate alla tua EC2 flotta e visualizzare la cronologia della tua flotta. EC2
-
Dopo il lancio delle istanze, puoi eliminare la richiesta del parco istanze. Quando elimini la richiesta del parco istanze, puoi scegliere di terminare le istanze associate o di lasciarle in esecuzione.
-
È possibile terminare le istanze in qualsiasi momento.
Esempi
Gli esempi seguenti mostrano come utilizzare EC2 Fleet of type instant
per diversi casi d'uso. Per ulteriori informazioni sull'utilizzo dei EC2 CreateFleet API parametri, CreateFleetconsulta Amazon EC2 API Reference.
Esempi
- Esempio 1: Avvio di istanze spot con la strategia di allocazione ottimizzata per la capacità
- Esempio 2: Avvio di una singola istanza spot con la strategia di allocazione ottimizzata per la capacità
- Esempio 3: Avvio di istanze spot utilizzando la ponderazione di istanza
- Esempio 4: Avvio di istanze spot in una singola zona di disponibilità
- Esempio 5: Avvio di istanze spot di un singolo tipo in una singola zona di disponibilità
- Esempio 6: Avvio di istanze spot solo se è possibile avviare una capacità target minima
- Esempio 7: Avvio di istanze spot solo se è possibile avviare una capacità target minima dello stesso tipo di istanza in una singola zona di disponibilità
- Esempio 8: Avvio di istanze con più modelli di avvio
- Esempio 9: Avvio di istanze spot con una base di istanze on demand
- Esempio 10: Avvio di istanze spot utilizzando una strategia di allocazione ottimizzata per la capacità con una base di istanze on demand che utilizza prenotazioni di capacità e la strategia di allocazione con priorità
- Esempio 11: avvia le istanze Spot utilizzando capacity-optimized-prioritized la strategia di allocazione
- Esempio 12: specificare un parametro Systems Manager anziché un AMI ID
Esempio 1: Avvio di istanze spot con la strategia di allocazione ottimizzata per la capacità
L'esempio seguente specifica i parametri richiesti in una EC2 flotta di tipoinstant
: un modello di lancio, la capacità target, l'opzione di acquisto predefinita e le sostituzioni del modello di lancio.
-
Il modello di avvio viene identificato dal nome e dal numero di versione.
-
Le 12 sostituzioni del modello di avvio specificano 4 tipi di istanza e 3 sottoreti differenti, ognuna in una zona di disponibilità separata. Ogni combinazione di tipo di istanza e sottorete definisce un pool di capacità spot, restituendo 12 pool di capacità spot.
-
La capacità obiettivo per il parco istanze è 20 istanze.
-
L'opzione di acquisto predefinita è
spot
; con questa opzione, il parco istanze tenta di avviare 20 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 2: Avvio di una singola istanza spot con la strategia di allocazione ottimizzata per la capacità
Puoi avviare in modo ottimale un'istanza Spot alla volta effettuando più API chiamate di tipo EC2 Fleetinstant
, impostando il valore su 1. TotalTargetCapacity
L'esempio seguente specifica i parametri richiesti in un EC2 Fleet di tipo istantaneo: un modello di lancio, la capacità target, l'opzione di acquisto predefinita e le sostituzioni del modello di lancio. Il modello di avvio viene identificato dal nome e dal numero di versione. Le 12 sostituzioni del modello di avvio hanno 4 tipi di istanza e 3 sottoreti differenti, ognuna in una zona di disponibilità separata. La capacità obiettivo per il parco istanze è 1 istanza e l'opzione di acquisto predefinita è Spot, il che comporta il tentativo di avviare un'istanza spot da uno dei 12 pool di capacità spot basati sulla strategia di allocazione ottimizzata per la capacità, per avviare un'istanza spot dal pool di capacità più disponibile.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 1, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 3: Avvio di istanze spot utilizzando la ponderazione di istanza
Gli esempi seguenti utilizzano la ponderazione d'istanza; questo significa che il prezzo è calcolato a ora per unità anziché a ora per istanza. Ogni configurazione di avvio elenca un tipo di istanza diverso e un peso diverso in base a quante unità di carico di lavoro possono essere eseguite sull'istanza, supponendo che un'unità di carico di lavoro richieda 15 GB di memoria e 4. vCPUs Ad esempio, un m5.xlarge (4 vCPUs e 16 GB di memoria) può eseguire un'unità e ha un peso di 1, un m5.2xlarge (8 vCPUs e 32 GB di memoria) può eseguire 2 unità e ha un peso di 2, e così via. La capacità obiettivo totale è impostata su 40 unità. L'opzione di acquisto predefinita è spot e la strategia di allocazione è ottimizzata per la capacità, il che si traduce in 40 m5.xlarge (40 diviso per 1), 20 m5.2xlarge (40 diviso per 2), 10 m5.4xlarge (40 diviso per 4), 5 m5.8xlarge (40 diviso per 8) o un mix dei tipi di istanza con pesi che si sommano alla capacità desiderata sulla base della strategia di allocazione ottimizzata per la capacità.
Per ulteriori informazioni, consulta Utilizza la ponderazione delle istanze per gestire i costi e le prestazioni della tua flotta o della tua flotta Spot EC2.
{ "SpotOptions":{ "AllocationStrategy":"capacity-optimized" }, "LaunchTemplateConfigs":[ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"m5.xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":1 }, { "InstanceType":"m5.xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":1 }, { "InstanceType":"m5.xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":1 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":2 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":2 }, { "InstanceType":"m5.2xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":2 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":4 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":4 }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":4 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":8 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":8 }, { "InstanceType":"m5.8xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":8 } ] } ], "TargetCapacitySpecification":{ "TotalTargetCapacity":40, "DefaultTargetCapacityType":"spot" }, "Type":"instant" }
Esempio 4: Avvio di istanze spot in una singola zona di disponibilità
Puoi configurare un parco istanze per avviare tutte le istanze in un'unica zona di disponibilità impostando le opzioni Spot su true. SingleAvailabilityZone
Le 12 sostituzioni del modello di avvio hanno tipi di istanza e sottoreti differenti, ognuna in una zona di disponibilità separata ma con la stessa capacità ponderata. La capacità obiettivo totale è di 20 istanze, l'opzione d'acquisto predefinita è spot e la strategia di allocazione spot è ottimizzata per la capacità. The EC2 Fleet lancia 20 istanze Spot tutte in un'unica zona, dal pool o dai pool di capacità Spot con capacità ottimale utilizzando le specifiche di lancio.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleAvailabilityZone": true }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 5: Avvio di istanze spot di un singolo tipo in una singola zona di disponibilità
Puoi configurare un parco istanze per avviare tutte le istanze dello stesso tipo e in un'unica zona di disponibilità impostando true e SpotOptions SingleInstanceType SingleAvailabilityZone to true.
Le 12 sostituzioni del modello di avvio hanno tipi di istanza e sottoreti differenti, ognuna in una zona di disponibilità separata ma con la stessa capacità ponderata. La capacità obiettivo totale è di 20 istanze, l'opzione d'acquisto predefinita è spot, la strategia di allocazione spot è ottimizzata per la capacità. The EC2 Fleet lancia 20 istanze Spot dello stesso tipo, tutte in un'unica AZ dal pool di istanze Spot, con una capacità ottimale utilizzando le specifiche di lancio.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleInstanceType": true, "SingleAvailabilityZone": true }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 6: Avvio di istanze spot solo se è possibile avviare una capacità target minima
Puoi configurare un parco istanze per lanciare istanze solo se è possibile avviare la capacità target minima impostando le opzioni Spot sulla MinTargetCapacity capacità target minima che desideri avviare insieme.
Le 12 sostituzioni del modello di avvio hanno tipi di istanza e sottoreti differenti, ognuna in una zona di disponibilità separata ma con la stessa capacità ponderata. La capacità obiettivo totale e la capacità obiettivo minima sono entrambe impostate su 20 istanze, l'opzione di acquisto predefinita è spot e la strategia di allocazione spot è ottimizzata per la capacità. The EC2 Fleet lancia 20 istanze Spot dal pool di capacità Spot con capacità ottimale utilizzando le sostituzioni del modello di lancio, solo se è in grado di avviare tutte e 20 le istanze contemporaneamente.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "MinTargetCapacity": 20 }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 7: Avvio di istanze spot solo se è possibile avviare una capacità target minima dello stesso tipo di istanza in una singola zona di disponibilità
Puoi configurare un parco istanze per lanciare istanze solo se la capacità target minima può essere avviata con un singolo tipo di istanza in un'unica zona di disponibilità impostando le opzioni Spot sulla capacità target minima che desideri avviare insieme MinTargetCapacity alle opzioni e alle opzioni. SingleInstanceType SingleAvailabilityZone
Le 12 specifiche di avvio che sostituiscono il modello di avvio hanno tipi di istanza e subnet differenti, ognuna in una zona di disponibilità separata ma con la stessa capacità ponderata. La capacità target totale e la capacità target minima sono entrambe impostate su 20 istanze, l'opzione di acquisto predefinita è spot, la strategia di allocazione Spot è ottimizzata in termini di capacità, questo è vero ed è vero. SingleInstanceType SingleAvailabilityZone The EC2 Fleet lancia 20 istanze Spot dello stesso tipo di istanza tutte in un'unica AZ dal pool di capacità Spot con una capacità ottimale utilizzando le specifiche di lancio, solo se è in grado di avviare tutte e 20 le istanze contemporaneamente.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", "SingleInstanceType": true, "SingleAvailabilityZone": true, "MinTargetCapacity": 20 }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.4xlarge", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.4xlarge", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 8: Avvio di istanze con più modelli di avvio
Puoi configurare un parco istanze per avviare istanze con specifiche di avvio diverse per tipi di istanza o gruppi di tipi di istanza diversi, specificando più modelli di avvio. In questo esempio vogliamo avere dimensioni di EBS volume diverse per diversi tipi di istanze e le abbiamo configurate nei modelli di lancio ec2-fleet-lt-4xl, ec2-fleet-lt-9xl e ec2-fleet-lt-18xl.
In questo esempio, stiamo utilizzando 3 diversi modelli di avvio per i 3 tipi di istanza, in base alle loro dimensioni. La specifica di lancio ha la precedenza su tutti i modelli di avvio e utilizza i pesi delle istanze in base al tipo di istanza. vCPUs La capacità obiettivo totale è di 144 unità, l'opzione d'acquisto predefinita è spot e la strategia di allocazione spot è ottimizzata per la capacità. La EC2 flotta può lanciare 9 c5n.4xlarge (144 diviso per 16) utilizzando il modello di lancio ec2-fleet-4xl o 4 c5n.9xlarge (144 diviso per 36) utilizzando il modello di lancio ec2-fleet-9xl, o 2 c5n.18xlarge (144 diviso per 72) utilizzando il modello di lancio ec2-fleet-18xl, oppure una combinazione dei tipi di istanza con pesi che si sommano alla capacità desiderata in base alla capacità desiderata sulla strategia di allocazione ottimizzata in termini di capacità.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-18xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":72 }, { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":72 }, { "InstanceType":"c5n.18xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":72 } ] }, { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-9xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":36 }, { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":36 }, { "InstanceType":"c5n.9xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":36 } ] }, { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt-4xl", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-fae8c380", "WeightedCapacity":16 }, { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-e7188bab", "WeightedCapacity":16 }, { "InstanceType":"c5n.4xlarge", "SubnetId":"subnet-49e41922", "WeightedCapacity":16 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 144, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 9: Avvio di istanze spot con una base di istanze on demand
L'esempio seguente specifica la capacità target totale di 20 istanze per il parco istanze e una capacità target di 5 istanze on demand. L'opzione di acquisto predefinita è spot. Il parco istanze avvia 5 istanze on demand come indicato, ma deve avviare altre 15 istanze per soddisfare la capacità target totale. L'opzione di acquisto per la differenza è calcolata come TotalTargetCapacity — OnDemandTargetCapacity = DefaultTargetCapacityType, il che significa che il parco istanze Spot lancia 15 istanze Spot da uno dei 12 pool di capacità Spot in base alla strategia di allocazione ottimizzata per la capacità.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab" }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "OnDemandTargetCapacity": 5, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 10: Avvio di istanze spot utilizzando una strategia di allocazione ottimizzata per la capacità con una base di istanze on demand che utilizza prenotazioni di capacità e la strategia di allocazione con priorità
È possibile configurare una flotta in modo che utilizzi innanzitutto le prenotazioni di capacità on demand al momento del lancio di una base di istanze on demand con il tipo di capacità target predefinito come spot impostando la strategia di utilizzo per Capacity Reservations su. use-capacity-reservations-first E se più pool di istanze presentano prenotazioni di capacità inutilizzate, viene applicata la strategia di allocazione on demand scelta. In questo esempio, la strategia di allocazione on demand ha la priorità.
In questo esempio, ci sono 6 prenotazioni della capacità disponibili non utilizzate. Questa capacità è inferiore alla capacità target on demand del parco istanze di 10 istanze on demand.
L'account presenta le seguenti 6 prenotazioni della capacità inutilizzate in 2 pool. Il numero di prenotazioni di capacità in ogni pool è indicato da. AvailableInstanceCount
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" }
La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La strategia di allocazione On-Demand ha la priorità, mentre la strategia di utilizzo per Capacity Reservations è. use-capacity-reservations-first La strategia di allocazione spot è ottimizzata per la capacità. La capacità obiettivo totale è 20, la capacità obiettivo on demand è 10 e il tipo di capacità obiettivo predefinito è spot.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized" }, "OnDemandOptions":{ "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" }, "AllocationStrategy":"prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab", "Priority": 2.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922", "Priority": 3.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380", "Priority": 4.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab", "Priority": 5.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922", "Priority": 6.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380", "Priority": 7.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab", "Priority": 8.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922", "Priority": 9.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380", "Priority": 10.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab", "Priority": 11.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922", "Priority": 12.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "OnDemandTargetCapacity": 10, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Dopo aver creato il parco istanze istantaneo utilizzando la configurazione precedente, le seguenti 20 istanze vengono avviate per soddisfare la capacità target:
-
7 istanze on demand c5.large in us-east-1a: le istanze c5.large in us-east-1a hanno la massima priorità e sono disponibili 3 prenotazioni della capacità c5.large inutilizzate. Le prenotazioni della capacità vengono utilizzate innanzitutto per avviare 3 istanze on demand più 4 ulteriori istanza on demand che vengono avviate secondo la strategia di allocazione on demand, che in questo esempio ha la priorità.
-
3 istanze on demand m5.large in us-east-1a: m5.large in us-east-1a ha la seconda priorità e ci sono 3 prenotazioni di capacità c3.large inutilizzate disponibili.
-
10 istanze spot da uno dei 12 pool di capacità spot con capacità ottimale in base alla strategia di allocazione ottimizzata per la capacità.
Dopo il lancio della flotta, puoi correre describe-capacity-reservationsper vedere quante prenotazioni di capacità non utilizzate sono rimaste. In questo esempio, dovresti vedere la seguente risposta, che mostra che sono state utilizzate tutte le prenotazioni della capacità c5.large e m5.large.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c5.large", "AvailableInstanceCount": 0 }
Esempio 11: avvia le istanze Spot utilizzando capacity-optimized-prioritized la strategia di allocazione
L'esempio seguente specifica i parametri richiesti in un EC2 Fleet of type Instant: un modello di lancio, la capacità target, l'opzione di acquisto predefinita e le sostituzioni del modello di lancio. Il modello di avvio viene identificato dal nome e dal numero di versione. Le 12 specifiche di avvio che sostituiscono il modello di avvio hanno 4 tipi di istanza diversi con una priorità assegnata e 3 sottoreti diverse, ognuna in una zona di disponibilità separata. La capacità target per il parco istanze è di 20 istanze e l'opzione di acquisto predefinita è spot, il che comporta il tentativo da parte del parco istanze di lanciare 20 istanze Spot da uno dei 12 pool di capacità Spot in base alla strategia di capacity-optimized-prioritized allocazione, che implementa le priorità con il massimo impegno, ma ottimizza innanzitutto la capacità.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized-prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification":{ "LaunchTemplateName":"ec2-fleet-lt1", "Version":"$Latest" }, "Overrides":[ { "InstanceType":"c5.large", "SubnetId":"subnet-fae8c380", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-e7188bab", "Priority": 1.0 }, { "InstanceType":"c5.large", "SubnetId":"subnet-49e41922", "Priority": 1.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-fae8c380", "Priority": 2.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-e7188bab", "Priority": 2.0 }, { "InstanceType":"c5d.large", "SubnetId":"subnet-49e41922", "Priority": 2.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-fae8c380", "Priority": 3.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-e7188bab", "Priority": 3.0 }, { "InstanceType":"m5.large", "SubnetId":"subnet-49e41922", "Priority": 3.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-fae8c380", "Priority": 4.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-e7188bab", "Priority": 4.0 }, { "InstanceType":"m5d.large", "SubnetId":"subnet-49e41922", "Priority": 4.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 12: specificare un parametro Systems Manager anziché un AMI ID
L'esempio seguente utilizza un modello di avvio per specificare la configurazione per le istanze del parco istanze. In questo esempio, infattiImageId
, anziché specificare un AMI ID, AMI viene fatto riferimento a un parametro di System Manager. All'avvio dell'istanza, il parametro Systems Manager si risolverà in un AMI ID.
In questo esempio, il parametro Systems Manager è specificato in un formato valido:resolve:ssm:golden-ami
. Esistono altri formati validi per il parametro Systems Manager. Per ulteriori informazioni, consulta Utilizzare un parametro Systems Manager anziché un AMI ID.
Nota
Il tipo di parco istanze deve essere di tipo instant
. Altri tipi di flotta non supportano la specificazione di un parametro System Manager anziché di un AMI ID.
{ "LaunchTemplateData": { "ImageId": "resolve:ssm:golden-ami", "InstanceType": "
m5.4xlarge
", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key": "Name
", "Value": "webserver
" }] }] } }