

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à.

# Opzioni di configurazione per il parco istanze EC2 o il parco istanze spot
<a name="ec2-fleet-configuration-strategies"></a>

Durante la pianificazione del parco istanze EC2 o del parco istanze spot, si consiglia di prendere in considerazione le seguenti opzioni al momento di decidere come configurare il proprio Parco istanze.


****  

| Opzione di configurazione | Domanda | Documentazione | 
| --- | --- | --- | 
| Tipo di richiesta di parco istanze |  Vuoi un parco istanze che invia una richiesta una tantum per la capacità target desiderata, o un parco istanze che mantiene la capacità target nel tempo?  | [Tipi di richieste del parco istanze EC2 o parco istanze Spot](ec2-fleet-request-type.md) | 
| Spot Instances | Prevedi di includere le istanze spot nel tuo parco istanze? Rivedi le best practice spot e usale quando pianifichi il parco istanze, così potrai effettuare il provisioning delle istanze al prezzo più basso possibile. | [Best practice per spot di Amazon EC2](spot-best-practices.md) | 
| Limite di spesa per il parco istanze | Vuoi limitare quanto pagherai all’ora per il tuo parco istanze? | [Imposta un limite di spesa per il Parco istanze EC2 o il parco istanze spot](ec2-fleet-control-spending.md) | 
| Tipi di istanza e selezione del tipo di istanza basata su attributi |  Vuoi specificare i tipi di istanze nel parco istanze o lasciare che Amazon EC2 selezioni i tipi di istanza che soddisfano i requisiti delle tue applicazioni?  | [Specifica gli attributi per la selezione del tipo di istanza per il parco del tipo per il parco istanze EC2 o il parco istanze Spot](ec2-fleet-attribute-based-instance-type-selection.md) | 
| Ponderazione delle istanze | Vuoi assegnare dei pesi a ciascun tipo di istanza per rappresentarne la loro capacità di calcolo e le prestazioni, in modo tale che Amazon EC2 possa selezionare qualsiasi combinazione di tipi di istanza disponibile per soddisfare la capacità target desiderata? | [Utilizza la ponderazione delle istanze per gestire i costi e le prestazioni del parco istanze EC2 o del parco istanze spot](ec2-fleet-instance-weighting.md) | 
| Strategie di allocazione | Vuoi decidere se ottimizzare la capacità disponibile, il prezzo o i tipi di istanza da utilizzare per le istanze spot e le istanze on demand del parco istanze? | [Utilizza le strategie di allocazione per determinare in che modo il parco istanze EC2 o il parco istanze spot soddisfano la capacità spot e on demand](ec2-fleet-allocation-strategy.md) | 
| Ribilanciamento della capacità | Vuoi che il parco istanze sostituisca automaticamente le istanze spot a rischio? | [Utilizza il ribilanciamento della capacità nel parco istanze EC2 e nel parco istanze spot per sostituire le istanze spot a rischio](ec2-fleet-capacity-rebalance.md) | 
| Prenotazione della capacità on demand | Vuoi riservare la capacità per le istanze on demand del tuo parco istanze? | [Utilizza le prenotazioni della capacità per prenotare la capacità on demand nel parco istanze EC2](ec2-fleet-on-demand-capacity-reservations.md) | 

# Tipi di richieste del parco istanze EC2 o parco istanze Spot
<a name="ec2-fleet-request-type"></a>

Il tipo di richiesta per un parco istanze EC2 o un parco istanze spot determina se la richiesta è sincrona o asincrona e se si tratta di una richiesta una tantum per la capacità di destinazione target o di uno sforzo continuo per mantenere la capacità nel tempo. Quando configuri il tuo parco istanze, devi specificare il tipo di richiesta.

Il parco istanze EC2 e il parco istanze spot offrono due tipi di richieste: `request` e `maintain`. Inoltre, il parco istanze EC2 offre un terzo tipo di richiesta chiamato `instant`.Tipi di richiesta di parco istanze

`instant` (Solo parco istanze EC2)  
Se configuri il tipo di richiesta come `instant`, EC2 Fleet inserisce una richiesta una tantum sincrona per la capacità desiderata. Nella risposta API, restituisce le istanze avviate e fornisce gli errori per le istanze che non è stato possibile avviare. Per ulteriori informazioni, consulta [Configurare un parco istanze EC2 di tipo instant](instant-fleet.md).

`request`  
Se configuri il tipo di richiesta come `request`, il parco istanze inserisce una richiesta una tantum asincrona per la capacità desiderata. Se la capacità diminuisce a causa delle interruzioni di Spot, il parco istanze non tenta di rifornire Istanze spot e non invia nemmeno richieste in pool di capacità spot alternativi se la capacità non è disponibile. Quando si crea un parco istanze spot di tipo `request` usando la console, deseleziona la casella di spunta **Mantieni capacità target**.

`maintain` (predefinito)  
Se configuri il tipo di richiesta come `maintain`, il parco istanze effettua una richiesta asincrona per la capacità desiderata e mantiene la capacità rifornendo automaticamente le Istanze spot interrotte. Quando si crea un parco istanze spot di tipo `maintain` usando la console, seleziona la casella di spunta **Mantieni capacità target**.

# Configurare un parco istanze EC2 di tipo instant
<a name="instant-fleet"></a>

L’EC2 Fleet di tipo *istantaneo* è una richiesta una tantum sincrona che effettua un solo tentativo di avviare la capacità desiderata. La risposta dell’API restituisce le istanze avviate, insieme agli errori per quelle istanze che non è stato possibile avviare. L’utilizzo di un EC2 Fleet di tipo *istantaneo* comporta diversi vantaggi, descritti in questo articolo. Le configurazioni di esempio sono fornite alla fine dell’articolo.

Per i carichi di lavoro che richiedono un'API di solo avvio per avviare le istanze EC2, puoi utilizzare l'API. RunInstances 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 utilizzare l' 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 Fleet 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 Fleet di tipo `instant`, puoi avviare istanze spot seguendo [Best practice di istanze spot](spot-best-practices.md) con i seguenti vantaggi:
  + **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 è quella di essere flessibili su almeno 10 tipi di istanza per ogni carico di lavoro e assicurarsi che tutte le zone di disponibilità siano configurate per l’utilizzo nel VPC.
  + **Best practice di istanze spot: utilizzare la strategia di allocazione price-capacity-optimized.**.

    Vantaggio: la strategia di allocazione `price-capacity-optimized` identifica le istanze dai pool di capacità spot più disponibili, e poi effettua automaticamente il provisioning delle istanze da tali pool con il prezzo più basso. Poiché la capacità dell’istanza spot viene restituita da pool con capacità ottimale, ciò riduce la possibilità che le istanze spot vengano interrotte quando Amazon EC2 recupera la capacità.
+ **Accedi a un set più ampio di funzionalità.** Per i carichi di lavoro che richiedono un'API solo per il lancio e in cui preferisci gestire il ciclo di vita dell'istanza anziché lasciare che EC2 Fleet lo gestisca per te, utilizza il tipo Fleet EC2 anziché l'API. `instant` [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) EC2 Fleet offre un set di funzionalità più ampio rispetto RunInstances a, come dimostrato negli esempi seguenti. Per tutti gli altri carichi di lavoro, è consigliabile utilizzare Amazon EC2 Auto Scaling perché fornisce un set di funzionalità più completo per un’ampia gamma di carichi di lavoro, ad esempio applicazioni supportate da ELB, carichi di lavoro containerizzati e processi di elaborazione delle code.

È possibile utilizzare EC2 Fleet di tipo *instantaneo* per avviare istanze in Blocchi di capacità. Per ulteriori informazioni, consulta [Tutorial: Configura il tuo parco istanze EC2 per avviare istanze in Blocchi di capacità](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md).

AWS servizi come Amazon EC2 Auto Scaling e Amazon EMR utilizzano EC2 *Fleet* of type Instant per avviare istanze EC2.

## Prerequisiti per un EC2 Fleet di tipo istantaneo
<a name="instant-fleet-prerequisites"></a>

Per i prerequisiti per la creazione di un EC2 Fleet, consulta [Prerequisiti di parco istanze EC2](ec2-fleet-prerequisites.md).

## Come funziona un EC2 Fleet istantaneo
<a name="how-instant-fleet-works"></a>

Quando si utilizza un EC2 Fleet di tipo `instant`, la sequenza degli eventi è la seguente:

1. **Configura: configura il tipo** di richiesta come. [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)`instant` Per ulteriori informazioni, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md). Dopo aver effettuato la chiamata API, non puoi più modificarla.

1. **Richiedere:** quando effettui la chiamata API, Amazon EC2 inserisce una richiesta una tantum sincrona per la capacità desiderata.

1. **Rispondere:** la risposta dell’API restituisce le istanze avviate, insieme agli errori per quelle istanze che non è stato possibile avviare.

1. **Descrivere**: puoi descrivere il tuo EC2 Fleet, elencare le istanze associate al EC2 Fleet e visualizzare la cronologia del tuo EC2 Fleet.

1. **Terminare le istanze:** puoi terminare le istanze in qualsiasi momento.

1. **Eliminare la richiesta del parco istanze:** la richiesta del parco istanze può essere eliminata manualmente o automaticamente:
   + Manuale: Puoi [eliminare la richiesta del parco istanze](delete-fleet.md) dopo l’avvio delle istanze.

     Un parco istanze `instant` eliminato con istanze in esecuzione non è supportato. Quando elimini un parco istanze `instant`, Amazon EC2 termina automaticamente tutte le sue istanze. Per i parchi istanze con più di 1.000 istanze, la richiesta di eliminazione potrebbe avere esito negativo. Se il tuo parco istanze ha più di 1.000 istanze, termina innanzitutto la maggior parte delle istanze manualmente, lasciandone 1.000 o meno. Poi elimina il parco istanze e le istanze rimanenti verranno terminate automaticamente.
   + Automatico: Amazon EC2 elimina la richiesta del parco istanze qualche tempo dopo che: 
     + Le istanze vengono arrestate.
     + Oppure il parco istanze non riesce ad avviare alcuna istanza.

## Esempi
<a name="instant-fleet-examples"></a>

Gli esempi seguenti mostrano come utilizzare EC2 Fleet di tipo `instant` per diversi casi d’uso. Per ulteriori informazioni sull'utilizzo dei parametri dell' CreateFleet API EC2, consulta [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)*Amazon EC2* API Reference.

