Esempi di configurazioni di CLI per parco istanze EC2 - 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à.

Esempi di configurazioni di CLI per parco istanze EC2

Puoi definire la configurazione dell’EC2 Fleet in un file JSON, poi fare riferimento a tale file con il comando create-fleet per creare il tuo parco istanze, come indicato di seguito:

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

I seguenti esempi illustrano le configurazioni di avvio per vari casi d’uso del parco istanze EC2. Per ulteriori informazioni sui parametri di configurazione, consulta create-fleet.

Per altri esempi di CLI per parchi istanze di tipo instant, consulta Configurare un parco istanze EC2 di tipo instant.

Esempio 1: Avviare Istanze spot come opzione di acquisto predefinita

L’esempio seguente indica i parametri minimi necessari in un parco istanze EC2: un modello di lancio, una capacità di destinazione e un’opzione d’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 indica i parametri minimi necessari in un Parco istanze EC2: un modello di avvio, una capacità di destinazione e un’opzione d’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 TotalTargetCapacityOnDemandTargetCapacity = 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 molteplici prenotazioni della capacità

È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand 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 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 e m4.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 allocazione lowest-price.

Prenotazioni di capacità

L’account presenta le 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 in us-east-1am5.large in us-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 in us-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 in us-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: Avvio di Istanze on demand utilizzando Prenotazioni della capacità quando la capacità obiettivo totale è superiore al numero di Prenotazioni della capacità inutilizzate

È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand 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 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 e m4.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 allocazione lowest-price.

Prenotazioni di capacità

L’account presenta le 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 in us-east-1am5.large in us-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 e m4.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 in us-east-1am4.xlarge in us-east-1a è il prezzo più basso successivo, e ci sono 5 prenotazioni della capacità m4.xlarge disponibili inutilizzate

  • 5 istanze on demand m4.2xlarge in us-east-1am4.2xlarge in us-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-reservationsa 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 le prenotazioni della capacità obiettivo

È 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 e us-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 allocazione lowest-price.

Per una spiegazione passo per passo delle procedure che è necessario eseguire per riprodurre questo esempio, consultare Tutorial: Configura un parco istanze EC2 per avviare istanze on demand utilizzando le prenotazioni della capacità obiettivo.

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 in us-east-1a

    • 3 istanze on demand vengono avviate in 3 prenotazioni della capacità c5.xlarge targeted in us-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-reservationsa 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: Configurare il ribilanciamento della capacità per avviare la sostituzione delle istanze spot

Nell’esempio seguente viene configurato EC2 Fleet affinché avvii un’istanza spot sostitutiva quando Amazon EC2 emette un suggerimento 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 parco istanze 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 parco istanze EC2 per il ribilanciamento della capacità, consulta Utilizza il ribilanciamento della capacità nel parco istanze EC2 e nel parco istanze spot 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: Avviare le istanze spot in un parco istanze ottimizzato per la capacità

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 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. Il parco istanze EC2 tenta di avviare 50 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": "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: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 con una strategia di allocazione spot che ottimizza la capacità che applica la priorità in base al miglior tentativo.

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. Il parco istanze EC2 ottimizzerà innanzitutto la capacità, ma rispetterà le priorità sulla base del miglior tentativo (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità del parco istanze EC2 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.

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. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con la priorità più alta sulla base del miglior tentativo, 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

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 con una strategia di allocazione spot che ottimizza sia la capacità sia 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. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando, scegliendo al contempo 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: configurazione della selezione del tipo di istanza basata su attributi

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 in modo da utilizzare la selezione del tipo di istanza basata su 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ù v CPUs e 4 MiB o più di memoria. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando il parco istanze EC2 alloca le istanze.

Per un elenco e le descrizioni di tutti i possibili attributi che puoi specificare, consulta InstanceRequirementsAmazon EC2 API Reference.

{ "SpotOptions": { "AllocationStrategy": "price-capacity-optimized" }, "LaunchTemplateConfigs": [{ "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [{ "InstanceRequirements": { "VCpuCount": { "Min": 2 }, "MemoryMiB": { "Min": 4 } } }] }], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" }, "Type": "instant" }