View a markdown version of this page

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: Launch On-Demand Instances 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 di acquisto predefinita èon-demand, il che comporta il lancio di 2 istanze da parte del parco istanze. On-Demand

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }

Esempio 3: Launch On-Demand Instances come capacità principale

L'esempio seguente specifica la capacità target totale di 2 istanze per il parco istanze e una capacità target di 1 istanza. On-Demand L’opzione di acquisto predefinita è spot. Il parco istanze avvia 1 On-Demand istanza come specificato, ma deve lanciarne un'altra per soddisfare la capacità totale prevista. 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 On-Demand istanze utilizzando più prenotazioni di capacità

È possibile configurare un parco veicoli in modo da utilizzare prima le prenotazioni di On-Demand capacità all'avvio On-Demand delle istanze impostando la strategia di utilizzo per le 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à target: 12 istanze On-Demand

  • Numero totale di prenotazioni di capacità inutilizzate: 15 (più della capacità prevista per la flotta 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

  • On-Demand strategia di allocazione: lowest-price (quando sono presenti più prenotazioni di capacità inutilizzate in più pool di istanze, la flotta determina i pool in cui avviare le On-Demand istanze 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 On-Demand strategia di allocazione è. lowest-price La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first.

In questo esempio, il prezzo dell' On-Demand istanza è:

  • 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 m5.large On-Demand Instances in us-east-1am5.large in us-east-1a è il prezzo più basso e sono disponibili 5 prenotazioni di capacità non utilizzate m5.large

  • 5 m4.xlarge On-Demand istanze in us-east-1a — m4.xlarge in us-east-1a è il secondo prezzo più basso e sono disponibili 5 prenotazioni di capacità non utilizzate m4.xlarge

  • 2 m4.2xlarge On-Demand esempi in us-east-1a — m4.2xlarge in us-east-1a è il terzo prezzo più basso e sono disponibili 5 riserve di capacità inutilizzate, di cui solo 2 sono necessarie per raggiungere la m4.2xlarge capacità prevista

Dopo l’avvio del parco istanze, puoi eseguire describe-capacity-reservations per vedere quante prenotazioni di capacità sono rimaste inutilizzate. 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: On-Demand istanze di avvio che utilizzano le prenotazioni di capacità quando la capacità totale di destinazione supera il numero di prenotazioni di capacità non utilizzate

È possibile configurare un parco veicoli in modo da utilizzare innanzitutto le prenotazioni di On-Demand capacità all'avvio On-Demand delle istanze impostando la strategia di utilizzo per le prenotazioni di capacità su. use-capacity-reservations-first Questo esempio dimostra come il parco veicoli seleziona i pool di istanze in cui avviare On-Demand le istanze quando la capacità totale di destinazione supera il numero di prenotazioni di capacità inutilizzate disponibili.

In questo esempio, la configurazione del parco istanze è la seguente:

  • Capacità target: 16 istanze On-Demand

  • Totale prenotazioni di capacità inutilizzate: 15 (inferiori alla capacità obiettivo della flotta di 16 On-Demand istanze)

  • Numero di prenotazioni della capacità per pool: 3 (m5.large, m4.xlarge e m4.2xlarge)

  • Numero di prenotazioni della capacità per pool: 5

  • On-Demand strategia di allocazione: lowest-price (quando il numero di prenotazioni di capacità inutilizzate è inferiore alla capacità On-Demand obiettivo, la flotta determina i pool in cui lanciare la On-Demand capacità residua in base alla On-Demand strategia di allocazione).

    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 On-Demand allocazione è. lowest-price La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first.

In questo esempio, il prezzo dell' On-Demand istanza è:

  • 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 m5.large On-Demand Instances in us-east-1am5.large in us-east-1a è il prezzo più basso e sono disponibili 5 prenotazioni di m5.large capacità inutilizzate. Le prenotazioni di capacità vengono utilizzate per prime per avviare 5 On-Demand istanze. Una volta utilizzate le prenotazioni rimanenti m4.xlarge e quelle relative alla m4.2xlarge capacità, per raggiungere la capacità target viene lanciata un' On-Demand istanza aggiuntiva in base alla strategia di On-Demand allocazione, illustrata lowest-price in questo esempio.

  • 5 m4.xlarge On-Demand Instances in us-east-1am4.xlarge in us-east-1a è il prezzo successivo più basso e sono disponibili 5 prenotazioni di capacità non utilizzate m4.xlarge

  • 5 m4.2xlarge On-Demand Instances in us-east-1am4.2xlarge in us-east-1a è il terzo prezzo più basso e sono disponibili 5 prenotazioni di capacità inutilizzate m4.2xlarge

Dopo l’avvio del parco istanze, puoi eseguire describe-capacity-reservations per vedere quante prenotazioni di capacità sono rimaste inutilizzate. 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 On-Demand istanze utilizzando prenotazioni di capacità mirate

È possibile configurare un parco veicoli in modo da utilizzare prima le prenotazioni di targeted On-Demand capacità all'avvio On-Demand delle istanze impostando la strategia di utilizzo per le prenotazioni di capacità su. use-capacity-reservations-first Questo esempio dimostra come avviare On-Demand le istanze in targeted Capacity Reservations, dove gli attributi delle Capacity Reservations sono gli stessi tranne che per le relative zone di disponibilità (e). us-east-1a us-east-1b Dimostra inoltre come il parco veicoli seleziona i pool di istanze in cui avviare On-Demand le istanze quando la capacità totale di destinazione supera il numero di prenotazioni di capacità inutilizzate disponibili.

In questo esempio, la configurazione del parco istanze è la seguente:

  • Capacità target: 10 istanze On-Demand

  • Numero totale di prenotazioni targeted di capacità inutilizzate: 6 (inferiori alla capacità On-Demand target di 10 On-Demand istanze prevista dalla flotta)

  • Numero di prenotazioni della capacità per pool: 2 (us-east-1a e us-east-1b)

  • Numero di prenotazioni della capacità per pool: 3

  • On-Demand strategia di allocazione: lowest-price (quando il numero di prenotazioni di capacità inutilizzate è inferiore alla capacità On-Demand obiettivo, la flotta determina i pool in cui lanciare la On-Demand capacità residua in base alla On-Demand strategia di allocazione).

    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 la flotta EC2 per avviare On-Demand istanze 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 On-Demand allocazione è. lowest-price La strategia di utilizzo per la prenotazione della capacità è use-capacity-reservations-first.

In questo esempio, il prezzo di On-Demand Instance per c5.xlarge in us-east-1 è di 0,17 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": { "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 di capacità vengono utilizzate per prime per avviare 6 On-Demand istanze come segue:

    • 3 On-Demand istanze vengono lanciate nelle 3 prenotazioni di c5.xlarge targeted capacità in us-east-1a

    • 3 On-Demand istanze vengono lanciate nelle 3 prenotazioni di c5.xlarge targeted capacità in us-east-1b

  • Per raggiungere la capacità prevista, 4 On-Demand istanze aggiuntive vengono avviate alla On-Demand capacità normale in base alla strategia di On-Demand allocazione, illustrata lowest-price in questo esempio. Tuttavia, poiché i pool hanno lo stesso prezzo (poiché il prezzo è per regione e non per zona di disponibilità), la flotta lancia le 4 On-Demand istanze rimanenti in uno dei pool.

Dopo l’avvio del parco istanze, puoi eseguire describe-capacity-reservations per vedere quante prenotazioni di capacità sono rimaste inutilizzate. 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: avvio di istanze spot in un parco istanze ottimizzato per prezzo e capacità

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: viene specificato un minimo di 2 vCPU. 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ù vCPU 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 una descrizione di tutti i possibili attributi che puoi specificare, consulta l'API Reference InstanceRequirements di Amazon EC2.

{ "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" }