**Topics**
+ [

### Esempio 1: Avvio di istanze spot con la strategia di allocazione ottimizzata per la capacità
](#instant-fleet-example-1)
+ [

### Esempio 2: Avvio di una singola istanza spot con la strategia di allocazione ottimizzata per la capacità
](#instant-fleet-example-2)
+ [

### Esempio 3: Avvio di istanze spot utilizzando la ponderazione di istanza
](#instant-fleet-example-3)
+ [

### Esempio 4: Avvio di istanze spot in una singola zona di disponibilità
](#instant-fleet-example-4)
+ [

### Esempio 5: Avvio di istanze spot di un singolo tipo in una singola zona di disponibilità
](#instant-fleet-example-5)
+ [

### Esempio 6: Avvio di istanze spot solo se è possibile avviare una capacità target minima
](#instant-fleet-example-6)
+ [

### 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à
](#instant-fleet-example-7)
+ [

### Esempio 8: Avvio di istanze con più modelli di avvio
](#instant-fleet-example-8)
+ [

### Esempio 9: Avvio di istanze spot con una base di istanze on demand
](#instant-fleet-example-9)
+ [

### 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à
](#instant-fleet-example-10)
+ [

### Esempio 11: avvia le istanze Spot utilizzando capacity-optimized-prioritized la strategia di allocazione
](#instant-fleet-example-11)
+ [

### Esempio 12: Specificare un parametro Systems Manager invece di un’ID AMI
](#instant-fleet-example-12)

### Esempio 1: Avvio di istanze spot con la strategia di allocazione ottimizzata per la capacità
<a name="instant-fleet-example-1"></a>

L’esempio seguente indica i parametri necessari in un parco istanze EC2 di tipo `instant`: un modello di avvio, una capacità target, un’opzione di acquisto predefinita e sostituzioni del modello di avvio.
+ 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à
<a name="instant-fleet-example-2"></a>

Puoi avviare in modo ottimale un'istanza Spot alla volta effettuando più chiamate di tipo EC2 Fleet API`instant`, impostando il valore su 1. TotalTargetCapacity 

L’esempio seguente indica i parametri necessari in un parco istanze EC2 di tipo istantaneo: un modello di avvio, una capacità target, un’opzione di acquisto predefinita e sostituzioni del modello di avvio. 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
<a name="instant-fleet-example-3"></a>

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 al numero di unità di carico di lavoro che possono essere eseguite sull'istanza, supponendo che un'unità di carico di lavoro richieda 15 GB di memoria e 4 v. CPUs Ad esempio, un m5.xlarge (4 v CPUs e 16 GB di memoria) può eseguire un'unità e ha un peso di 1, m5.2xlarge (8 v CPUs 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 del parco istanze EC2 o del parco istanze spot](ec2-fleet-instance-weighting.md).

```
{
   "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à
<a name="instant-fleet-example-4"></a>

È possibile 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à. Il parco istanze EC2 avvia 20 istanze spot, tutte in una singola zona di disponibilità, dai pool di capacità spot con capacità ottimale, utilizzando le specifiche di avvio.

```
{
    "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à
<a name="instant-fleet-example-5"></a>

Puoi configurare un parco istanze per avviare tutte le istanze dello stesso tipo e in un'unica zona di disponibilità impostando SpotOptions SingleInstanceType true e SingleAvailabilityZone 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à. Il parco istanze EC2 avvia 20 istanze spot dello stesso tipo, tutte in una singola zona di disponibilità, dal pool di istanze spot con capacità ottimale, utilizzando le specifiche di avvio.

```
{
    "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
<a name="instant-fleet-example-6"></a>

Puoi configurare un parco istanze per avviare le istanze solo se è possibile avviare la capacità target minima impostando le opzioni Spot sulla MinTargetCapacity capacità target minima che desideri avviare insieme.

Quando si specifica MinTargetCapacity, è necessario specificare almeno uno di questi parametri: SingleInstanceType o. SingleAvailabilityZone In questo esempio, SingleInstanceType viene specificato, in modo che tutte le 20 istanze debbano utilizzare lo stesso tipo di istanza.

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à. Il parco istanze EC2 avvia 20 istanze spot dal pool di capacità spot con capacità ottimale utilizzando le sostituzioni del modello di avvio, solo se è in grado di avviare tutte e 20 le istanze contemporaneamente.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": 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 7: Avvio di istanze spot solo se è possibile avviare una capacità target minima dello stesso tipo di istanza in una singola zona di disponibilità
<a name="instant-fleet-example-7"></a>

È possibile configurare un parco istanze per avviare le 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 MinTargetCapacity Spot sulla capacità target minima che si desidera avviare insieme alle opzioni SingleInstanceType e 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 Il parco istanze EC2 avvia 20 istanze spot dello stesso tipo, tutte in una singola zona di disponibilità, dal pool di istanze spot con capacità ottimale, utilizzando le specifiche di avvio, solo se è possibile 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
<a name="instant-fleet-example-8"></a>

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 del volume EBS diverse per diversi tipi di istanza e abbiamo ciò che è configurato nei modelli di avvio 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. Le sostituzioni delle specifiche di avvio su tutti i modelli di avvio utilizzano i pesi delle istanze in base alle vCPU del tipo di istanza. La capacità obiettivo totale è di 144 unità, l’opzione d’acquisto predefinita è spot e la strategia di allocazione spot è ottimizzata per la capacità. Il parco istanze EC2 può avviare 9 c5n.4xlarge (144 diviso per 16) utilizzando il modello di avvio ec2-fleet-4xl o 4 c5n.9xlarge (144 diviso per 36) utilizzando il modello di avvio ec2-fleet-9xl o 2 c5n.18xlarge (144 diviso per 72) utilizzando il modello di avvio ec2-fleet-18xl o un mix dei tipi di istanza con pesi si sommano alla capacità desiderata, in base alla strategia di allocazione ottimizzata per la 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
<a name="instant-fleet-example-9"></a>

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 fa sì che la flotta lanci 15 istanze Spot costituiscano 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à
<a name="instant-fleet-example-10"></a>

È 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 priorità al secondo posto e sono disponibili 3 prenotazioni di capacità m5.large non utilizzate.
+ 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 per vedere quante prenotazioni di capacità non utilizzate sono rimaste. [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html) 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
<a name="instant-fleet-example-11"></a>

L’esempio seguente indica i parametri necessari in un parco istanze EC2 di tipo istantaneo: un modello di avvio, una capacità target, un’opzione di acquisto predefinita e sostituzioni del modello di avvio. 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, in base alla quale il parco istanze tenta 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 invece di un’ID AMI
<a name="instant-fleet-example-12"></a>

L’esempio seguente utilizza un modello di avvio per specificare la configurazione per le istanze nel parco istanze. In questo esempio, per `ImageId`, anziché specificare un ID AMI, all’AMI viene fatto riferimento con un parametro System Manager. All’avvio dell’istanza, il parametro Systems Manager si risolverà in un ID AMI.

In questo esempio, il parametro Systems Manager è specificato in un formato valido: `resolve:ssm:golden-ami`. Vi sono altri formati validi per il parametro Systems Manager. Per ulteriori informazioni, consulta [Usare un parametro Systems Manager invece di un'ID AMI](create-launch-template.md#use-an-ssm-parameter-instead-of-an-ami-id).

**Nota**  
Il tipo di parco istanze deve essere di tipo `instant`. Altri tipi di parco istanze non supportano la specificazione di un parametro System Manager anziché un ID AMI.

```
{
    "LaunchTemplateData": {
        "ImageId": "resolve:ssm:golden-ami",
        "InstanceType": "m5.4xlarge",
        "TagSpecifications": [{
            "ResourceType": "instance",
            "Tags": [{
                "Key": "Name",
                "Value": "webserver"
            }]
        }]
    }
}
```

# Imposta un limite di spesa per il Parco istanze EC2 o il parco istanze spot
<a name="ec2-fleet-control-spending"></a>

Puoi impostare un limite su quanto sei disposto a spendere all’ora nel parco istanze EC2 o nel parco istanze spot. Una volta raggiunto il limite di spesa, il parco istanze interrompe l’avvio delle istanze, anche se la capacità target non è stata raggiunta.

Vi sono limiti di spesa separati per le istanze on demand e le istanze spot.

**Per configurare un limite di spesa per le istanze on demand e le istanze spot nel parco istanze EC2**  
Utilizza il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) e i seguenti parametri:
+ Per le istanze on demand: nella struttura `OnDemandOptions`, specifica il limite di spesa nel campo `MaxTotalPrice`.
+ Per le istanze spot: nella struttura `SpotOptions`, specifica il limite di spesa nel campo `MaxTotalPrice`.

**Per configurare un limite di spesa per le istanze on demand e le istanze spot nel parco istanze spot**  
Puoi utilizzare la console Amazon EC2 o configurare il AWS CLI limite di spesa.

(Console) Quando crei il parco istanze spot, seleziona la casella di spunta **Imposta il costo massimo per le istanze Spot**, poi inserisci un valore per **Imposta il costo massimo (all’ora)**. Per ulteriori informazioni, consulta la fase 6.e. in [Crea una richiesta di parco istanze spot utilizzando parametri definiti](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Utilizza il [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)comando e i seguenti parametri:
+ Per le istanze on demand: specifica il limite di spesa nel campo `OnDemandMaxTotalPrice`.
+ Per le istanze spot: specifica il limite di spesa nel campo `SpotMaxTotalPrice`.

## Esempi
<a name="ec2-fleet-spending-limit-examples"></a>

I seguenti esempi illustrano due scenari diversi. Nel primo esempio, il parco istanze smette di avviare istanze on demand quando raggiunge la capacità target impostata per le istanze on demand (`OnDemandTargetCapacity`). Nel secondo esempio, il parco istanze interrompe l’avvio delle istanze on demand quando ha raggiunto l’importo massimo che sei disposto a pagare all’ora per le istanze on demand (`MaxTotalPrice`).

**Esempio: arresto dell’avvio delle istanze on demand al raggiungimento della capacità target**

Data una richiesta di Istanze on demand `m4.large`, dove:
+ Prezzo on demand: 0,10 USD all’ora
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 1,50 USD

Il parco istanze avvia 10 Istanze on demand perché il totale di 1 USD (10 istanze x 0,10 USD) non supera il `MaxTotalPrice` di 1,50 USD per le Istanze on demand.

**Esempio: arresto dell’avvio delle istanze on demand al raggiungimento del prezzo totale massimo**

Data una richiesta di Istanze on demand `m4.large`, dove:
+ Prezzo on demand: 0,10 USD all’ora
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 0,80 USD

Se il parco istanze avvia la capacità target on demand (10 Istanze on demand), il costo totale all’ora è di 1 USD. ovvero un importo superiore rispetto a quello specificato (0,80 USD) per il parametro `MaxTotalPrice` per le Istanze on demand. Per evitare di spendere più di quello che ti sei prefissato, il parco istanze avvia solo 8 Istanze on demand (al di sotto della capacità target on demand) perché avviarne di più significherebbe superare il `MaxTotalPrice` per le Istanze on demand.

## Istanze a prestazioni espandibili
<a name="ec2-fleet-burstable-spot-instances"></a>

Se avvii le tue istanze spot utilizzando un [tipo di istanza a prestazioni espandibili](burstable-performance-instances.md), e prevedi di utilizzare immediatamente le istanze spot a prestazioni espandibili per un breve periodo, senza alcun tempo di inattività per accumulare crediti CPU, suggeriamo di avviarla in [Modalità Standard](burstable-performance-instances-standard-mode.md) in modo da evitare costi più elevati. Se avvii le istanze spot a prestazioni espandibili in [Modalità Illimitata](burstable-performance-instances-unlimited-mode.md) ed espandi la capacità di CPU immediatamente, l’espansione implicherà il dispendio dei crediti in più. Se l’istanza viene utilizzata per un periodo di tempo limitato, non riesce ad accumulare crediti CPU per ripagare i crediti extra, che i vengono quindi addebitati al termine dell’istanza.

La modalità illimitata è adatta per la Istanze spot con prestazioni burstable solo se l’istanza viene eseguita per un periodo di tempo sufficiente ad accumulare i crediti CPU per l’espansione. In caso contrario, il pagamento di crediti in eccedenza rende le prestazioni Istanze spot espandibili più costose rispetto all’utilizzo di altre istanze. Per ulteriori informazioni, consulta [Quando utilizzare la modalità illimitata rispetto alla CPU fissa](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode).

I crediti di avvio hanno lo scopo di fornire un’esperienza di avvio iniziale produttiva per le istanze T2, fornendo risorse di calcolo sufficienti per configurare l’istanza. Non sono consentiti avvii ripetuti di istanze T2 per accedere a nuovi crediti di avvio. Se occorre una CPU duratura, è possibile guadagnare crediti (rimanendo inattivi per un certo periodo) utilizzando la [Unlimited mode (Modalità Illimitata)](burstable-performance-instances-unlimited-mode.md) per istanze spot T2 o un tipo di istanza con una CPU dedicata.

# Specifica gli attributi per la selezione del tipo di istanza per il parco del tipo per il parco istanze EC2 o il parco istanze Spot
<a name="ec2-fleet-attribute-based-instance-type-selection"></a>

Quando si crea un parco istanze EC2 o un parco istanze spot, è necessario specificare uno o più tipi di istanza per la configurazione delle istanze on-demand e delle istanze spot nel parco istanze. In alternativa alla specifica manuale dei tipi di istanza, è possibile specificare gli attributi che un’istanza deve avere e Amazon EC2 identificherà tutti i tipi di istanza con tali attributi. Questo è noto come *selezione del tipo di istanza basata su attributi*. Ad esempio, puoi specificare il numero minimo e massimo di v CPUs richiesto per le tue istanze e il parco istanze avvierà le istanze utilizzando qualsiasi tipo di istanza disponibile che soddisfi tali requisiti di vCPU. 

La selezione del tipo di istanza basata su attributi è ideale per carichi di lavoro e framework che possono essere flessibili sui tipi di istanza utilizzati, ad esempio quando si eseguono container o parchi istanze Web, elaborazione di Big Data e implementazione di strumenti CI/CD (Continuous Integration and Deployment).

**Vantaggi**

La selezione del tipo di istanza basata su attributi comporta i seguenti vantaggi:
+ **Usa facilmente i tipi di istanza giusti** – Con un numero così elevato di tipi di istanza disponibili, trovare i tipi di istanza adatti per il proprio carico di lavoro può richiedere molto tempo. Quando si specificano gli attributi dell’istanza, i tipi di istanza avranno automaticamente gli attributi richiesti per il carico di lavoro.
+ **Configurazione semplificata** – Per specificare manualmente più tipi di istanza per un parco istanze, è necessario creare un modello di avvio separato per ogni tipo di istanza. Tuttavia, con la selezione del tipo di istanza basata su attributi, per fornire più tipi di istanza è necessario specificare solo gli attributi dell’istanza nel modello di avvio o in una sostituzione di un modello di avvio.
+ **Uso automatico di nuovi tipi di istanza** – Quando si specificano gli attributi di istanza anziché i tipi di istanza, il parco istanze può utilizzare tipi di istanza di nuova generazione man mano che vengono rilasciati: una configurazione del parco istanze "a prova di futuro". 
+ **Flessibilità del tipo di istanza** – Quando specifichi gli attributi dell’istanza anziché i tipi di istanza, il parco istanze può selezionare da un’ampia gamma di tipi di istanza per l’avvio di istanze spot che aderiscono alla [Best practice delle istanze spot per la flessibilità dei tipi di istanza](spot-best-practices.md#be-instance-type-flexible).

**Topics**
+ [

## Come funziona la selezione del tipo di istanza basata su attributi
](#ec2fleet-abs-how-it-works)
+ [

## Protezione del prezzo
](#ec2fleet-abs-price-protection)
+ [

## Protezione delle prestazioni
](#ec2fleet-abis-performance-protection)
+ [

## Considerazioni
](#ec2fleet-abs-considerations)
+ [

## Creazione di un EC2 Fleet con la selezione del tipo di istanza basata su attributi
](#abs-create-ec2-fleet)
+ [

## Creazione di una serie di istanze spot con la selezione del tipo di istanza basata su attributi
](#abs-create-spot-fleet)
+ [

## Esempi di configurazioni del parco istanze EC2 che sono valide e non valide
](#ec2fleet-abs-example-configs)
+ [

## Esempi di configurazioni del parco istanze spot che sono valide e non valide
](#spotfleet-abs-example-configs)
+ [

## Anteprima di tipi di istanza con attributi specificati
](#ec2fleet-get-instance-types-from-instance-requirements)

## Come funziona la selezione del tipo di istanza basata su attributi
<a name="ec2fleet-abs-how-it-works"></a>

Per utilizzare la selezione del tipo di istanza basata su attributi nella configurazione del parco istanze, è necessario sostituire l’elenco dei tipi di istanza con un elenco di attributi di istanza richiesti dalle istanze. Il parco istanze EC2 o il parco istanze spot avvierà le istanze su qualsiasi tipo di istanza disponibile con gli attributi di istanza specificati.

**Topics**
+ [

### Tipi di attributi di istanza
](#ef-abs-instance-attribute-types)
+ [

### Dove configurare la selezione del tipo di istanza basata su attributi
](#ef-abs-where-to-configure)
+ [

### Come il parco istanze EC2 o il parco istanze spot utilizza la selezione del tipo di istanza basata su attributi durante il provisioning di un parco istanze
](#how-ef-uses-abs)

### Tipi di attributi di istanza
<a name="ef-abs-instance-attribute-types"></a>

Esistono diversi attributi di istanza che è possibile specificare per esprimere i requisiti di calcolo, come ad esempio:
+ **Numero vCPU**: il numero minimo e massimo di v CPUs per istanza.
+ **Memoria**: il numero minimo e massimo GiBs di memoria per istanza.
+ **Archiviazione locale** – Se utilizzare EBS o i volumi di archivio dell’istanza per l’archiviazione locale.
+ **Prestazioni espandibili** – Se utilizzare la famiglia di istanze T, inclusi i tipi T4g, T3a, T3 e T2.

Per una descrizione di ogni attributo e dei valori predefiniti, [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)consulta *Amazon EC2 API* Reference.

### Dove configurare la selezione del tipo di istanza basata su attributi
<a name="ef-abs-where-to-configure"></a>

A seconda che utilizzi la console o la AWS CLI, puoi specificare gli attributi dell'istanza per la selezione del tipo di istanza basata sugli attributi come segue:

Nella console è possibile specificare gli attributi di istanza nei seguenti componenti di configurazione del parco istanze:
+ In un modello di avvio, facendo successivamente riferimento al modello di avvio nella richiesta del parco istanze
+ (Solo parco istanze spot) Nella richiesta del parco istanze

In AWS CLI, è possibile specificare gli attributi dell'istanza in uno o tutti i seguenti componenti di configurazione della flotta:
+ In un modello di avvio, facendo successivamente riferimento al modello di avvio nella richiesta del parco istanze
+ In una sostituzione del modello di avvio

  Se desideri un mix di istanze che utilizzano istanze diverse AMIs, puoi specificare gli attributi dell'istanza in più sostituzioni dei modelli di avvio. Ad esempio, diversi tipi di istanza possono utilizzare processori x86 e ARM.
+ (Solo parco istanze spot) In una specifica di avvio

### Come il parco istanze EC2 o il parco istanze spot utilizza la selezione del tipo di istanza basata su attributi durante il provisioning di un parco istanze
<a name="how-ef-uses-abs"></a>

Il parco istanze EC2 o il parco istanze spot fornisce un parco istanze nel seguente modo:
+ Identifica i tipi di istanza che hanno gli attributi specificati.
+ Utilizza la protezione dei prezzi per determinare quali tipi di istanza escludere.
+ Determina i pool di capacità da cui prenderà in considerazione l'avvio delle istanze in base alle AWS regioni o alle zone di disponibilità con tipi di istanze corrispondenti.
+ Applica la strategia di allocazione specificata per determinare da quali pool di capacità avviare le istanze.

  Notare che la selezione del tipo di istanza basata su attributi non sceglie i pool di capacità da cui effettuare il provisioning del parco istanze; questo è il compito delle [strategie di allocazione](ec2-fleet-allocation-strategy.md).

  Se si specifica una strategia di allocazione, il parco istanze avvierà le istanze in base alla strategia di allocazione specificata.
  + Per le istanze spot, la selezione del tipo di istanza basata su attributi supporta le strategie di allocazione con **ottimizzazione per prezzo e capacità**, **ottimizzazione per capacità** e **prezzo più basso**. Non consigliamo la strategia di allocazione spot con **prezzo più basso** perché presenta il rischio di interruzione più elevato per le tue istanze spot.
  + Per le istanze on demand, la selezione del tipo di istanza basata su attributi supporta la strategia di allocazione **con prezzo più basso**.
+ Se non è presente alcuna capacità per i tipi di istanza con gli attributi di istanza specificati, non è possibile avviare le istanze e il parco istanze restituisce un errore.

## Protezione del prezzo
<a name="ec2fleet-abs-price-protection"></a>

La protezione dei prezzi è una funzione che impedisce al proprio parco istanze EC2 o parco istanze spot di utilizzare tipi di istanza troppo costosi anche se si adattano agli attributi specificati. Per utilizzare la protezione del prezzo, devi impostare una soglia di prezzo. Poi, quando Amazon EC2 seleziona i tipi di istanza con i tuoi attributi, esclude i tipi di istanza con un prezzo più alto di quanto definito dalla soglia.

Il modo in cui Amazon EC2 calcola la soglia di prezzo è il seguente:
+ Amazon EC2 identifica innanzitutto il tipo di istanza con il prezzo più basso tra quelle che corrispondono ai tuoi attributi.
+ Poi, Amazon EC2 prende il valore (espresso in percentuale) da te specificato per il parametro di protezione del prezzo e lo moltiplica per il prezzo del tipo di istanza identificato. Il risultato è il prezzo utilizzato come soglia di prezzo.

Vi sono soglie di prezzo separate per le istanze on demand e le istanze spot.

Quando sia crea un parco istanze con selezione del tipo di istanza basata su attributi, la protezione dei prezzi è abilitata per impostazione predefinita. Puoi mantenere i valori predefiniti o specificarne uno personalizzato.

Puoi anche disattivare la protezione del prezzo. Per non indicare alcuna soglia di protezione del prezzo, specifica un valore percentuale elevato, come `999999`.

**Topics**
+ [

### Come viene identificato il tipo di istanza con prezzo più basso
](#ec2fleet-abs-price-protection-lowest-priced)
+ [

### Protezione del prezzo dell’istanza on demand
](#ec2fleet-abs-on-demand-price-protection)
+ [

### Protezione del prezzo dell’istanza spot
](#ec2fleet-abs-spot-price-protection)
+ [

### Specifica la soglia di protezione del prezzo
](#ec2fleet-abs-specify-price-protection)

### Come viene identificato il tipo di istanza con prezzo più basso
<a name="ec2fleet-abs-price-protection-lowest-priced"></a>

Amazon EC2 determina il prezzo su cui basare la soglia di prezzo identificando il tipo di istanza con il prezzo più basso tra quelle che corrispondono ai tuoi attributi specificati. Ciò avviene come indicato di seguito:
+ Per prima cosa, esamina i tipi di istanza C, M o R dell’attuale generazione che corrispondono ai tuoi attributi. Se trova corrispondenze, identifica il tipo di istanza con il prezzo più basso.
+ Se non vi sono corrispondenze, esamina poi i tipi di istanza dell’attuale generazione che corrispondono ai tuoi attributi. Se trova corrispondenze, identifica il tipo di istanza con il prezzo più basso.
+ Se non vi sono corrispondenze, esamina tutti i tipi di istanza della generazione precedente che corrispondono ai tuoi attributi e identifica il tipo di istanza con il prezzo più basso.

### Protezione del prezzo dell’istanza on demand
<a name="ec2fleet-abs-on-demand-price-protection"></a>

La soglia di protezione del prezzo per i tipi di istanze on demand viene calcolata *come percentuale superiore* al tipo di istanza on demand con prezzo più basso (`OnDemandMaxPricePercentageOverLowestPrice`) identificato. Specifichi la percentuale più alta che sei disposto a pagare. Se non specifichi questo parametro, viene utilizzato un valore predefinito di `20` per calcolare una soglia di protezione del prezzo del 20% superiore al prezzo identificato.

Ad esempio, se il prezzo dell’istanza on demand identificato è `0.4271`, e tu specifichi `25`, la soglia di prezzo è superiore del 25% rispetto a `0.4271`. Viene calcolato come indicato di seguito: `0.4271 * 1.25 = 0.533875`. Il prezzo calcolato è il massimo che sei disposto a pagare per le istanze on demand e, in questo esempio, Amazon EC2 escluderà qualsiasi tipo di istanza on demand che costa più di `0.533875`.

### Protezione del prezzo dell’istanza spot
<a name="ec2fleet-abs-spot-price-protection"></a>

Per impostazione predefinita, Amazon EC2 applicherà automaticamente una protezione del prezzo ottimale dell’istanza spot per scegliere in modo coerente tra un’ampia gamma di tipi di istanza. Puoi anche impostare manualmente la protezione del prezzo. Tuttavia, lasciarlo fare ad Amazon EC2 può aumentare la probabilità che la tua capacità Spot venga soddisfatta.

Puoi specificare manualmente la protezione del prezzo utilizzando una delle seguenti opzioni. Se imposti manualmente la protezione del prezzo, ti consigliamo di usare la prima opzione.
+ **Una *percentuale del* tipo di istanza *on demand* con prezzo più basso identificato** [`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`]

  Ad esempio, se il prezzo del tipo di istanza on demand identificato è `0.4271`, e tu specifichi `60`, la soglia di prezzo è superiore del 60% di `0.4271`. Viene calcolato come indicato di seguito: `0.4271 * 0.60 = 0.25626`. Il prezzo calcolato è il massimo che sei disposto a pagare per le istanze spot e, in questo esempio, Amazon EC2 escluderà qualsiasi tipo di istanza spot che costa più di `0.25626`.
+ **Una *percentuale superiore al* tipo di istanza *spot* con prezzo più basso identificato** [`SpotMaxPricePercentageOverLowestPrice`]

  Ad esempio, se il prezzo del tipo di istanza Spot identificato è `0.1808`, e tu specifichi `25`, la soglia di prezzo è superiore del 25% rispetto a `0.1808`. Viene calcolato come indicato di seguito: `0.1808 * 1.25 = 0.226`. Il prezzo calcolato è il massimo che sei disposto a pagare per le istanze spot e, in questo esempio, Amazon EC2 escluderà qualsiasi tipo di istanza spot che costa più di `0.266`. Non è consigliabile utilizzare questo parametro perché i prezzi spot possono fluttuare e quindi anche la soglia di protezione del prezzo potrebbe variare.

### Specifica la soglia di protezione del prezzo
<a name="ec2fleet-abs-specify-price-protection"></a>

**Per specificare la soglia di protezione del prezzo utilizzando il AWS CLI**

Durante la creazione di una flotta EC2 o di una flotta Spot utilizzando il AWS CLI, configura la flotta per la selezione del tipo di istanza basata sugli attributi, quindi procedi come segue:
+ Per specificare la soglia di protezione del prezzo dell’istanza on demand, nel file di configurazione JSON, nella struttura `InstanceRequirements`, per `OnDemandMaxPricePercentageOverLowestPrice`, inserisci la soglia di protezione del prezzo in percentuale.
+ Per specificare la soglia di protezione del prezzo dell’istanza spot, nel file di configurazione JSON, nella struttura `InstanceRequirements`, specifica *uno* dei seguenti parametri:
  + Per `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`, inserisci la soglia di protezione del prezzo in percentuale.
  + Per `SpotMaxPricePercentageOverLowestPrice`, inserisci la soglia di protezione del prezzo in percentuale.

Per ulteriori informazioni, consulta [Creazione di un EC2 Fleet con la selezione del tipo di istanza basata su attributi](#abs-create-ec2-fleet) o [Creazione di una serie di istanze spot con la selezione del tipo di istanza basata su attributi](#abs-create-spot-fleet).

**(Solo parco istanze spot) Per specificare la soglia di protezione del prezzo usando la console**

Durante la creazione del parco istanze spot nella console, configura il parco istanze per la selezione del tipo di istanza basata su attributi ed esegui le seguenti operazioni:
+ Per specificare la soglia di protezione del prezzo dell’istanza on demand, in **Attributo istanza aggiuntivo**, scegli **Protezione del prezzo on demand**, scegli **Aggiungi attributo**, e poi inserisci la soglia di protezione del prezzo in percentuale.
+ Per specificare la soglia di protezione del prezzo dell’istanza spot, **Attributo istanza aggiuntivo**, scegli **Protezione del prezzo Spot**, scegli **Aggiungi attributo**, scegli un valore di base su cui basare il prezzo, e poi inserisci la soglia di protezione del prezzo in percentuale.

**Nota**  
Durante la creazione del parco istanze, se imposti `TargetCapacityUnitType` su `vcpu` o `memory-mib`, la soglia di protezione del prezzo viene applicata in base al prezzo per vCPU o per memoria, anziché al prezzo per istanza.

## Protezione delle prestazioni
<a name="ec2fleet-abis-performance-protection"></a>

La *protezione delle prestazioni* è una funzionalità che garantisce che il parco istanze EC2 o il parco istanze spot utilizzi tipi di istanze che sono simili o superiori a un riferimento prestazionale specificato. Per utilizzare la protezione delle prestazioni, devi specificare una famiglia di istanze come riferimento di base. Le funzionalità della famiglia di istanze specificata stabiliscono il livello di prestazioni minimo accettabile. Quando Amazon EC2 seleziona i tipi di istanza per il parco istanze, considera gli attributi specificati e il riferimento delle prestazioni. I tipi di istanza che non rientrano nel riferimento prestazionale vengono automaticamente esclusi dalla selezione, anche se corrispondono agli altri attributi specificati. Ciò garantisce che tutti i tipi di istanza selezionati offrano prestazioni simili o superiori rispetto al riferimento stabilito dalla famiglia di istanze specificata. Amazon EC2 utilizza questo riferimento per guidare la selezione del tipo di istanza, ma non è garantito che i tipi di istanza selezionati superino sempre il riferimento per ogni applicazione.

Attualmente, questa funzionalità supporta solo le prestazioni della CPU come fattore prestazionale di riferimento. Le prestazioni della CPU del processore CPU della famiglia di istanze specificata fungono da riferimento delle prestazioni, garantendo che i tipi di istanza selezionati siano simili o superiori a questo riferimento. Le famiglie di istanze con gli stessi processori CPU producono gli stessi risultati di filtraggio, anche se le loro prestazioni di rete o disco sono diverse. Ad esempio, specificando `c6in` o `c6i` come riferimento di base si otterranno risultati di filtraggio basati sulle prestazioni identici perché entrambe le famiglie di istanze utilizzano lo stesso processore CPU.

**Famiglie di istanza non supportate**  
Le seguenti famiglie di istanze **non** sono supportate per la protezione delle prestazioni:
+ **Uso generico:** Mac1 \$1 Mac2 \$1 MAC2-M1Ultra \$1 Mac2-M2 \$1 Mac2-M2Pro \$1 M1 \$1 M2 \$1 T1
+ **Calcolo ottimizzato:** C1
+ **Memoria ottimizzata:** U-3TB1 \$1 U-6tb1 \$1 U-9TB1 \$1 U-12TB1 \$1 U-18TB1 \$1 u-24tb1 \$1 U7i-12TB \$1 U7in-16TB \$1 U7in-24TB \$1 U7in-32TB
+ **Elaborazione accelerata:** G3 \$1 G3s \$1 P3dn \$1 P4d \$1 P5
+ **Elaborazione ad alte prestazioni:** HPC7g

Se abiliti la protezione delle prestazioni specificando una famiglia di istanze supportata, i tipi di istanza restituiti escluderanno le famiglie di istanze non supportate di cui sopra.

Se si specifica una famiglia di istanze non supportata come valore per le prestazioni di base, l'API restituisce una risposta vuota [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)e un'eccezione per,, e. [CreateFleet[RequestSpotFleet[ModifyFleet[ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)

**Esempio: Impostare un riferimento di prestazioni per la CPU**  
Nell’esempio seguente, il requisito dell’istanza è l’avvio con tipi di istanza con core CPU con prestazioni pari a quelle della famiglia di istanze `c6i`. In questo modo verranno filtrati i tipi di istanze con processori CPU meno performanti, anche se soddisfano gli altri requisiti di istanza specificati, come il numero di v. CPUs Ad esempio, se gli attributi di istanza specificati includono 4 v CPUs e 16 GB di memoria, un tipo di istanza con questi attributi ma con prestazioni della CPU inferiori a quelle `c6i` verrà esclusa dalla selezione.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

## Considerazioni
<a name="ec2fleet-abs-considerations"></a>
+ È possibile specificare i tipi di istanza o gli attributi di istanza in un parco istanze EC2 o un parco istanze spot, ma non entrambi nello stesso momento.

  Quando si utilizza la CLI, le sostituzioni del modello di avvio sovrascriveranno il modello di avvio. Ad esempio, se il modello di avvio contiene un tipo di istanza e la sostituzione del modello di avvio contiene attributi di istanza, le istanze identificate dagli attributi di istanza sostituiranno il tipo di istanza nel modello di avvio.
+ Quando si utilizza la CLI e si specificano gli attributi di istanza come sostituzioni, non è possibile specificare pesi o priorità.
+ In una configurazione di richiesta è possibile specificare un massimo di quattro strutture `InstanceRequirements`.

## Creazione di un EC2 Fleet con la selezione del tipo di istanza basata su attributi
<a name="abs-create-ec2-fleet"></a>

Puoi configurare un EC2 Fleet in modo da utilizzare la selezione del tipo di istanza basata su attributi. Non è possibile creare un EC2 Fleet usando la console Amazon EC2.

I parametri per la selezione del tipo di istanza basata su attributi sono specificati nella struttura `InstanceRequirements`. Quando `InstanceRequirements` è incluso nella configurazione del parco istanze, `InstanceType` e `WeightedCapacity` devono essere esclusi; non possono determinare la configurazione del parco istanze contemporaneamente agli attributi di istanza.

Negli PowerShell esempi AWS CLI e, vengono specificati i seguenti attributi:
+ `VCpuCount`— Un minimo di 2 v CPUs e un massimo di 4 vCPUs. Se non è necessario un limite massimo, è possibile omettere il valore massimo.
+ `MemoryMiB`: un minimo di 8 GiB di memoria e un massimo di 16 GiB. Se non è necessario un limite massimo, puoi omettere il valore massimo.

Questa configurazione identifica qualsiasi tipo di istanza con memoria da 2 a 4 v CPUs e da 8 a 16 GiB. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando il [parco istanze EC2 alloca le istanze](#how-ef-uses-abs).

------
#### [ AWS CLI ]

**Creazione di un EC2 Fleet con la selezione del tipo di istanza basata su attributi**  
Utilizza il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) per creare un EC2 Fleet. Specificare la configurazione del parco istanze in un file JSON.

```
aws ec2 create-fleet \
    --region us-east-1 \
    --cli-input-json file://file_name.json
```

Il file `file_name.json` dell’esempio seguente contiene i parametri che configurano un EC2 Fleet in modo da utilizzare la selezione del tipo di istanza basata su attributi.

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

------
#### [ PowerShell ]

**Creazione di un EC2 Fleet con la selezione del tipo di istanza basata su attributi**  
Utilizza il cmdlet [New-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Fleet.html).

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRangeRequest
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiBRequest
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirementsRequest
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecificationRequest
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.FleetLaunchTemplateOverridesRequest
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.FleetLaunchTemplateConfigRequest
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

New-EC2Fleet `
    -SpotOptions_AllocationStrategy "price-capacity-optimized" `
    -LaunchTemplateConfig @($launchTemplateConfig) `
    -TargetCapacitySpecification_DefaultTargetCapacityType "spot" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -Type "instant"
```

------

## Creazione di una serie di istanze spot con la selezione del tipo di istanza basata su attributi
<a name="abs-create-spot-fleet"></a>

Puoi configurare un parco istanze per utilizzare la selezione del tipo di istanza basata su attributi.

I parametri per la selezione del tipo di istanza basata su attributi sono specificati nella struttura `InstanceRequirements`. Quando `InstanceRequirements` è incluso nella configurazione del parco istanze, `InstanceType` e `WeightedCapacity` devono essere esclusi; non possono determinare la configurazione del parco istanze contemporaneamente agli attributi di istanza.

Negli PowerShell esempi AWS CLI e, vengono specificati i seguenti attributi:
+ `VCpuCount`— Un minimo di 2 v CPUs e un massimo di 4 vCPUs. Se non è necessario un limite massimo, è possibile omettere il valore massimo.
+ `MemoryMiB`: un minimo di 8 GiB di memoria e un massimo di 16 GiB. Se non è necessario un limite massimo, puoi omettere il valore massimo.

Questa configurazione identifica tutti i tipi di istanza con memoria da 2 a 4 v CPUs e da 8 a 16 GiB. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando il [parco istanze spot alloca le istanze](#how-ef-uses-abs).

------
#### [ Console ]

**Configurazione di un parco istanze spot per la selezione del tipo di istanza basata su attributi**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione selezionare **Spot Requests (Richieste Spot)** e scegli **Request Spot Instances (Istanze spot richiesta)**.

1. Seguire la procedura per creare una serie di istanze spot. Per ulteriori informazioni, consulta [Crea una richiesta di parco istanze spot utilizzando parametri definiti](create-spot-fleet.md#create-spot-fleet-advanced).

   Durante la creazione della serie di istanze spot, configurare il parco istanze per la selezione del tipo di istanza basata su attributi come segue:

   1. Per **Instance type requirements (Requisiti per il tipo di istanza)**, scegliere **Specify instance attributes that match your compute requirements (Specifica gli attributi di istanza che corrispondono ai requisiti di calcolo)**.

   1. Per **v CPUs**, inserisci il numero minimo e massimo di v desiderato. CPUs Per non specificare alcun limite, selezionare **Nessun minimo**, **Nessun massimo** o entrambi.

   1. Per **Memory (GiB)** (Memoria [GiB]) inserire la quantità minima e massima di memoria desiderata. Per non specificare alcun limite, selezionare **No minimum (Nessun minimo)**, **No maximum (Nessun massimo)** o entrambe le opzioni.

   1. (Facoltativo) Per **Additional instance attributes (Attributi istanza aggiuntivi)**, facoltativamente, è possibile specificare uno o più attributi per esprimere i requisiti di calcolo in modo più dettagliato. Ogni attributo aggiuntivo aggiunge ulteriori vincoli alla propria richiesta.

   1. (Facoltativo) Espandere **Preview matching instance types (Anteprima tipi di istanza corrispondenti)** per visualizzare i tipi di istanza con gli attributi specificati.

------
#### [ AWS CLI ]

**Configurazione di un parco istanze spot per la selezione del tipo di istanza basata su attributi**  
Usa il [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)comando per creare una flotta Spot. Specificare la configurazione del parco istanze in un file JSON.

```
aws ec2 request-spot-fleet \
    --region us-east-1 \
    --spot-fleet-request-config file://file_name.json
```

Il file `file_name.json` dell’esempio seguente contiene i parametri che configurano un parco istanze spot in modo da utilizzare la selezione del tipo di istanza basata su attributi.

```
{
    "AllocationStrategy": "priceCapacityOptimized",
    "TargetCapacity": 20,
    "Type": "request",
    "LaunchTemplateConfigs": [{
        "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template",
            "Version": "1"
        },
        "Overrides": [{
            "InstanceRequirements": {
                "VCpuCount": {
                    "Min": 2,
                    "Max": 4
                },
                "MemoryMiB": {
                    "Min": 8192,
                    "Max": 16384
                }
            }
        }]
    }]
}
```

------
#### [ PowerShell ]

**Configurazione di un parco istanze spot per la selezione del tipo di istanza basata su attributi**  
Utilizza il cmdlet [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html).

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRange
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiB
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirements
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecification
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

Request-EC2SpotFleet `
    -SpotFleetRequestConfig_AllocationStrategy "PriceCapacityOptimized" `
    -SpotFleetRequestConfig_TargetCapacity 20 `
    -SpotFleetRequestConfig_Type "Request" `
    -SpotFleetRequestConfig_LaunchTemplateConfig $launchTemplateConfig
```

------

## Esempi di configurazioni del parco istanze EC2 che sono valide e non valide
<a name="ec2fleet-abs-example-configs"></a>

Se utilizzi il AWS CLI per creare una flotta EC2, devi assicurarti che la configurazione del tuo parco veicoli sia valida. I seguenti esempi mostrano configurazioni valide e non valide.

Le configurazioni sono considerate non valide quando contengono quanto segue:
+ Una singola struttura `Overrides` con `InstanceRequirements` e `InstanceType`
+ Due strutture `Overrides`, una con `InstanceRequirements` e l’altra con `InstanceType`
+ Due strutture `InstanceRequirements` con valori di attributo sovrapposti all’interno dello stesso `LaunchTemplateSpecification`

**Topics**
+ [

### Configurazione valida: modello di avvio singolo con sostituzioni
](#ef-abs-example-config1)
+ [

### Configurazione valida: modello di avvio singolo con più InstanceRequirements
](#ef-abs-example-config2)
+ [

### Configurazione valida: due modelli di avvio, ognuno con sostituzioni
](#ef-abs-example-config3)
+ [

### Configurazione valida: specificati solo `InstanceRequirements`, nessun valore di attributo sovrapposto
](#ef-abs-example-config4)
+ [

### Configurazione non valida: `Overrides` contiene `InstanceRequirements` e `InstanceType`
](#ef-abs-example-config5)
+ [

### Configurazione non valida: due `Overrides` contengono `InstanceRequirements` e `InstanceType`
](#ef-abs-example-config6)
+ [

### Configurazione non valida: valori di attributo sovrapposti
](#ef-abs-example-config7)

### Configurazione valida: modello di avvio singolo con sostituzioni
<a name="ef-abs-example-config1"></a>

La configurazione seguente è valida. Contiene un modello di avvio e una struttura `Overrides` contenente una struttura `InstanceRequirements`. Di seguito è riportata una spiegazione della configurazione di esempio.

```
{
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5000,
        "DefaultTargetCapacityType": "spot",
        "TargetCapacityUnitType": "vcpu"
        }
    }
}
```

****`InstanceRequirements`****  
Per utilizzare la selezione dell’istanza basata su attributi, è necessario includere la struttura `InstanceRequirements` nella configurazione del parco istanze e specificare gli attributi desiderati per le istanze nel parco istanze.

Nell’esempio precedente, vengono specificati i seguenti attributi di istanza:
+ `VCpuCount`— I tipi di istanza devono avere un minimo di 2 e un massimo di 8 vCPUs.
+ `MemoryMiB`: i tipi di istanza devono avere un massimo di 10240 MiB di memoria. Un minimo di 0 indica nessun limite minimo.
+ `MemoryGiBPerVCpu`: i tipi di istanza devono avere un massimo di 10.000 MiB di memoria per vCPU. Il parametro `Min` è facoltativo. Omettendolo, non si indica alcun limite minimo.

**`TargetCapacityUnitType`**  
Il parametro `TargetCapacityUnitType` specifica l’unità per la capacità di destinazione. Nell’esempio, la capacità di destinazione è `5000` e il tipo di unità della capacità di destinazione è `vcpu`, che insieme specificano una capacità di destinazione desiderata di 5.000 vCPU. EC2 Fleet lancerà un numero sufficiente di istanze in modo che il numero totale di v CPUs nel parco sia di 5.000 v. CPUs

### Configurazione valida: modello di avvio singolo con più InstanceRequirements
<a name="ef-abs-example-config2"></a>

La configurazione seguente è valida. Contiene un modello di avvio e una struttura `Overrides` contenente due strutture `InstanceRequirements`. Gli attributi specificati in `InstanceRequirements` sono validi perché i valori non si sovrappongono: la prima `InstanceRequirements` struttura specifica a `VCpuCount` di 0-2 vCPUs, mentre la seconda `InstanceRequirements` struttura specifica 4-8 v. CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Configurazione valida: due modelli di avvio, ognuno con sostituzioni
<a name="ef-abs-example-config3"></a>

La configurazione seguente è valida. Contiene due modelli di avvio, ognuno con una struttura `Overrides` contenente una struttura `InstanceRequirements`. Questa configurazione è utile per il supporto delle architetture `arm` e `x86` nello stesso parco istanze.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Configurazione valida: specificati solo `InstanceRequirements`, nessun valore di attributo sovrapposto
<a name="ef-abs-example-config4"></a>

La configurazione seguente è valida. Contiene due strutture `LaunchTemplateSpecification`, ognuna con un modello di avvio e una struttura `Overrides` contenente una struttura `InstanceRequirements`. Gli attributi specificati in `InstanceRequirements` sono validi perché i valori non si sovrappongono: la prima `InstanceRequirements` struttura specifica a di 0-2 v, mentre la seconda struttura specifica 4-8 `VCpuCount` v. CPUs `InstanceRequirements` CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Configurazione non valida: `Overrides` contiene `InstanceRequirements` e `InstanceType`
<a name="ef-abs-example-config5"></a>

La configurazione seguente non è valida. La struttura `Overrides` include sia `InstanceRequirements` che `InstanceType`. Per le `Overrides`, è possibile specificare `InstanceRequirements` o `InstanceType`, ma non entrambi.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Configurazione non valida: due `Overrides` contengono `InstanceRequirements` e `InstanceType`
<a name="ef-abs-example-config6"></a>

La configurazione seguente non è valida. Le strutture `Overrides` contengono sia `InstanceRequirements` che `InstanceType`. È possibile specificare `InstanceRequirements` o `InstanceType` ma non entrambi, anche se si trovano in strutture `Overrides` differenti.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Configurazione non valida: valori di attributo sovrapposti
<a name="ef-abs-example-config7"></a>

La configurazione seguente non è valida. Le due strutture `InstanceRequirements`, ognuna contenente `"VCpuCount": {"Min": 0, "Max": 2}`. I valori di questi attributi si sovrappongono, il che restituirà pool di capacità duplicati.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

## Esempi di configurazioni del parco istanze spot che sono valide e non valide
<a name="spotfleet-abs-example-configs"></a>

Se utilizzi il AWS CLI per creare una flotta Spot, devi assicurarti che la configurazione del tuo parco veicoli sia valida. I seguenti esempi mostrano configurazioni valide e non valide.

Le configurazioni sono considerate non valide quando contengono quanto segue:
+ Una singola struttura `Overrides` con `InstanceRequirements` e `InstanceType`
+ Due strutture `Overrides`, una con `InstanceRequirements` e l’altra con `InstanceType`
+ Due strutture `InstanceRequirements` con valori di attributo sovrapposti all’interno dello stesso `LaunchTemplateSpecification`

**Topics**
+ [

### Configurazione valida: modello di avvio singolo con sostituzioni
](#sf-abs-example-config1)
+ [

### Configurazione valida: modello di avvio singolo con più InstanceRequirements
](#sf-abs-example-config2)
+ [

### Configurazione valida: due modelli di avvio, ognuno con sostituzioni
](#sf-abs-example-config3)
+ [

### Configurazione valida: specificati solo `InstanceRequirements`, nessun valore di attributo sovrapposto
](#sf-abs-example-config4)
+ [

### Configurazione non valida: `Overrides` contiene `InstanceRequirements` e `InstanceType`
](#sf-abs-example-config5)
+ [

### Configurazione non valida: due `Overrides` contengono `InstanceRequirements` e `InstanceType`
](#sf-abs-example-config6)
+ [

### Configurazione non valida: valori di attributo sovrapposti
](#sf-abs-example-config7)

### Configurazione valida: modello di avvio singolo con sostituzioni
<a name="sf-abs-example-config1"></a>

La configurazione seguente è valida. Contiene un modello di avvio e una struttura `Overrides` contenente una struttura `InstanceRequirements`. Di seguito è riportata una spiegazione della configurazione di esempio.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
        "TargetCapacity": 5000,
            "OnDemandTargetCapacity": 0,
            "TargetCapacityUnitType": "vcpu"
    }
}
```

****`InstanceRequirements`****  
Per utilizzare la selezione dell’istanza basata su attributi, è necessario includere la struttura `InstanceRequirements` nella configurazione del parco istanze e specificare gli attributi desiderati per le istanze nel parco istanze.

Nell’esempio precedente, vengono specificati i seguenti attributi di istanza:
+ `VCpuCount`— I tipi di istanza devono avere un minimo di 2 e un massimo di 8 vCPUs.
+ `MemoryMiB`: i tipi di istanza devono avere un massimo di 10240 MiB di memoria. Un minimo di 0 indica nessun limite minimo.
+ `MemoryGiBPerVCpu`: i tipi di istanza devono avere un massimo di 10.000 MiB di memoria per vCPU. Il parametro `Min` è facoltativo. Omettendolo, non si indica alcun limite minimo.

**`TargetCapacityUnitType`**  
Il parametro `TargetCapacityUnitType` specifica l’unità per la capacità di destinazione. Nell'esempio, la capacità target è `5000` e il tipo di unità di capacità target è`vcpu`, che insieme specificano una capacità target desiderata di 5.000 CPUs v. Spot Fleet lancerà un numero sufficiente di istanze in modo che il numero totale di v CPUs nel parco istanze sia di 5.000 v. CPUs

### Configurazione valida: modello di avvio singolo con più InstanceRequirements
<a name="sf-abs-example-config2"></a>

La configurazione seguente è valida. Contiene un modello di avvio e una struttura `Overrides` contenente due strutture `InstanceRequirements`. Gli attributi specificati in `InstanceRequirements` sono validi perché i valori non si sovrappongono: la prima `InstanceRequirements` struttura specifica a `VCpuCount` di 0-2 vCPUs, mentre la seconda `InstanceRequirements` struttura specifica 4-8 v. CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Configurazione valida: due modelli di avvio, ognuno con sostituzioni
<a name="sf-abs-example-config3"></a>

La configurazione seguente è valida. Contiene due modelli di avvio, ognuno con una struttura `Overrides` contenente una struttura `InstanceRequirements`. Questa configurazione è utile per il supporto delle architetture `arm` e `x86` nello stesso parco istanze.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Configurazione valida: specificati solo `InstanceRequirements`, nessun valore di attributo sovrapposto
<a name="sf-abs-example-config4"></a>

La configurazione seguente è valida. Contiene due strutture `LaunchTemplateSpecification`, ognuna con un modello di avvio e una struttura `Overrides` contenente una struttura `InstanceRequirements`. Gli attributi specificati in `InstanceRequirements` sono validi perché i valori non si sovrappongono: la prima `InstanceRequirements` struttura specifica a di 0-2 v, mentre la seconda struttura specifica 4-8 `VCpuCount` v. CPUs `InstanceRequirements` CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Configurazione non valida: `Overrides` contiene `InstanceRequirements` e `InstanceType`
<a name="sf-abs-example-config5"></a>

La configurazione seguente non è valida. La struttura `Overrides` include sia `InstanceRequirements` che `InstanceType`. Per le `Overrides`, è possibile specificare `InstanceRequirements` o `InstanceType`, ma non entrambi.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Configurazione non valida: due `Overrides` contengono `InstanceRequirements` e `InstanceType`
<a name="sf-abs-example-config6"></a>

La configurazione seguente non è valida. Le strutture `Overrides` contengono sia `InstanceRequirements` che `InstanceType`. È possibile specificare `InstanceRequirements` o `InstanceType` ma non entrambi, anche se si trovano in strutture `Overrides` differenti.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Configurazione non valida: valori di attributo sovrapposti
<a name="sf-abs-example-config7"></a>

La configurazione seguente non è valida. Le due strutture `InstanceRequirements`, ognuna contenente `"VCpuCount": {"Min": 0, "Max": 2}`. I valori di questi attributi si sovrappongono, il che restituirà pool di capacità duplicati.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

## Anteprima di tipi di istanza con attributi specificati
<a name="ec2fleet-get-instance-types-from-instance-requirements"></a>

È possibile utilizzare il comando [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) per visualizzare in anteprima i tipi di istanza che corrispondono agli attributi specificati. Ciò è particolarmente utile per capire quali attributi specificare nella configurazione della richiesta senza avviare alcuna istanza. Si noti che il comando non considera la capacità disponibile.

**Per visualizzare in anteprima un elenco di tipi di istanze specificando gli attributi utilizzando il AWS CLI**

1. (Facoltativo) Per generare tutti i possibili attributi che possono essere specificati, utilizzate il comando [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) e il parametro. `--generate-cli-skeleton` Facoltativamente, è possibile indirizzare l’output a un file per salvarlo tramite `input > attributes.json`.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --region us-east-1 \
       --generate-cli-skeleton input > attributes.json
   ```

   Output previsto

   ```
   {
       "DryRun": true,
       "ArchitectureTypes": [
           "i386"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 0,
               "Max": 0
           },
           "MemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "CpuManufacturers": [
               "intel"
           ],
           "MemoryGiBPerVCpu": {
               "Min": 0.0,
               "Max": 0.0
           },
           "ExcludedInstanceTypes": [
               ""
           ],
           "InstanceGenerations": [
               "current"
           ],
           "SpotMaxPricePercentageOverLowestPrice": 0,
           "OnDemandMaxPricePercentageOverLowestPrice": 0,
           "BareMetal": "included",
           "BurstablePerformance": "included",
           "RequireHibernateSupport": true,
           "NetworkInterfaceCount": {
               "Min": 0,
               "Max": 0
           },
           "LocalStorage": "included",
           "LocalStorageTypes": [
               "hdd"
           ],
           "TotalLocalStorageGB": {
               "Min": 0.0,
               "Max": 0.0
           },
           "BaselineEbsBandwidthMbps": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorTypes": [
               "gpu"
           ],
           "AcceleratorCount": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorManufacturers": [
               "nvidia"
           ],
           "AcceleratorNames": [
               "a100"
           ],
           "AcceleratorTotalMemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "NetworkBandwidthGbps": {
               "Min": 0.0,
               "Max": 0.0
           },
           "AllowedInstanceTypes": [
               ""
           ]
       },
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. Creare un file di configurazione JSON utilizzando l’output del passaggio precedente e configurarlo come segue:
**Nota**  
È necessario fornire valori per `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount` e `MemoryMiB`. È possibile omettere gli altri attributi, nel qual caso saranno utilizzati i valori di default.  
[Per una descrizione di ogni attributo e dei relativi valori predefiniti, vedere -instance-requirements. get-instance-types-from](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html)

   1. Per `ArchitectureTypes`, specificare uno o più tipi di architettura del processore.

   1. Per `VirtualizationTypes`, specificare uno o più tipi di virtualizzazione.

   1. Per`VCpuCount`, specifica il numero minimo e massimo di v. CPUs Per non specificare alcun limite minimo, per`Min`, specificare`0`. Per non specificare alcun limite massimo, omettere il parametro `Max`.

   1. Per `MemoryMiB`, specificare la quantità minima e massima di memoria in MiB. Per non specificare un limite minimo, per `Min`, specificare `0`. Per non specificare alcun limite massimo, omettere il parametro `Max`.

   1. Facoltativamente, è possibile specificare uno o più altri attributi per limitare ulteriormente l’elenco di tipi di istanza restituiti.

1. Per visualizzare in anteprima i tipi di istanza con gli attributi specificati nel file JSON, utilizzate il comando [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) e specificate il nome e il percorso del file JSON utilizzando il parametro. `--cli-input-json` Facoltativamente, è possibile formattare l’output in modo che venga visualizzato in un formato tabella.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --cli-input-json file://attributes.json \
       --output table
   ```

   Esempio di file *attributes.json*

   In questo esempio gli attributi richiesti sono inclusi nel file JSON. Tali attributi sono `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount` e `MemoryMiB`. Inoltre, è incluso anche l’attributo facoltativo `InstanceGenerations`. Tenere presente che per `MemoryMiB`, il valore `Max` può essere omesso per indicare che non c’è alcun limite.

   ```
   {
       
       "ArchitectureTypes": [
           "x86_64"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 4,
               "Max": 6
           },
           "MemoryMiB": {
               "Min": 2048
           },
           "InstanceGenerations": [
               "current"
           ]
       }
   }
   ```

   Output di esempio

   ```
   ------------------------------------------
   |GetInstanceTypesFromInstanceRequirements|
   +----------------------------------------+
   ||             InstanceTypes            ||
   |+--------------------------------------+|
   ||             InstanceType             ||
   |+--------------------------------------+|
   ||  c4.xlarge                           ||
   ||  c5.xlarge                           ||
   ||  c5a.xlarge                          ||
   ||  c5ad.xlarge                         ||
   ||  c5d.xlarge                          ||
   ||  c5n.xlarge                          ||
   ||  d2.xlarge                           ||
   ...
   ```

1. Dopo aver identificato i tipi di istanza che soddisfano le proprie esigenze, prendere nota degli attributi di istanza utilizzati in modo da poterli utilizzare durante la configurazione della richiesta del parco istanze.

# Utilizza la ponderazione delle istanze per gestire i costi e le prestazioni del parco istanze EC2 o del parco istanze spot
<a name="ec2-fleet-instance-weighting"></a>

Con la ponderazione delle istanze, assegni un peso a ciascun tipo di istanza del parco istanze EC2 o del parco istanze Spot per rappresentarne la capacità di calcolo e le prestazioni reciproche. In base ai pesi, il parco istanze può utilizzare qualsiasi combinazione dei tipi di istanza specificati, purché sia in grado di soddisfare la capacità target desiderata. Questo può aiutarti a gestire i costi e le prestazioni del tuo parco istanze.

Il peso rappresenta le unità di capacità con cui un tipo di istanza contribuisce alla capacità target totale.

**Esempio: utilizza la ponderazione delle istanze per la gestione delle prestazioni**

Supponiamo che il tuo parco istanze abbia due tipi di istanza e che tu assegni un peso diverso a ciascun tipo di istanza per riflettere quante istanze ti servono per ottenere le stesse prestazioni, come indicato di seguito:
+  `m5.large` – peso: 1
+ `m5.2xlarge` – peso: 4

Assegnando questi pesi, stai dicendo che avresti bisogno di 4 istanze `m5.large` per ottenere le stesse prestazioni di 1 `m5.2xlarge`.

Per calcolare quante istanze di ogni tipo di istanza sono necessarie per una determinata capacità target, utilizza la formula seguente:

`target capacity / weight = number of instances`

Se la capacità target è di 8 unità, il parco istanze può raggiungere la capacità target con `m5.large` o `m5.2xlarge`, o con una combinazione di entrambe, come indicato di seguito:
+ 8 istanze `m5.large` (capacità di 8 / peso di 1 = 8 istanze)
+ 2 istanze `m5.2xlarge` (capacità di 8 / peso di 4 = 2 istanze)
+ 4 `m5.large` e 1 `m5.2xlarge`

**Esempio: utilizza la ponderazione delle istanze per la gestione dei costi**

Per impostazione predefinita, il prezzo specificato è all’*ora per istanza*. Quando si utilizza la funzionalità di ponderazione di istanza, il prezzo specificato è all’*ora per unità*. È possibile calcolare il prezzo all’ora per unità dividendo il prezzo di un tipo di istanza per il numero di unità che essa rappresenta. Il parco istanze calcola il numero di istanze da avviare dividendo la capacità target per il peso dell’istanza. Se il risultato non è un numero intero, il parco istanze lo arrotonda al numero intero successivo, in modo che la dimensione del parco istanze non sia inferiore alla sua capacità di destinazione. Il parco istanze può selezionare qualsiasi pool specificato nella specifica di avvio, anche se la capacità delle istanze avviate supera la capacità di destinazione richiesta.

La tabella seguente include esempi di calcoli per determinare il prezzo per unità per un parco istanze con una capacità target di 10.


| Tipo di istanza | Peso dell’istanza | Capacità di destinazione | Numero di istanze avviate | Prezzo all’ora per istanza | Prezzo all’ora per unità | 
| --- | --- | --- | --- | --- | --- | 
| r3.xlarge |  2  | 10 |  5 (10 diviso 2)  |  0,05 USD  |  0,025 USD (0,05 diviso 2)  | 
| r3.8xlarge |  8  | 10 |  2 (10 diviso 8, risultato arrotondato)  |  0,10 USD  |  0,0125 USD (0,10 diviso 8)  | 

Utilizzare la ponderazione d’istanza del parco istanze come segue per assegnare la capacità target desiderata nei pool con il prezzo più basso per unità al momento dell’adempimento:

1. Impostare la capacità target per il parco istanze sia nelle istanze (predefinite) sia nelle unità prescelte, come vCPU, memoria, archiviazione o throughput.

1. Impostare il prezzo per unità.

1. Per ogni specifica di avvio, indicare il peso, ovvero il numero di unità che il tipo di istanza rappresenta per la capacità di destinazione.

**Esempio di ponderazione istanza**  
Considerare una richiesta del parco istanze con la configurazione seguente:
+ Una capacità di destinazione di 24
+ Una specifica di avvio con un tipo di istanza `r3.2xlarge` e un peso di 6
+ Una specifica di avvio con un tipo di istanza `c3.xlarge` e un peso di 5

I pesi rappresentano il numero di unità che il tipo di istanza rappresenta per la capacità di destinazione. Se la prima specifica di avvio fornisce il prezzo più basso per unità (prezzo per `r3.2xlarge` all’ora per istanza diviso 6), il parco istanze lancerà quattro di tali istanze (24 diviso 6).

Se la seconda specifica di avvio fornisce il prezzo più basso per unità (prezzo per `c3.xlarge` all’ora per istanza diviso 5), il parco istanze lancerà cinque di tali istanze (24 diviso 5, risultato arrotondato).

**Ponderazione d’istanza e strategia di allocazione**  
Considerare una richiesta del parco istanze con la configurazione seguente:
+ Una capacità obiettivo di 30 Istanze spot
+ Una specifica di avvio con un tipo di istanza `c3.2xlarge` e un peso di 8
+ Una specifica di avvio con un tipo di istanza `m3.xlarge` e un peso di 8
+ Una specifica di avvio con un tipo di istanza `r3.xlarge` e un peso di 8

Il parco istanze avvierà quattro istanze (30 diviso 8, risultato arrotondato). Con la strategia `diversified`, il parco istanze avvia un’istanza in ognuno dei tre pool e la quarta istanza in qualsiasi dei tre pool che fornisce il prezzo più basso per unità.

# Utilizza le strategie di allocazione per determinare in che modo il parco istanze EC2 o il parco istanze spot soddisfano la capacità spot e on demand
<a name="ec2-fleet-allocation-strategy"></a>

Quando utilizzi molteplici pool di capacità (ciascuno comprendente un tipo di istanza e una zona di disponibilità) in un parco istanze EC2 o in un parco istanze Spot, puoi utilizzare una *strategia di allocazione* per gestire il modo in cui Amazon EC2 soddisfa le capacità spot e on demand da tali pool. Le strategie di allocazione possono ottimizzare la capacità disponibile, il prezzo e i tipi di istanza da utilizzare. Vi sono diverse strategie di allocazione per le istanze spot e le istanze on demand.

**Topics**
+ [

## Strategie di allocazione per istanze spot
](#ec2-fleet-allocation-strategies-for-spot-instances)
+ [

## Strategie di allocazione per istanze on demand
](#ec2-fleet-allocation-strategies-for-on-demand-instances)
+ [

## Scelta della strategia di allocazione spot adeguata
](#ec2-fleet-allocation-use-cases)
+ [

## Mantenimento della capacità target per le istanze Spot
](#ec2-fleet-maintain-fleet-capacity)
+ [

## Dare priorità ai tipi di istanze per la capacità on demand
](#ec2-fleet-on-demand-priority)

## Strategie di allocazione per istanze spot
<a name="ec2-fleet-allocation-strategies-for-spot-instances"></a>

La configurazione di avvio determina tutti i possibili pool di capacità spot (tipi di istanze e zone di disponibilità) da cui il parco istanze EC2 o il parco istanze spot possono avviare istanze spot. Tuttavia, al momento del lancio delle istanze, il parco istanze utilizza la strategia di allocazione specificata per scegliere i pool specifici da tutti i pool possibili.

**Nota**  
(Solo istanze Linux) Se si configura l’istanza spot per l’avvio con [AMD SEV-SNP](sev-snp.md) attivato, viene addebitata una tariffa di utilizzo oraria aggiuntiva equivalente al 10% della [tariffa oraria on demand](https://aws.amazon.com/ec2/pricing/on-demand/) del tipo di istanza selezionato. Se la strategia di allocazione utilizza il prezzo come input, il parco istanze non include questa tariffa aggiuntiva; viene utilizzato solo il prezzo spot.

È possibile specificare una delle seguenti strategie di allocazione per le istanze Spot:

**Ottimizzazione per prezzo e capacità** (consigliato)  
Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine. Dopodiché, il parco istanze richiede istanze spot dal pool con il prezzo più basso tra questi pool.  
La strategia di allocazione con **ottimizzazione per prezzo e capacità** è la scelta migliore per la maggior parte dei carichi di lavoro spot, come applicazioni containerizzate stateless, microservizi, applicazioni Web, processi di dati e analisi ed elaborazione in batch.  
Se utilizzi il AWS CLI, il nome del parametro è `price-capacity-optimized` per EC2 Fleet e `priceCapacityOptimized` per Spot Fleet.

**Ottimizzazione per capacità**  
Il parco istanze identifica i pool con la massima capacità disponibile per il numero di istanze che si stanno avviando. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine.  
Con Istanze spot, i prezzi cambiano lentamente nel tempo in base ai trend a lungo termine dell’offerta e della domanda, ma la capacità fluttua in tempo reale. La strategia **con ottimizzazione per capacità** avvia automaticamente Istanze spot nei pool più disponibili esaminando i dati di capacità in tempo reale e prevedendo quali sono le più disponibili. Questa strategia è ideale per carichi di lavoro che possono avere un costo più elevato di interruzione associato al riavvio del lavoro, ad esempio carichi di lavoro di integrazione continua (CI), rendering di immagini e media, deep learning e calcolo ad alte prestazioni (HPC), che possono avere un costo più elevato di interruzione associato al riavvio del lavoro. Offrendo la possibilità di ridurre il numero di interruzioni, la strategia **con ottimizzazione per capacità** può ridurre il costo complessivo del carico di lavoro.  
In alternativa, puoi utilizzare la strategia di allocazione **con priorità di ottimizzazione per capacità** con un parametro di priorità e quindi impostare l’ordine dei tipi di istanza dalla priorità più alta alla più bassa. Puoi impostare la stessa priorità per diversi tipi di istanze. Il parco istanze ottimizzerà innanzitutto la capacità, ma rispetterà le priorità del tipo di istanza sulla base del miglior tentativo (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità del parco istanze di fornire capacità ottimale). Questa è una buona opzione per i carichi di lavoro in cui è necessario ridurre al minimo la possibilità di interruzioni e la preferenza per determinati tipi di istanza è importante. Tieni presente che quando imposti la priorità per tipi di istanza per la capacità spot, la stessa priorità viene applicata anche alle istanze on demand se la strategia di allocazione on demand è impostata su **prioritaria**. Per il parco istanze spot, l’utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di avvio.   
Se utilizzi AWS CLI, i nomi dei parametri sono `capacity-optimized` e `capacity-optimized-prioritized` per EC2 Fleet e `capacityOptimized` e `capacityOptimizedPrioritized` per Spot Fleet.

**Diversificata**  
I Istanze spot sono distribuiti in tutti i pool di capacità spot. Se utilizzi il AWS CLI, il nome del parametro è sia `diversified` per EC2 Fleet che per Spot Fleet.

**Prezzo più basso** (non consigliato)  
Non consigliamo la strategia di allocazione con **prezzo più basso** perché presenta il rischio di interruzione più elevato per le tue istanze spot.
Le istanze spot provengono dal pool con il prezzo più basso che ha capacità disponibile. Quando si utilizza AWS CLI, questa è la strategia predefinita. Tuttavia, consigliamo di sostituire il valore predefinito specificando la strategia di allocazione **con ottimizzazione per prezzo e capacità**.  
Con la strategia del prezzo più basso, se il pool con il prezzo più basso non ha capacità disponibile, le istanze spot provengono dal successivo pool con il prezzo più basso che ha capacità disponibile. Se un pool esaurisce la capacità prima di soddisfare la capacità desiderata, il parco istanze continuerà a soddisfare la richiesta attingendo dal successivo pool con il prezzo più basso. Per accertarti che la capacità desiderata sia soddisfatta, potresti ricevere istanze spot da vari pool.  
Poiché questa strategia considera solo il prezzo dell’istanza e non la capacità disponibile, potrebbe comportare tassi di interruzione elevati.  
La strategia di allocazione del prezzo più basso è disponibile solo quando si utilizza la AWS CLI. Il nome del parametro è `lowest-price` per il parco istanze EC2 e `lowestPrice` per il parco istanze spot.

**Numero di pool da utilizzare**  
Il numero di pool Spot in cui allocare la capacità Spot di destinazione. Valido solo quando la strategia di allocazione è impostata sul **prezzo più basso**. Il parco istanze seleziona i pool spot con il prezzo più basso e alloca in modo uniforme la capacità spot obiettivo tra i pool spot specificati.  
Tieni presente che il parco istanze prova a prelevare istanze spot dal numero di pool specificati sulla base del massimo sforzo. Se un pool esaurisce la capacità spot prima di soddisfare la capacità obiettivo, il parco istanze continuerà a soddisfare la tua richiesta attingendo al pool con il prezzo più basso successivo. Per garantire che la capacità di destinazione sia soddisfatta, è possibile ricevere istanze spot da un numero di pool maggiore di quello specificato. Analogamente, se la maggior parte dei pool non dispone di capacità spot, è possibile ricevere la capacità di destinazione completa da un numero di pool inferiore a quello specificato.  
Questo parametro è disponibile solo quando si specifica la strategia di allocazione del **prezzo più basso** e solo quando si utilizza la AWS CLI. Il nome del parametro è `InstancePoolsToUseCount` sia per il parco istanze EC2 sia per il parco istanze spot.

## Strategie di allocazione per istanze on demand
<a name="ec2-fleet-allocation-strategies-for-on-demand-instances"></a>

La configurazione di avvio determina tutti i possibili pool di capacità (tipi di istanze e zone di disponibilità) da cui il parco istanze EC2 o il parco istanze spot può avviare istanze on demand. Tuttavia, al momento del lancio delle istanze, il parco istanze utilizza la strategia di allocazione specificata per scegliere i pool specifici da tutti i pool possibili.

Puoi specificare una delle seguenti strategie di allocazione per le istanze on demand:

**Prezzo più basso**  
Le istanze on demand provengono dal pool con il prezzo più basso che ha capacità disponibile. Questa è la strategia predefinita.  
Se il pool con il prezzo più basso non ha capacità disponibile, le istanze on demand provengono dal successivo pool con il prezzo più basso che ha capacità disponibile.  
Se un pool esaurisce la capacità prima di soddisfare la capacità desiderata, il parco istanze continuerà a soddisfare la richiesta attingendo dal successivo pool con il prezzo più basso. Per accertarti che la capacità desiderata sia soddisfatta, potresti ricevere istanze on demand da vari pool.

**Prioritaria**  
Il parco istanze utilizza la priorità che hai assegnato a ogni sostituzione del modello di avvio, avviando tipi di istanza prima nell’ordine per la priorità più alta. Questa strategia non può essere utilizzata con la selezione del tipo di istanza basata su attributi. Per un esempio di come utilizzare questa strategia di allocazione, consulta [Dare priorità ai tipi di istanze per la capacità on demand](#ec2-fleet-on-demand-priority).

## Scelta della strategia di allocazione spot adeguata
<a name="ec2-fleet-allocation-use-cases"></a>

Puoi ottimizzare il tuo parco istanze in base al tuo caso d’uso scegliendo la strategia di allocazione spot appropriata.

### Equilibrio tra prezzo più basso e capacità disponibile
<a name="ec2-fleet-strategy-balance-price-and-capacity-availability"></a>

Per bilanciare i compromessi tra i pool di capacità spot con il prezzo più basso e i pool di capacità spot con la massima capacità disponibile, ti consigliamo di utilizzare la strategia di allocazione **con ottimizzazione per prezzo e capacità**. Questa strategia decide a quali pool richiedere le istanze spot tenendo conto sia del prezzo dei pool sia della capacità di istanze spot disponibile in tali pool. Ciò implica che richiederemo istanze spot dai pool che riteniamo avere le minori possibilità di interruzione nel breve termine, tenendo comunque conto del prezzo.

Se il tuo parco istanze esegue carichi di lavoro resilienti e stateless, tra cui applicazioni containerizzate, microservizi, applicazioni Web, processi di dati e analisi ed elaborazione in batch, utilizza la strategia di allocazione **con ottimizzazione per prezzo e capacità** per risparmiare sui costi e disporre di una capacità ottimale.

Se il parco istanze esegue carichi di lavoro che possono avere un costo più elevato di interruzione associato al riavvio del lavoro, ti consigliamo implementare i checkpoint affinché le applicazioni possano riavviarsi da quel punto in caso di interruzione. Utilizzando i checkpoint, la strategia di allocazione **con ottimizzazione per prezzo e capacità** è una buona scelta per questi carichi di lavoro perché alloca la capacità dai pool con il prezzo più basso che offrono anche una bassa frequenza di interruzione delle istanze spot.

Per configurazioni JSON di esempio che utilizzano la strategia di allocazione **con ottimizzazione per prezzo e capacità**, consulta quanto segue:
+ Parco istanze EC2 – [Esempio 10: avviare istanze Spot in un parco istanze price-capacity-optimized](ec2-fleet-examples.md#ec2-fleet-config11)
+ Parco istanze spot – [Esempio 11: Avvia le istanze spot in un parco istanze priceCapacityOptimized](spot-fleet-examples.md#fleet-config11)

### Quando i carichi di lavoro hanno un costo di interruzione elevato
<a name="ec2-fleet-strategy-capacity-optimized"></a>

Facoltativamente, è possibile utilizzare la strategia **con ottimizzazione per capacità** se si eseguono carichi di lavoro che utilizzano tipi di istanze con prezzi simili o in cui il costo dell’interruzione è così significativo che qualsiasi risparmio sui costi è inadeguato rispetto a un aumento marginale delle interruzioni. Questa strategia alloca la capacità dai pool di capacità spot con maggiore disponibilità che offrono una possibilità minore di interruzioni, il che può ridurre il costo complessivo del carico di lavoro.

Quando è necessario ridurre al minimo la possibilità di interruzione ma la preferenza per determinati tipi di istanza è importante, puoi esprimere le priorità dei pool utilizzando la strategia di allocazione **con priorità ottimizzata per capacità** e quindi impostare l’ordine dei tipi di istanza da utilizzare dalla priorità più alta alla più bassa.

Tieni presente che quando imposti le priorità per la strategia **con priorità ottimizzata per capacità**, le stesse priorità vengono applicate anche alle istanze on demand se la strategia di applicazione on demand è impostata su **prioritaria**. Inoltre, per il parco istanze spot, l’utilizzo delle priorità è supportato solo se il parco istanze utilizza un modello di avvio.

Per configurazioni JSON di esempio che utilizzano la strategia di allocazione **con ottimizzazione per capacità**, consulta quanto segue:
+ Parco istanze EC2 – [Esempio 8: Avviare le istanze spot in un parco istanze ottimizzato per la capacità](ec2-fleet-examples.md#ec2-fleet-config9)
+ Parco istanze spot – [Esempio 9: Avvia le istanze spot in un parco istanze ottimizzato per la capacità](spot-fleet-examples.md#fleet-config9)

Per configurazioni JSON di esempio che utilizzano la strategia di allocazione **con priorità ottimizzata per capacità**, consulta quanto segue:
+ Parco istanze EC2 – [Esempio 9: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità](ec2-fleet-examples.md#ec2-fleet-config10)
+ Parco istanze spot – [Esempio 10: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità](spot-fleet-examples.md#fleet-config10)

### Quando il carico di lavoro è flessibile in termini di tempo e la capacità disponibile non è un fattore rilevante
<a name="ec2-fleet-strategy-time-flexible-workload"></a>

Se il parco istanze è piccolo o viene eseguito per un breve periodo di tempo, puoi utilizzare la strategia **con ottimizzazione per prezzo e capacità** per massimizzare i risparmi sui costi pur tenendo conto della capacità disponibile.

### Quando il parco istanze è grande o viene eseguito per un lungo periodo di tempo
<a name="ec2-fleet-strategy-large-workload-long-time"></a>

Se il parco istanze è grande o funziona per un lungo periodo di tempo, puoi aumentare la disponibilità del parco istanze distribuendo la Istanze spot tra più pool utilizzando la strategia **diversificata**. Ad esempio, se il parco istanze specifica 10 pool e una capacità target pari a 100 istanze, il parco istanze avvia 10 istanze spot in ogni pool. Se il prezzo Spot per un pool supera il prezzo massimo per tale pool, solo il 10% del parco istanze ne è interessato. L’utilizzo di questa strategia rende inoltre il parco istanze meno sensibile agli aumenti del prezzo Spot in ogni pool unico nel tempo. Con la strategia **diversificata**, il parco istanze non avvia le istanze spot nei pool con un prezzo Spot uguale o maggiore del [prezzo on demand](https://aws.amazon.com/ec2/pricing/).

## Mantenimento della capacità target per le istanze Spot
<a name="ec2-fleet-maintain-fleet-capacity"></a>

Dopo che le istanze spot sono terminate a causa di una modifica del prezzo di Spot o della capacità disponibile di un pool di capacità spot, un parco istanze di tipo `maintain` avvia il istanze spot di sostituzione. La strategia di allocazione determina i pool da cui vengono avviate le istanze sostitutive, come segue:
+ Se la strategia di allocazione è **ottimizzata per prezzo e capacità**, il parco istanze avvia le istanze sostitutive nei pool che hanno la massima capacità disponibile di istanze spot tenendo in considerazione e identificando anche i pool con il prezzo più basso con una capacità disponibile elevata.
+ Se la strategia di allocazione è **ottimizzata per capacità**, il parco istanze avvia le istanze sostitutive nei pool che hanno la massima capacità disponibile di istanze spot.
+ Se la strategia di allocazione è **diversificata**, il parco istanze distribuisce le Istanze spot sostitutive nei pool rimanenti.

## Dare priorità ai tipi di istanze per la capacità on demand
<a name="ec2-fleet-on-demand-priority"></a>

Quando un parco istanze EC2 o un parco istanze spot cerca di soddisfare la capacità on demand, per impostazione predefinita avvia come primo tipo di istanza quello con il prezzo più basso. Se la strategia di allocazione on demand è impostata su **prioritaria**, il parco istanze utilizza la priorità per stabilire quale tipo di istanza usare per prima per sfruttare la capacità on demand. La priorità è assegnata alla sostituzione del modello di avvio e la priorità più alta viene lanciata per prima.

**Esempio: assegnare priorità ai tipi di istanza**

Ad esempio, hai configurato tre sostituzioni dei modelli di avvio, ognuna con un tipo di istanza diversa.

Il prezzo on demand per i tipi di istanze varia nel prezzo. Di seguito sono riportati i tipi di istanza utilizzati in questo esempio, elencati in ordine di prezzo, a partire dal tipo di istanza più economico:
+ `m4.large`: meno costosa
+ `m5.large`
+ `m5a.large`

Se non usi la priorità per stabilire l’ordine, il parco istanze utilizza la capacità on demand partendo dal tipo di istanza con il prezzo più basso.

Tuttavia, poniamo che tu non abbia utilizzato le istanze riservate `m5.large` che vuoi utilizzare per prime. È possibile impostare la priorità di sostituzione del modello di avvio in modo che i tipi di istanze vengano utilizzati nell’ordine di priorità, come segue:
+ `m5.large`: priorità 1
+ `m4.large`: priorità 2
+ `m5a.large`: priorità 3

# Utilizza il ribilanciamento della capacità nel parco istanze EC2 e nel parco istanze spot per sostituire le istanze spot a rischio
<a name="ec2-fleet-capacity-rebalance"></a>

Con il ribilanciamento della capacità, il parco istanze EC2 o il parco istanze spot possono mantenere la capacità spot desiderata sostituendo in modo proattivo le istanze spot a rischio di interruzione. Quando un’istanza Spot è a rischio elevato di interruzione, Amazon EC2 invia un [suggerimento di ribilanciamento](rebalance-recommendations.md). Se il ribilanciamento della capacità è abilitato, il suggerimento di ribilanciamento innesca l’avvio di una nuova istanza Spot prima che l’istanza a rischio venga interrotta.

Il ribilanciamento della capacità consente di mantenere la disponibilità del carico di lavoro aumentando proattivamente il parco istanze con nuove istanze spot prima che le istanze in esecuzione vengano interrotte da Amazon EC2.

**Per configurare il parco istanze EC2 per usare il ribilanciamento della capacità per avviare un’istanza spot sostitutiva**  
Utilizza il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) e i parametri pertinenti nella struttura `MaintenanceStrategies`. Per una configurazione JSON di esempio, consulta [Esempio 7: Configurare il ribilanciamento della capacità per avviare la sostituzione delle istanze spot](ec2-fleet-examples.md#ec2-fleet-config8).

**Per configurare il parco istanze spot per usare il ribilanciamento della capacità per avviare un’istanza spot sostitutiva**  
Puoi utilizzare la console Amazon EC2 o configurare Capacity AWS CLI Rebalancing.

(Console) Quando si crea il parco istanze spot, seleziona la casella di spunta **Ribilanciamento capacità**. Per ulteriori informazioni, consulta la fase 6.d in [Crea una richiesta di parco istanze spot utilizzando parametri definiti](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Utilizza il [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)comando e i parametri pertinenti nella struttura. `SpotMaintenanceStrategies` Per una configurazione JSON di esempio, consulta [Esempio 8: Configura il ribilanciamento della capacità per avviare la sostituzione delle istanze spot](spot-fleet-examples.md#fleet-config8).

**Topics**
+ [

## Limitazioni
](#ec2-fleet-capacity-rebalance-limitations)
+ [

## Opzioni di configurazione
](#ec2-fleet-capacity-rebalance-config-options)
+ [

## Considerazioni
](#ec2-fleet-capacity-rebalance-considerations)

## Limitazioni
<a name="ec2-fleet-capacity-rebalance-limitations"></a>
+ Il ribilanciamento della capacità è disponibile solo per i parchi istanza di tipo `maintain`.
+ Quando il parco istanze è in esecuzione, non è possibile modificare l’impostazione di ribilanciamento della capacità. Per modificare l’impostazione di ribilanciamento capacità, è necessario eliminare il parco istanze e crearne uno nuovo.

## Opzioni di configurazione
<a name="ec2-fleet-capacity-rebalance-config-options"></a>

`ReplacementStrategy` per il parco istanze EC2 e il parco istanze spot supporta i due seguenti valori:

`launch-before-terminate`  
Amazon EC2 termina le istanze spot che ricevono una notifica di ribilanciamento dopo avere avviato le nuove istanze spot sostitutive. Se si specifica `launch-before-terminate`, occorre specificare un valore anche per `termination-delay`. Dopo l’avvio delle nuove istanze sostitutive, Amazon EC2 attende la durata di `termination-delay`, quindi termina le vecchie istanze. Per `termination-delay`, il minimo è 120 secondi (2 minuti) e il massimo è di 7200 secondi (2 ore).  
Consigliamo di utilizzare `launch-before-terminate` solo se è possibile prevedere il tempo necessario per il completamento delle procedure di arresto dell’istanza. Ciò garantirà che le vecchie istanze vengano terminate solo dopo il completamento delle procedure di arresto. Tenere presente che Amazon EC2 può interrompere le vecchie istanze con un avviso di due minuti prima di `termination-delay`.  
Consigliamo vivamente di non utilizzare la strategia di allocazione `lowest-price` (parco istanze EC2) o `lowestPrice` (parco istanze spot) insieme a `launch-before-terminate` per evitare di avere istanze spot sostitutive che presentano anche un rischio elevato di interruzione.

`launch`  
Amazon EC2 avvia le istanze spot sostitutive quando viene emessa una notifica di ribilanciamento per le istanze spot esistenti. Amazon EC2 non termina le istanze che ricevono una notifica di ribilanciamento. È possibile terminare le vecchie istanze o lasciarle in esecuzione. Saranno addebitati i costi per entrambe le istanze durante la loro esecuzione.

## Considerazioni
<a name="ec2-fleet-capacity-rebalance-considerations"></a>

Se si configura un parco istanze EC2 o un parco istanze spot per il ribilanciamento della capacità, è necessario considerare quanto segue:

**Fornisci il maggior numero possibile di pool di capacità spot nella richiesta**  
Configura il parco istanze per usare molteplici tipi di istanza e zone di disponibilità. Ciò fornisce la flessibilità necessaria per avviare Istanze spot in vari pool di capacità spot. Per ulteriori informazioni, consulta [Essere flessibili riguardo tipi di istanza e zone di disponibilità](spot-best-practices.md#be-instance-type-flexible).

**Evitare un rischio elevato di interruzione delle istanze spot sostitutive**  
Per evitare un rischio elevato di interruzione, consigliamo la strategia di allocazione `capacity-optimized` o `capacity-optimized-prioritized`. Queste strategie garantiscono che le Spot Instances (Istanze spot) sostitutive vengano avviate nei pool di capacità spot ottimali per cui è meno probabile che vengano interrotte nel prossimo futuro. Per ulteriori informazioni, consulta [Utilizzo della strategia di allocazione ottimizzata per prezzo e capacità](spot-best-practices.md#use-capacity-optimized-allocation-strategy).  
Se si utilizza la strategia di allocazione `lowest-price`, le istanze spot sostitutive possono comportare un elevato rischio di interruzione. Questo perché Amazon EC2 avvierà sempre le istanze nel pool con capacità disponibile al prezzo più basso in quel momento, anche se è probabile che le istanze spot sostitutive vengano interrotte subito dopo l’avvio.

**Amazon EC2 avvierà una nuova istanza solo se la disponibilità è uguale o migliore**  
Uno degli obiettivi del ribilanciamento della capacità è migliorare la disponibilità di un’istanza spot. Se un’istanza spot esistente riceve una raccomandazione di ribilanciamento, Amazon EC2 avvierà una nuova istanza solo se la nuova istanza fornisce una disponibilità uguale o migliore rispetto all’istanza esistente. Se il rischio di interruzione di una nuova istanza è peggiore di quello dell’istanza esistente, Amazon EC2 non avvierà una nuova istanza. Tuttavia, Amazon EC2 continuerà a valutare i pool di capacità spot e avvierà una nuova istanza se la disponibilità migliorerà.  
È possibile che l’istanza esistente venga interrotta senza che Amazon EC2 avvii in modo proattivo una nuova istanza. In questo caso, Amazon EC2 tenterà di avviare una nuova istanza indipendentemente dal fatto che la nuova istanza presenti un rischio elevato di interruzione.

**Il ribilanciamento della capacità non aumenta il tasso di interruzione dell’istanza Spot**  
Quando si abilita il ribilanciamento della capacità, non aumenta il [tasso di interruzione dell’istanza spot](spot-interruptions.md) (il numero di istanze Spot che vengono recuperate quando Amazon EC2 ha bisogno di capacità). Tuttavia, se il ribilanciamento della capacità rileva che un’istanza è a rischio di interruzione, Amazon EC2 tenterà immediatamente di avviare una nuova istanza. Il risultato è che potrebbero essere sostituite più istanze di quelle che sarebbero state sostituite se avessi aspettato che Amazon EC2 avviasse una nuova istanza dopo l’interruzione di quella a rischio.  
Sebbene sia possibile sostituire più istanze mediante l’abilitazione del ribilanciamento delle capacità, è meglio prendersi più tempo per agire prima che le istanze vengano interrotte. Con un [Avviso di interruzione dell’istanza Spot](spot-instance-termination-notices.md), in genere hai solo fino a due minuti per interrompere l’istanza. Con il ribilanciamento della capacità che avvia una nuova istanza in anticipo, offri ai processi esistenti maggiori possibilità di completamento sull’istanza a rischio, puoi avviare le procedure di chiusura dell’istanza e impedire la pianificazione di nuovi lavori sull’istanza a rischio. Puoi anche iniziare a preparare l’istanza appena avviata per assumere il controllo dell’applicazione. Con la sostituzione proattiva offerta dal ribilanciamento della capacità, puoi beneficiare di una continuità regolare.  
Come esempio teorico per dimostrare i rischi e i benefici dell’utilizzo del ribilanciamento della capacità, osserviamo il seguente scenario:  
+ 14:00: viene ricevuto un suggerimento di ribilanciamento per l’istanza A e Amazon EC2 inizia immediatamente a tentare di avviare un’istanza sostitutiva B, dandoti il tempo di iniziare le procedure di arresto.\$1
+ 14:30: viene ricevuto un suggerimento di ribilanciamento per l’istanza B, sostituita dall’istanza C dandoti il tempo di iniziare le procedure di arresto.\$1
+ 14:32: se il ribilanciamento della capacità non fosse abilitato e se un avviso di interruzione dell’istanza Spot fosse stato ricevuto alle 14:32 per l’istanza A, avresti avuto solo fino a due minuti per agire, ma l’istanza A sarebbe stata in esecuzione fino a questo momento.
\$1 Se `launch-before-terminate` è specificato, Amazon EC2 terminerà l’istanza a rischio dopo che l’istanza sostitutiva sarà online.

**Amazon EC2 può avviare nuove Istanze spot sostitutive fino a quando la capacità soddisfatta non è il doppio della capacità obiettivo**  
Quando un parco istanze è configurato per il ribilanciamento della capacità, il parco istanze tenta di avviare una nuova istanza spot sostitutiva per ogni istanza spot che riceve un suggerimento di ribilanciamento. Dopo che un’istanza spot riceve un suggerimento di ribilanciamento, non viene più conteggiata come parte della capacità evasa. A seconda della strategia di sostituzione, Amazon EC2 termina l’istanza dopo un ritardo di terminazione preconfigurato o la lascia in esecuzione. In questo modo è possibile eseguire [operazioni di ribilanciamento](rebalance-recommendations.md#rebalancing-actions) sull’istanza.  
Se il parco istanze raggiunge il doppio della capacità target, smette di lanciare nuove istanze sostitutive anche se le istanze sostitutive stesse ricevono una raccomandazione di ribilanciamento.  
Ad esempio, se crei un parco istanze con una capacità target di 100 istanze spot. Tutte le istanze spot ricevono un suggerimento di ribilanciamento, cosicché Amazon EC2 avvia 100 istanze spot sostitutive. In questo modo il numero di istanze spot evase sale a 200, che è il doppio della capacità target. Alcune istanze sostitutive ricevono una raccomandazione di ribilanciamento, ma non vengono più avviate istanze sostitutive perché il parco istanze non può superare il doppio della capacità target.   
Tenere presente che tutte le istanze vengono addebitate mentre sono in esecuzione.

**Si consiglia di configurare il parco istanze in modo che termini le istanze spot che ricevono un suggerimento di ribilanciamento**  
Se si configura il parco istanze per il ribilanciamento della capacità, si consiglia di scegliere `launch-before-terminate` con un ritardo di terminazione appropriato solo se è possibile prevedere il tempo necessario per il completamento delle procedure di arresto dell’istanza. Ciò garantirà che le vecchie istanze vengano terminate solo dopo il completamento delle procedure di arresto.  
Se si decide di terminare autonomamente le istanze suggerite per il ribilanciamento, si consiglia di monitorare il segnale di suggerimento del ribilanciamento ricevuto dalle istanze spot nel parco istanze. Monitorando il segnale, puoi eseguire rapidamente le [operazioni di ribilanciamento](rebalance-recommendations.md#rebalancing-actions) sulle istanze interessate prima che Amazon EC2 le interrompa; poi potrai terminarle manualmente. Se non si terminano le istanze, verranno addebitati i relativi costi fintantoché sono in esecuzione. Amazon EC2 non termina automaticamente le istanze che ricevono un suggerimento di ribilanciamento.  
Puoi configurare le notifiche utilizzando Amazon EventBridge o i metadati delle istanze. Per ulteriori informazioni, consulta [Monitorare i segnali di raccomandazione di ribilanciamento](rebalance-recommendations.md#monitor-rebalance-recommendations).

**Il parco istanze non conteggia le istanze che ricevono una raccomandazione di ribilanciamento quando calcola la capacità evasa durante il dimensionamento orizzontale o verticale**  
Se il parco istanze è configurato per il ribilanciamento della capacità e si modifica la capacità di destinazione per l’aumento o la diminuzione, il parco istanze non conteggia le istanze contrassegnate per il ribilanciamento come parte della capacità evasa, come indicato di seguito:  
+ Riduzione orizzontale: se riduci la capacità obiettivo desiderata, Amazon EC2 termina le istanze che non sono contrassegnate per il ribilanciamento fino a quando non viene raggiunta la capacità desiderata. Le istanze contrassegnate per il ribilanciamento non vengono conteggiate per la capacità evasa.

  Ad esempio, crei un parco istanze con una capacità target di 100 istanze spot. 10 istanze ricevono un suggerimento di ribilanciamento, quindi Amazon EC2 avvia 10 nuove istanze sostitutive, con una capacità soddisfatta di 110 istanze. Riduci quindi la capacità obiettivo a 50 (riduzione orizzontale), ma la capacità soddisfatta è in realtà di 60 istanze, perché le 10 istanze contrassegnate per il ribilanciamento non vengono terminate da Amazon EC2. È necessario terminare manualmente queste istanze oppure lasciarle in esecuzione.
+ Aumento orizzontale: se aumenti la capacità desiderata obiettivo, Amazon EC2 avvia nuove istanze fino al raggiungimento della capacità desiderata. Le istanze contrassegnate per il ribilanciamento non vengono conteggiate per la capacità evasa. 

  Ad esempio, crei un Parco istanze con una capacità target di 100 istanze spot. 10 istanze ricevono un suggerimento di ribilanciamento, quindi il parco istanze avvia 10 nuove istanze sostitutive, con una capacità evasa di 110 istanze. Si aumenta quindi la capacità target a 200 (dimensionamento orizzontale), ma la capacità evasa effettiva è di 210 istanze, perché le 10 istanze contrassegnate per il ribilanciamento non vengono conteggiate dal parco istanze come parte della capacità target. È necessario terminare manualmente queste istanze oppure lasciarle in esecuzione.

# Utilizza le prenotazioni della capacità per prenotare la capacità on demand nel parco istanze EC2
<a name="ec2-fleet-on-demand-capacity-reservations"></a>

Le prenotazioni della capacità on demand ti permettono di prenotare la capacità di calcolo per le istanze on demand in una zona di disponibilità specifica per qualsiasi durata. È possibile configurare un parco istanze EC2 per utilizzare prima le prenotazioni della capacità all’avvio delle istanze on demand.

Le prenotazioni della capacità on demand sono disponibili solo per il parco istanze EC2 con il tipo di richiesta impostato su `instant`.

Le prenotazioni delle capacità sono configurate come `open` o `targeted`. Il parco istanze EC2 può avviare istanze on demand nelle prenotazioni della capacità `open` o `targeted` nel modo seguente:
+ Se la prenotazione della capacità è `open`, le istanze on demand che hanno attributi corrispondenti vengono eseguite automaticamente nella capacità riservata.
+ Se la prenotazione della capacità è `targeted`, le istanze on demand devono specificamente puntarla per l’esecuzione nella capacità riservata. Ciò è utile per utilizzare una specifica prenotazione della capacità o per controllare quando utilizzare specifiche prenotazioni della capacità. 

Se si utilizzano le prenotazioni della capacità `targeted` nel parco istanze EC2, devono esservi sufficienti prenotazioni della capacità per soddisfare la capacità on demand obiettivo, altrimenti l’avvio non riesce. Per evitare un errore di avvio, aggiungere invece le prenotazioni della capacità `targeted` a un gruppo di risorse e quindi prendere come obiettivo il gruppo di risorse. Non è necessario che il gruppo di risorse disponga di prenotazioni della capacità sufficienti; se esaurisce le prenotazioni della capacità prima che venga soddisfatta la capacità on demand obiettivo, il parco istanze può avviare la capacità obiettivo rimanente nella normale capacità on demand.

**Per utilizzare le prenotazioni della capacità con il parco istanze EC2**

1. Configurare il parco istanze come tipo `instant`. Non è possibile utilizzare le prenotazioni della capacità per parchi istanze di altri tipi.

1. Configurare la strategia di utilizzo per le prenotazioni della capacità come `use-capacity-reservations-first`.

1. Nel modello di avvio, per **Capacity reservation (Prenotazione della capacità)** scegliere **Open (Aperta)** o **Target by group (Obiettivo per gruppo)**. Se si sceglie **Target by group (Definisci obiettivo in base al gruppo)**, specificare l’ID gruppo di risorsa della prenotazione della capacità.

Quando il parco istanze tenta di soddisfare la capacità on demand, se rileva che più pool di istanze hanno prenotazioni della capacità corrispondenti inutilizzate, determina i pool in cui avviare le istanze on demand in base alla strategia di allocazione on demand (`lowest-price` o `prioritized`).

**Risorse correlate**
+ Per esempi di CLI su come configurare un parco istanze affinché utilizzi le prenotazioni della capacità per gestire la capacità on demand, consulta [Esempi di configurazioni di CLI per parco istanze EC2](ec2-fleet-examples.md), in particolare gli esempi dal 5 al 7.
+ Per un tutorial che illustra le fasi per creare prenotazioni della capacità, utilizzarle nel parco istanze e visualizzare quante prenotazioni della capacità sono rimaste, consulta [Tutorial: Configura un parco istanze EC2 per avviare istanze on demand utilizzando le prenotazioni della capacità obiettivo](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md)
+ Per informazioni sulla configurazione delle prenotazioni di capacità, consulta [Prenotare capacità di elaborazione con le prenotazioni della capacità on demand EC2](ec2-capacity-reservations.md) e la prenotazione di capacità [su richiesta](https://aws.amazon.com/ec2/faqs/#On-Demand_Capacity_Reservation). FAQs