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à.
CLIConfigurazioni di esempio per Fleet EC2
Puoi definire la configurazione EC2 della tua flotta in un JSON file e quindi fare riferimento a quel file con create-fleet AWS CLI comando per creare la tua flotta, come segue:
aws ec2 create-fleet --cli-input-json file://
file_name.json
Gli esempi seguenti illustrano le configurazioni di lancio per vari casi d'uso di EC2 Fleet. Per ulteriori informazioni sui parametri di configurazione, consulta create-fleet nel AWS CLI Riferimento ai comandi.
Esempi
- Esempio 1: Avviare Istanze spot come opzione di acquisto predefinita
- Esempio 2: Avviare Istanze on demand come opzione di acquisto predefinita
- Esempio 3: Avviare Istanze on demand come capacità primaria
- Esempio 4: avvio di istanze On-Demand utilizzando più prenotazioni di capacità
- Esempio 5: avvia le istanze On-Demand utilizzando le prenotazioni di capacità quando la capacità target totale supera il numero di prenotazioni di capacità non utilizzate
- Esempio 6: avvio di istanze On-Demand utilizzando prenotazioni di capacità mirate
- Esempio 7: configura il ribilanciamento della capacità per avviare istanze Spot sostitutive
- Esempio 8: avvio di istanze Spot in un parco istanze ottimizzato in termini di capacità
- Esempio 9: avvio di istanze Spot in un parco istanze con priorità ottimizzate in termini di capacità
- Esempio 10: avviare istanze Spot in un parco istanze price-capacity-optimized
- Esempio 11: configurare la selezione del tipo di istanza basata sugli attributi
Per ulteriori CLI esempi di flotte di tipoinstant
, vedereConfigura una EC2 flotta di tipo instant.
Esempio 1: Avviare Istanze spot come opzione di acquisto predefinita
L'esempio seguente specifica i parametri minimi richiesti in una EC2 flotta: un modello di lancio, una capacità target e un'opzione di acquisto predefinita. Il modello di avvio viene identificato dall'ID e dal numero di versione del modello di avvio. La capacità target per il parco istanze è di 2 istanze e l'opzione d'acquisto predefinita è spot
; ne consegue che il parco istanze avvia 2 Istanze spot.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }
Esempio 2: Avviare Istanze on demand come opzione di acquisto predefinita
L'esempio seguente specifica i parametri minimi richiesti in una EC2 flotta: un modello di lancio, la capacità target e l'opzione di acquisto predefinita. Il modello di avvio viene identificato dall'ID e dal numero di versione del modello di avvio. La capacità target per il parco istanze è di 2 istanze e l'opzione d'acquisto predefinita è on-demand
; ne consegue che il parco istanze avvia 2 Istanze on demand.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }
Esempio 3: Avviare Istanze on demand come capacità primaria
L'esempio seguente specifica la capacità di destinazione totale di 2 istanze per il parco istanze e una capacità di destinazione di 1 Istanza on demand. L'opzione di acquisto predefinita è spot
. Il parco istanze avvia 1 Istanza on demand come indicato, ma deve avviare un'altra istanza per soddisfare la capacità target totale. L'opzione di acquisto per la differenza viene calcolata come TotalTargetCapacity
– OnDemandTargetCapacity
= DefaultTargetCapacityType
, ne consegue che il parco istanze avvia 1 istanza spot.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "OnDemandTargetCapacity": 1, "DefaultTargetCapacityType": "spot" } }
Esempio 4: avvio di istanze On-Demand utilizzando più prenotazioni di capacità
È possibile configurare un parco istanze affinché utilizzi Prenotazioni di capacità on demand prima all'avvio Istanze on demand impostando la strategia di utilizzo per Prenotazioni di capacità su use-capacity-reservations-first
. In questo esempio viene illustrato come il parco istanze seleziona la prenotazione della capacità da utilizzare quando sono presenti più prenotazioni della capacità di quelle necessarie per soddisfare la capacità obiettivo.
In questo esempio, la configurazione del parco istanze è la seguente:
-
Capacità obiettivo: 12 istanze on demand
-
Prenotazioni della capacità inutilizzate totali: 15 (più della capacità obiettivo del parco istanze di 12 istanze on demand)
-
Numero di prenotazioni della capacità per pool: 3 (
m5.large
,m4.xlarge
em4.2xlarge
) -
Numero di prenotazioni della capacità per pool: 5
-
Strategia di allocazione on demand:
lowest-price
(Quando sono presenti più prenotazioni della capacità inutilizzate in più pool di istanze, il parco istanze determina i pool in cui avviare le istanze on demand in base alla strategia di allocazione on demand).Tenere presente che è anche possibile utilizzare la strategia di allocazione
prioritized
invece della strategia di allocazionelowest-price
.
Prenotazioni di capacità
L'account presenta i seguenti 15 Prenotazioni di capacità inutilizzati in 3 diversi 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": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }
Configurazione del parco istanze
La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità di destinazione totale è 12 e il tipo di capacità di destinazione predefinito è on-demand
. La strategia di allocazione on demand è lowest-price
. La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first
.
In questo esempio, il prezzo istanza on demand è:
-
m5.large
– 0,096 USD all'ora -
m4.xlarge
– 0,20 USD all'ora -
m4.2xlarge
– 0,40 USD all'ora
Nota
Il tipo di parco istanze deve essere di tipo instant
. Altri tipi di parchi istanze non supportano use-capacity-reservations-first
.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-abc1234567example", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant" }
Dopo aver creato il parco istanze instant
utilizzando la configurazione precedente, vengono avviate le seguenti 12 istanze per soddisfare la capacità di destinazione:
-
5 istanze on demand
m5.large
inus-east-1a
–m5.large
inus-east-1a
è il prezzo più basso, e ci sono 5 prenotazioni della capacitàm5.large
disponibili inutilizzate -
5 istanze on demand
m4.xlarge
in us-east-1a –m4.xlarge
inus-east-1a
è il prezzo più basso successivo, e ci sono 5 prenotazioni della capacitàm4.xlarge
disponibili inutilizzate -
2 istanze on demand
m4.2xlarge
in us-east-1a –m4.2xlarge
inus-east-1a
è il terzo prezzo più basso, e ci sono 5 prenotazioni della capacitàm4.2xlarge
non utilizzate di cui solo 2 sono necessarie per soddisfare la capacità obiettivo
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à m5.large
e m4.xlarge
, con 3 prenotazioni della capacità m4.2xlarge
rimaste inutilizzate.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 3 }
Esempio 5: avvia le istanze On-Demand utilizzando le prenotazioni di capacità quando la capacità target totale supera il numero di prenotazioni di capacità non utilizzate
È possibile configurare un parco istanze affinché utilizzi Prenotazioni di capacità on demand prima all'avvio Istanze on demand impostando la strategia di utilizzo per Prenotazioni di capacità su use-capacity-reservations-first
. In questo esempio viene illustrato come il parco istanze seleziona i pool di istanze in cui avviare le istanze on demand quando la capacità totale obiettivo supera il numero di prenotazioni della capacità inutilizzate disponibili.
In questo esempio, la configurazione del parco istanze è la seguente:
-
Capacità obiettivo: 16 istanze on demand
-
Prenotazioni della capacità inutilizzate totali: 15 (meno della capacità obiettivo del parco istanze di 16 istanze on demand)
-
Numero di prenotazioni della capacità per pool: 3 (
m5.large
,m4.xlarge
em4.2xlarge
) -
Numero di prenotazioni della capacità per pool: 5
-
Strategia di allocazione on demand:
lowest-price
. (Quando il numero di prenotazioni della capacità inutilizzate è inferiore alla capacità obiettivo on demand, il parco istanze determina i pool in cui avviare la capacità on demand rimanente in base alla strategia di allocazione on demand.)Tenere presente che è anche possibile utilizzare la strategia di allocazione
prioritized
invece della strategia di allocazionelowest-price
.
Prenotazioni di capacità
L'account presenta i seguenti 15 Prenotazioni di capacità inutilizzati in 3 diversi 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": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }
Configurazione del parco istanze
La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità di destinazione totale è 16 e il tipo di capacità di destinazione predefinito è on-demand
. La strategia di allocazione on demand è lowest-price
. La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first
.
In questo esempio, il prezzo istanza on demand è:
-
m5.large – $0,096 all'ora
-
m4.xlarge – $0,20 all'ora
-
m4.2xlarge – 0,40 USD all'ora
Nota
Il tipo di parco istanze deve essere instant
. Altri tipi di parchi istanze non supportano use-capacity-reservations-first
.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" }, "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }
Dopo aver creato il parco istanze instant
utilizzando la configurazione precedente, vengono avviate le seguenti 16 istanze per soddisfare la capacità di destinazione:
-
6 istanze on demand
m5.large
inus-east-1a
–m5.large
inus-east-1a
è il prezzo più basso, e ci sono 5 prenotazioni della capacitàm5.large
disponibili inutilizzate. Le prenotazioni della capacità vengono prima utilizzate per avviare 5 istanze on demand. Dopo che vengono utilizzate le rimanenti prenotazioni della capacitàm4.xlarge
em4.2xlarge
, per soddisfare la capacità obiettivo viene avviata un'ulteriore istanza on demand in base alla strategia di allocazione on demand, che in questo esempio èlowest-price
. -
5 istanze on demand
m4.xlarge
inus-east-1a
–m4.xlarge
inus-east-1a
è il prezzo più basso successivo, e ci sono 5 prenotazioni della capacitàm4.xlarge
disponibili inutilizzate -
5 istanze on demand
m4.2xlarge
inus-east-1a
–m4.2xlarge
inus-east-1a
è il terzo prezzo più basso, e ci sono 5 prenotazioni della capacitàm4.2xlarge
disponibili inutilizzate
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 tutti i Prenotazioni di capacità del pool sono stati utilizzati.
{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 0 }
Esempio 6: avvio di istanze On-Demand utilizzando prenotazioni di capacità mirate
È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand targeted
prima all'avvio di istanze on demand impostando la strategia di utilizzo per le prenotazioni della capacità su use-capacity-reservations-first
. In questo esempio viene illustrato come avviare istanze on demand in prenotazione della capacità targeted
, in cui gli attributi della prenotazione della capacità sono gli stessi ad eccezione delle relative zone di disponibilità (us-east-1a
e us-east-1b
). Viene inoltre illustrato come il parco istanze seleziona i pool di istanze in cui avviare le istanze on demand quando la capacità totale obiettivo supera il numero di prenotazioni della capacità inutilizzate disponibili.
In questo esempio, la configurazione del parco istanze è la seguente:
-
Capacità obiettivo: 10 istanze on demand
-
Prenotazioni della capacità
targeted
inutilizzate totali: 6 (meno della capacità obiettivo on demand del parco istanze di 10 istanze on demand) -
Numero di prenotazioni della capacità per pool: 2 (
us-east-1a
eus-east-1b
) -
Numero di prenotazioni della capacità per pool: 3
-
Strategia di allocazione on demand:
lowest-price
. (Quando il numero di prenotazioni della capacità inutilizzate è inferiore alla capacità obiettivo on demand, il parco istanze determina i pool in cui avviare la capacità on demand rimanente in base alla strategia di allocazione on demand.)Tenere presente che è anche possibile utilizzare la strategia di allocazione
prioritized
invece della strategia di allocazionelowest-price
.
Per una spiegazione passo per passo delle procedure che è necessario eseguire per riprodurre questo esempio, consultare Tutorial: configura EC2 Fleet per avviare istanze On-Demand utilizzando prenotazioni di capacità mirate.
Prenotazioni di capacità
L'account presenta le seguenti 6 prenotazioni della capacità inutilizzati in 2 diversi pool. In questo esempio, i pool differiscono per la zona di disponibilità. Il numero di Prenotazioni di capacità in ogni pool è indicato da AvailableInstanceCount
.
{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1b", "AvailableInstanceCount": 3, "InstanceMatchCriteria": "open", "State": "active" }
Configurazione del parco istanze
La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità obiettivo totale è 10 e il tipo di capacità obiettivo predefinito è on-demand
. La strategia di allocazione on demand è lowest-price
. La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first
.
In questo esempio, il prezzo dell'istanza on demand per c5.xlarge
in us-east-1
è 0,17 $ all'ora.
Nota
Il tipo di parco istanze deve essere instant
. Altri tipi di parchi istanze non supportano use-capacity-reservations-first
.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "
my-launch-template
", "Version": "1" }, "Overrides": [ { "InstanceType": "c5.xlarge
", "AvailabilityZone": "us-east-1a
" }, { "InstanceType": "c5.xlarge
", "AvailabilityZone": "us-east-1b
" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity":10
, "DefaultTargetCapacityType": "on-demand
" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price
", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant" }
Dopo aver creato il parco istanze instant
utilizzando la configurazione precedente, vengono avviate le seguenti 10 istanze per soddisfare la capacità obiettivo:
-
Le prenotazioni della capacità vengono prima utilizzate per avviare 6 istanze on demand nel modo seguente:
-
3 istanze on demand vengono avviate in 3 prenotazioni della capacità
c5.xlarge
targeted
inus-east-1a
-
3 istanze on demand vengono avviate in 3 prenotazioni della capacità
c5.xlarge
targeted
inus-east-1b
-
-
Per soddisfare la capacità obiettivo, vengono avviate 4 istanze on demand aggiuntive nella capacità on demand in base alla strategia di allocazione on demand che in questo esempio è
lowest-price
. Tuttavia, poiché i pool hanno lo stesso prezzo (poiché il prezzo è per Regione e non per zona di disponibilità), il parco istanze avvia le restanti 4 istanze on demand in uno dei pool.
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 tutti i Prenotazioni di capacità del pool sono stati utilizzati.
{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 }
Esempio 7: configura il ribilanciamento della capacità per avviare istanze Spot sostitutive
L'esempio seguente configura la EC2 flotta per lanciare un'istanza Spot sostitutiva quando Amazon EC2 emette una raccomandazione di ribilanciamento per un'istanza Spot del parco istanze. Per configurare la sostituzione automatica delle istanze spot, per ReplacementStrategy
, specificare launch-before-terminate
. Per configurare il ritardo temporale dal momento in cui vengono avviate le nuove istanze spot sostitutive a quando le vecchie istanze spot vengono eliminate automaticamente, per termination-delay
, specificare un valore in secondi. Per ulteriori informazioni, consulta Opzioni di configurazione.
Nota
Si consiglia di utilizzare launch-before-terminate
solo se è possibile prevedere il tempo necessario per il completamento delle procedure di arresto dell'istanza in modo che le vecchie istanze vengano terminate solo dopo il completamento di queste procedure. Saranno addebitati i costi per entrambe le istanze durante la loro esecuzione.
L'efficacia della strategia di ribilanciamento della capacità dipende dal numero di pool di capacità Spot specificati nella richiesta del parco veicoli. EC2 Si consiglia di configurare il parco istanze con un insieme diversificato di tipi di istanza e zone di disponibilità e per AllocationStrategy
, specificare capacity-optimized
. Per ulteriori informazioni sugli aspetti da considerare durante la configurazione di un EC2 parco veicoli per il ribilanciamento della capacità, consulta. Utilizza il ribilanciamento della capacità in Fleet e Spot EC2 Fleet per sostituire le istanze Spot a rischio
{ "ExcessCapacityTerminationPolicy": "termination", "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "LaunchTemplate", "Version": "1" }, "Overrides": [ { "InstanceType": "c3.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c4.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "Placement": { "AvailabilityZone": "us-east-1a" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 5, "DefaultTargetCapacityType": "spot" }, "SpotOptions": { "AllocationStrategy": "capacity-optimized", "MaintenanceStrategies": { "CapacityRebalance": { "ReplacementStrategy": "launch-before-terminate", "TerminationDelay": "720" } } } }
Esempio 8: avvio di istanze Spot in un parco istanze ottimizzato in termini di capacità
L'esempio seguente mostra come configurare una EC2 flotta con una strategia di allocazione Spot che ottimizza la capacità. Per ottimizzare la capacità, è necessario impostare AllocationStrategy
su capacity-optimized
.
Nell'esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. The EC2 Fleet tenta di avviare 50 istanze Spot nel pool di capacità Spot con una capacità ottimale per il numero di istanze in fase di avvio.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized", }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" } }
Esempio 9: avvio di istanze Spot in un parco istanze con priorità ottimizzate in termini di capacità
L'esempio seguente dimostra come configurare un EC2 parco veicoli con una strategia di allocazione Spot che ottimizzi la capacità utilizzando al contempo la priorità con il massimo impegno.
Quando si utilizza la strategia di allocazione capacity-optimized-prioritized
, è possibile utilizzare il parametro Priority
per specificare le priorità dei pool di capacità spot, dove a un numero inferiore corrisponde la priorità più alta. È inoltre possibile impostare la stessa priorità per diversi pool di capacità spot, se si preferisce non applicare priorità differenti. Se non si imposta una priorità per un pool, il pool verrà considerato ultimo in termini di priorità.
Per assegnare priorità ai pool di capacità spot, è necessario impostare AllocationStrategy
su capacity-optimized-prioritized
. EC2Fleet ottimizzerà innanzitutto la capacità, ma rispetterà le priorità con il massimo impegno (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità di EC2 Fleet di fornire una 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.
Nell'esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. Ogni pool ha una priorità, dove a un numero inferiore corrisponde la priorità più alta. La capacità obiettivo è di 50 Istanze spot. EC2Fleet tenta di inserire 50 istanze Spot nel pool di capacità Spot con la massima priorità e con il massimo impegno, ma prima ottimizza la capacità.
{ "SpotOptions": { "AllocationStrategy": "capacity-optimized-prioritized" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Priority": 1, "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Priority": 2, "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Priority": 3, "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "DefaultTargetCapacityType": "spot" }
Esempio 10: avviare istanze Spot in un parco istanze price-capacity-optimized
L'esempio seguente dimostra come configurare una EC2 flotta con una strategia di allocazione Spot che ottimizzi sia la capacità che il prezzo più basso. Per ottimizzare la capacità tenendo conto del prezzo, è necessario impostare la AllocationStrategy
spot su price-capacity-optimized
.
Nell'esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. The EC2 Fleet tenta di avviare 50 istanze Spot nel pool di capacità Spot con una capacità ottimale per il numero di istanze in fase di avvio, scegliendo anche il pool con il prezzo più basso.
{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized", "MinTargetCapacity": 2, "SingleInstanceType": true }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" }, "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "r4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2a" }, }, { "InstanceType": "m4.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" }, }, { "InstanceType": "c5.2xlarge", "Placement": { "AvailabilityZone": "us-west-2b" } } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 50, "OnDemandTargetCapacity":0, "SpotTargetCapacity":50, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }
Esempio 11: configurare la selezione del tipo di istanza basata sugli attributi
L'esempio seguente mostra come configurare un EC2 Fleet per utilizzare la selezione del tipo di istanza basata sugli attributi per identificare i tipi di istanza. Per specificare gli attributi di istanza richiesti, specifica gli attributi nella struttura InstanceRequirements
.
Nell'esempio precedente, vengono specificati due attributi di istanza:
-
VCpuCount
— È specificato un minimo di 2. vCPUs Poiché non è specificato alcun massimo, non esiste un limite massimo. -
MemoryMiB
: viene specificato un minimo di 4 MiB di memoria. Poiché non è specificato alcun massimo, non esiste un limite massimo.
Verranno identificati tutti i tipi di istanza con 2 o più vCPUs e 4 MiB o più di memoria. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando EC2Fleet rifornisce la flotta.
Per un elenco e le descrizioni di tutti i possibili attributi che puoi specificare, InstanceRequirementsconsulta Amazon EC2 API Reference.
{ "SpotOptions": { "AllocationStrategy": "
price-capacity-optimized
" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template
", "Version": "" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min":
1
2
}, "MemoryMiB": { "Min":4
} } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity":20
, "DefaultTargetCapacityType": "spot
" }, "Type": "instant
" }