

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

# EC2 Fleet e parco istanze spot
<a name="Fleets"></a>

Il parco istanze EC2 e il parco istanze spot sono progettati per essere strumenti utili per avviare un parco istanze di decine, centinaia o migliaia di istanze Amazon EC2 in una singola operazione. Ogni istanza in un parco istanze è configurata da un [modello di avvio](ec2-launch-templates.md) o da un set di parametri di avvio configurabili manualmente al momento dell’avvio.

**Topics**
+ [

## Funzionalità e vantaggi
](#ec2-fleet-features-and-benefits)
+ [

# Qual è il metodo per parco istanze migliore da utilizzare?
](which-fleet-method-to-use.md)
+ [

# Opzioni di configurazione per il parco istanze EC2 o il parco istanze spot
](ec2-fleet-configuration-strategies.md)
+ [

# Lavorare con un parco istanze EC2
](manage-ec2-fleet.md)
+ [

# Lavorare con un parco istanze spot
](work-with-spot-fleets.md)
+ [

# Monitoraggio del parco istanze EC2 o del parco istanze spot
](fleet-monitor.md)
+ [

# Tutorial per parco istanze EC2
](fleet-tutorials.md)
+ [

# Esempi di configurazioni di CLI per parco istanze EC2
](ec2-fleet-examples.md)
+ [

# Configurazioni CLI di esempi per parco istanze spot
](spot-fleet-examples.md)
+ [

# Quote per il parco istanze EC2 e il parco istanze spot
](fleet-quotas.md)

## Funzionalità e vantaggi
<a name="ec2-fleet-features-and-benefits"></a>

I parchi istanze forniscono i vantaggi e le funzionalità seguenti, consentendoti di massimizzare il risparmio sui costi e ottimizzare la disponibilità e le prestazioni durante l’esecuzione di applicazioni su più istanze EC2.

**Molteplici tipi di istanze.**  
Un parco istanze può avviare più tipi di istanze, assicurando che non dipenda dalla disponibilità di un singolo tipo di istanza. Ciò aumenta la disponibilità complessiva delle istanze nel parco istanze.

**Distribuzione di istanze tra le zone di disponibilità**  
Un parco istanze può essere lanciato in più zone di disponibilità, consentendoti di ridurre i costi e migliorare la disponibilità. Se il tuo parco istanze include istanze spot, il parco istanze seleziona automaticamente le zone di disponibilità in base alle tue preferenze in termini di prezzo e interruzioni.

**Molteplici opzioni di acquisto**  
Un parco istanze può avviare molteplici opzioni di acquisto (istanze on demand e spot), consentendo di ottimizzare i costi tramite l’uso di istanze spot. Puoi anche usufruire di sconti sulle istanze riservate e sui Savings Plans utilizzandoli in combinazione con le istanze on demand del parco istanze. 

**Sostituzione automatica delle istanze spot**  
Se il parco istanze include istanze spot, può richiedere automaticamente la sostituzione della capacità spot se le istanze spot vengono interrotte. Grazie al [ribilanciamento della capacità](ec2-fleet-capacity-rebalance.md), un parco istanze può anche monitorare e sostituire proattivamente le istanze spot sono a un elevato rischio di interruzione.

**Riservare la capacità on demand**  
Un parco istanze può utilizzare una [prenotazione della capacità on demand](ec2-fleet-on-demand-capacity-reservations.md) per prenotare capacità on demand. Un parco istanze può includere anche [blocchi di capacità per ML](ec2-capacity-blocks.md), che ti consentono di prenotare istanze GPU in una data futura per supportare i carichi di lavoro di machine learning (ML) di breve durata.

# Qual è il metodo per parco istanze migliore da utilizzare?
<a name="which-fleet-method-to-use"></a>

Come best practice generale, consigliamo di avviare parchi istanze di istanze on demand e spot con Amazon EC2 Auto Scaling poiché offre funzionalità aggiuntive per la gestione del parco istanze. La lista di funzionalità aggiuntive include sostituzioni dei controlli dell’integrità sia per le istanze spot che per le istanze on demand, controlli dell’integrità basato sulle applicazioni e un’integrazione con Elastic Load Balancing per garantire una distribuzione uniforme del traffico delle applicazioni nelle istanze integre. Puoi utilizzare i gruppi Auto Scaling anche quando utilizzi AWS servizi come Amazon ECS, Amazon EKS (gruppi di nodi autogestiti) e Amazon VPC Lattice. Per ulteriori informazioni, consulta [Guida per l’utente di Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/).

Se non puoi usare Amazon EC2 Auto Scaling, potresti prendere in considerazione l’utilizzo di un parco istanze EC2 o un parco istanze Spot. Il parco istanze EC2 e il parco istanze spot offrono le stesse funzionalità di base. Tuttavia, il parco istanze EC2 è disponibile solo usando una riga di comando e non fornisce supporto della console. Il parco istanze spot fornisce il supporto delle console, ma si basa su un’API legacy senza investimenti pianificati.

Utilizza la tabella seguente per determinare quale metodo per parco istanze utilizzare.


****  

| Metodo per parco istanze | Quando usarlo? | Caso d’uso | 
| --- | --- | --- | 
|  [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Crea un gruppo Auto Scaling che gestisce il ciclo di vita delle istanze mantenendo il numero di istanze desiderato. Supporta il dimensionamento orizzontale (aggiunta di più istanze) tra limiti minimi e massimi specificati.  | 
|  [Parco istanze EC2](manage-ec2-fleet.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Crea un parco istanze `instant` di istanze on demand e istanze spot in una singola operazione, con più specifiche di avvio che variano a seconda del tipo di istanza, dell’AMI, della zona di disponibilità o della sottorete. La strategia di allocazione delle istanze spot è per impostazione predefinita `lowest-price` per unità, ma ti consigliamo di cambiarla in `price-capacity-optimized`.  | 
|  [Spot Fleet](work-with-spot-fleets.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Usa il parco istanze spot solo se hai bisogno del supporto della console per un caso d'uso in cui utilizzeresti il parco istanze EC2.  | 

# 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

# Lavorare con un parco istanze EC2
<a name="manage-ec2-fleet"></a>

Per iniziare a utilizzare un parco istanze EC2, crea una richiesta che includa la capacità target totale, la capacità on demand, la capacità spot e un modello di avvio che specifica la configurazione per le istanze nel parco istanze. Facoltativamente, puoi specificare parametri aggiuntivi o lasciare che il parco istanze utilizzi i valori predefiniti. Puoi anche etichettare la richiesta del parco istanze e le relative istanze e volumi, quando crei il parco istanze.

Il parco istanze avvia le Istanze on demand quando c’è capacità disponibile e avvia le Istanze spot quando il prezzo massimo supera il prezzo Spot e la capacità è disponibile.

Una volta avviato il parco istanze, puoi descrivere la richiesta del parco istanze, le istanze presenti nel parco istanze e qualsiasi evento relativo al parco istanze. Se necessario, puoi anche assegnare tag aggiuntivi.

Se è necessario modificare i parametri del parco istanze, come la capacità target totale, è possibile modificare il parco istanze, a condizione che sia configurato per mantenere la capacità. Non puoi modificare la capacità target di una richiesta una tantum dopo che è stata inviata.

La richiesta di parco istanze rimane attiva fino a quando non scade o fino a quando non viene eliminata. Quando elimini la richiesta del parco istanze, puoi interrompere le istanze o lasciarle in esecuzione. Se scegli di lasciare in esecuzione, le istanze on demand rimangono in esecuzione finché non vengono interrotte, e l’esecuzione delle istanze spot continua finché non vengono interrotte o arrestate.

**Topics**
+ [

# Stati della richiesta parco istanze EC2
](EC2-fleet-states.md)
+ [

# Prerequisiti di parco istanze EC2
](ec2-fleet-prerequisites.md)
+ [

# Creazione di un parco istanze EC2
](create-ec2-fleet.md)
+ [

# Applicare un tag a una richiesta nuova o esistente per un parco istanze EC2 e alle istanze e ai volumi che avvia
](tag-ec2-fleet.md)
+ [

# Descrivi un EC2 Fleet, le relative istanze e gli eventi
](describe-ec2-fleet.md)
+ [

# Come modificare un parco istanze EC2
](modify-ec2-fleet.md)
+ [

# Eliminazione di una richiesta del parco istanze EC2 e delle istanze nel parco istanze
](delete-fleet.md)

# Stati della richiesta parco istanze EC2
<a name="EC2-fleet-states"></a>

Una richiesta del parco istanze EC2 può essere uno dei diversi stati, ciascuno dei quali indica una fase diversa del ciclo di vita della richiesta e della relativa gestione delle istanze.

Una richiesta parco istanze EC2 può avere uno dei seguenti stati:

`submitted`  
La richiesta parco istanze EC2 è in fase di valutazione ed Amazon EC2 si sta preparando ad avviare il numero previsto di istanze. Se una richiesta supera il limite del parco istanze, viene eliminata immediatamente.

`active`  
La richiesta parco istanze EC2 è stata convalidata ed Amazon EC2 sta tentando di mantenere il numero previsto di istanze in esecuzione. La richiesta rimane in questo stato finché non viene modificata o eliminata.

`modifying`  
La richiesta parco istanze EC2 è in fase di modifica. La richiesta rimane in questo stato finché la modifica non viene completamente elaborata o la richiesta non viene eliminata. È possibile modificare solo un tipo di parco istanze `maintain`. Questo stato non si applica ad altri tipi di richieste.

`deleted_running`  
La richiesta parco istanze EC2 viene eliminata e non avvia istanze spot aggiuntive. Le sue istanze esistenti continuano a essere eseguite finché non vengono interrotte o terminate manualmente. La richiesta rimane in questo stato finché tutte le istanze non vengono interrotte o terminate. Solo un parco istanze EC2 del tipo `maintain` o `request` può avere istanze in esecuzione dopo l’eliminazione della richiesta del parco istanze EC2. Un parco istanze `instant` eliminato con istanze in esecuzione non è supportato. Questo stato non si applica ai parchi istanze `instant`.

`deleted_terminating`  
La richiesta del parco istanze EC2 viene eliminata e le sue istanze vengono terminate. La richiesta rimane in questo stato finché tutte le istanze non vengono terminate.

`deleted`  
Il parco istanze EC2 viene eliminato e non ha istanze in esecuzione. La richiesta viene eliminata due giorni dopo e le sue istanze vengono terminate.

# Prerequisiti di parco istanze EC2
<a name="ec2-fleet-prerequisites"></a>

**Topics**
+ [

## Modello di avvio
](#ec2-fleet-prerequisites-launch-template)
+ [

## Ruolo collegato al servizio per parco istanze EC2
](#ec2-fleet-service-linked-role)
+ [

## Concedi l'accesso alle chiavi gestite dal cliente da utilizzare con istantanee crittografate AMIs ed EBS
](#ec2-fleet-service-linked-roles-access-to-cmks)
+ [

## Autorizzazioni del parco istanze EC2 per gli utenti
](#ec2-fleet-iam-users)

## Modello di avvio
<a name="ec2-fleet-prerequisites-launch-template"></a>

Un modello di avvio specifica le informazioni di configurazione riguardo alle istanze da avviare, come il tipo di istanza e la zona di disponibilità. Per ulteriori informazioni sui modelli di avvio, consulta [Archivia i parametri di avvio dell'istanza nei modelli di avvio di Amazon EC2](ec2-launch-templates.md).

## Ruolo collegato al servizio per parco istanze EC2
<a name="ec2-fleet-service-linked-role"></a>

Il ruolo `AWSServiceRoleForEC2Fleet` concede al parco istanze EC2 l’autorizzazione per richiedere, avviare e terminare le istanze, e applicarvi tag per tuo conto. Amazon EC2 utilizza questo ruolo collegato ai servizi per completare le operazioni seguenti:
+ `ec2:RunInstances` – Avviare istanze.
+ `ec2:RequestSpotInstances` – Richiesta Istanze spot.
+ `ec2:TerminateInstances` – Terminare istanze
+ `ec2:DescribeImages`— Descrivi Amazon Machine Images (AMIs) per le istanze.
+ `ec2:DescribeInstanceStatus` – Descrivere lo stato delle istanze.
+ `ec2:DescribeSubnets` – Descrivere le sottoreti per le istanze.
+ `ec2:CreateTags` – Aggiungere tag a parco istanze EC2, istanze e volumi.

Assicurati che questo ruolo esista prima di utilizzare AWS CLI o un'API per creare una flotta EC2.

**Nota**  
Un parco istanze EC2 `instant` non richiede questo ruolo.

Per creare il ruolo, utilizzare la console IAM nel modo seguente.

**Per creare il AWSServiceRoleForEC2Fleet ruolo per EC2 Fleet**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. Nella pagina **Seleziona un’entità attendibile**, esegui le operazioni seguenti:

   1. Per **Tipo di entità attendibile**, scegli **Servizio AWS **.

   1. In **Caso d’uso**, per **Servizio o caso d’uso**, scegli **EC2 – Parco istanze**.
**Suggerimento**  
Assicurati di scegliere **EC2 – Parco istanze**. Se scegli **EC2**, il caso d’uso **EC2 – Parco istanze** non appare nell’elenco dei **casi d’uso**. Lo use case **EC2 - Fleet** creerà automaticamente una policy con le autorizzazioni IAM richieste e suggerirà **AWSServiceRoleForEC2Fleet come nome** del ruolo.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), scegli **Next** (Successivo).

1. Nella pagina **Nomina, rivedi e crea** scegli **Crea ruolo**.

**Se non hai più bisogno di utilizzare EC2 Fleet, ti consigliamo di eliminare il AWSService RoleFor EC2 ruolo Fleet.** Dopo che questo ruolo è stato eliminato dal proprio account, è possibile creare di nuovo il ruolo se si crea un altro parco istanze.

Per ulteriori informazioni, consulta [Ruoli collegati ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) nella *Guida per l’utente di IAM*.

## Concedi l'accesso alle chiavi gestite dal cliente da utilizzare con istantanee crittografate AMIs ed EBS
<a name="ec2-fleet-service-linked-roles-access-to-cmks"></a>

Se specifichi un'[AMI crittografata](AMIEncryption.md) o uno snapshot Amazon EBS crittografato nella tua flotta EC2 e utilizzi una AWS KMS chiave per la crittografia, devi concedere al ruolo **AWSServiceRoleForEC2Fleet** l'autorizzazione a utilizzare la chiave gestita dal cliente in modo che Amazon EC2 possa avviare istanze per tuo conto. Per farlo, occorre aggiungere una concessione alla chiave gestita dal cliente, come mostrato nella procedura seguente.

Nel processo di assegnazione delle autorizzazioni, le concessioni rappresentano un’alternativa alle policy delle chiavi. Per ulteriori informazioni, consulta [Utilizzo delle concessioni](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) e [Utilizzo delle policy delle chiavi in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Per concedere al ruolo AWSService RoleFor EC2 Fleet le autorizzazioni per utilizzare la chiave gestita dal cliente**
+ Utilizza il comando [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) per aggiungere una concessione alla chiave gestita dal cliente e per specificare il principale (il ruolo collegato al servizio **AWSServiceRoleForEC2Fleet**) a cui è concessa l'autorizzazione per eseguire le operazioni consentite dalla concessione. La chiave gestita dal cliente è specificata dal parametro `key-id` e dall’ARN della chiave gestita dal cliente. Il principale è specificato dal `grantee-principal` parametro e dall'ARN del ruolo collegato al servizio **AWSServiceRoleForEC2Fleet**.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/AWSServiceRoleForEC2Fleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Autorizzazioni del parco istanze EC2 per gli utenti
<a name="ec2-fleet-iam-users"></a>

Se gli utenti creano o gestiscono un parco istanze EC2, assicurati di concedere loro le autorizzazioni richieste.

**Per creare una policy per il parco istanze EC2**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, scegli **Policy**.

1. Scegli **Create Policy** (Crea policy).

1. Nella pagina **Create policy (Crea policy)**, selezionare la scheda **JSON**, sostituire il testo con il seguente, quindi selezionare **Review policy (Rivedi policy)**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:*"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                 "iam:ListRoles",
                 "iam:PassRole",
                 "iam:ListInstanceProfiles"
               ],
               "Resource":"arn:aws:iam::123456789012:role/DevTeam*"
           }
       ]
   }
   ```

------

   `ec2:*` concede a un utente l’autorizzazione per chiamare tutte le operazioni API Amazon EC2. Per limitare l’utente a specifiche operazioni API Amazon EC2, è necessario invece indicare tali azioni.

   L’utente deve avere l’autorizzazione per chiamare l’operazione `iam:ListRoles` per enumerare i ruoli IAM esistenti, l’operazione `iam:PassRole` per specificare il ruolo del parco istanze EC2 e l’operazione `iam:ListInstanceProfiles` per enumerare i profili dell’istanza esistenti.

   (Facoltativo) Per consentire a un utente di creare ruoli o profili dell’istanza utilizzando la console IAM, devi inoltre aggiungere le operazioni seguenti alla policy:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Nella pagina **Review policy (Rivedi policy)**, immettere un nome policy e una descrizione, poi selezionare **Create policy (Crea policy)**.

1. Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
   + Utenti e gruppi in: AWS IAM Identity Center

     Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
   + Utenti gestiti in IAM tramite un provider di identità:

     Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
   + Utenti IAM:
     + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
     + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

# Creazione di un parco istanze EC2
<a name="create-ec2-fleet"></a>

Per creare un EC2 Fleet, definisci la configurazione del parco istanze in un file JSON e fai riferimento al file con il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) della . Nel file JSON, devi specificare la capacità target totale per il parco istanze, separare le capacità target per le istanze Spot e le istanze on demand e un modello di lancio che definisce la configurazione per le istanze nel parco istanze, come un’AMI, un tipo di istanza, una sottorete o una zona di disponibilità e uno o più gruppi di sicurezza. Facoltativamente, puoi specificare configurazioni aggiuntive, come i parametri per sostituire la configurazione del modello di lancio, le strategie di allocazione per la selezione di istanze spot e istanze on demand dai pool di capacità EC2, e l’importo massimo che sei disposto a pagare per il parco istanze. Per ulteriori informazioni, consulta [Opzioni di configurazione per il parco istanze EC2 o il parco istanze spot](ec2-fleet-configuration-strategies.md).

Il parco istanze EC2 avvia le Istanze on demand quando la capacità è disponibile e avvia le Istanze spot quando il prezzo massimo supera il prezzo Spot e la capacità è disponibile.

Se il parco istanze include istanze spot ed è di tipo `maintain`, Amazon EC2 tenterà di mantenere la capacità target del parco istanze quando le istanze spot vengono interrotte.

## Limitazioni di EC2 Fleet
<a name="EC2-fleet-limitations"></a>

Le limitazioni seguenti riguardano EC2 Fleet:
+ La creazione di una flotta EC2 è disponibile solo tramite l'API [Amazon EC2 [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html)](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html), [AWS SDKs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html#API_CreateFleet_SeeAlso), e. [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)
+ Una richiesta di flotta EC2 non può estendersi su più regioni. AWS È necessario creare un EC2 Fleet separato per ciascuna regione.
+ Una richiesta di EC2 Fleet non può comprendere sottoreti diverse della stessa zona di disponibilità.

## Creazione di un parco istanze EC2
<a name="create-ec2-fleet-procedure"></a>

Per avviare un parco istanze utilizzando il parco istanze EC2, devi solo specificare i seguenti parametri nella richiesta del parco istanze, e il parco istanze utilizzerà i valori predefiniti per gli altri parametri:
+ `LaunchTemplateId` o `LaunchTemplateName` – Specifica il modello di avvio da utilizzare (che contiene i parametri per le istanze da avviare, come il tipo di istanza e la zona di disponibilità)
+ `TotalTargetCapacity`: specifica la capacità di destinazione totale per il parco istanze
+ `DefaultTargetCapacityType`: specifica se l’opzione di acquisto di default è On demand o Spot

Per sostituire i parametri specificati nel modello di avvio, puoi specificare una o più sostituzioni. Ciascuna sostituzione può variare a seconda del tipo di istanza, della zona di disponibilità, della sottorete e del prezzo massimo e può includere una capacità ponderata diversa. In alternativa alla specifica di un tipo di istanza, è possibile specificare gli attributi che un’istanza deve avere e Amazon EC2 identificherà tutti i tipi di istanza con tali attributi. Per ulteriori informazioni, consulta [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).

Per il parco istanze EC2 di tipo`instant`, puoi specificare un parametro Systems Manager anziché l’ID dell’AMI. Puoi specificare il parametro Systems Manager nella sostituzione o nel modello di avvio. 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).

Puoi specificare i parametri del parco istanze in un file JSON. Per informazioni su tutti i possibili parametri che è possibile specificare, consulta [Visualizza tutte le opzioni di configurazione del parco istanze EC2](#ec2-fleet-cli-skeleton). 

Per gli esempi di configurazione del parco istanze, consulta [Esempi di configurazioni di CLI per parco istanze EC2](ec2-fleet-examples.md).

Al momento non è disponibile il supporto per la console per la creazione di un parco istanze EC2.

**Per creare un parco istanze EC2**  
Utilizza il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) per creare un parco istanze e specifica il file JSON che contiene i parametri di configurazione del parco istanze.

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

Di seguito è riportato l’output di esempio per un parco istanze del tipo `request` o `maintain`.

```
{
    "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE"
}
```

Di seguito è riportato l’output di esempio per un parco istanze del tipo `instant` che ha avviato la capacità target.

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [],
  "Instances": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef9" 
      ],
      "InstanceType": "c5.large",
      "Platform": null
    },
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-5678901234abcdef0",
        "i-5432109876abcdef9" 
      ]
  ]
}
```

Di seguito è riportato l’output di esempio per un parco istanze del tipo `instant` che ha avviato parte della capacità target con errori per le istanze che non erano state avviate.

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.xlarge",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientInstanceCapacity",
      "ErrorMessage": ""
    },
  ],
  "Instances": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a"
        }
      },
      "Lifecycle": "on-demand",
      "InstanceIds": [
        "i-1234567890abcdef0",
        "i-9876543210abcdef9" 
      ]
  ]
}
```

Di seguito è riportato l’output di esempio per un parco istanze del tipo `instant` che non ha avviato istanze.

```
{
  "FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
  "Errors": [
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c4.xlarge",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientCapacity",
      "ErrorMessage": ""
    },
    {
      "LaunchTemplateAndOverrides": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
          "Version": "1"
        },
        "Overrides": {
          "InstanceType": "c5.large",
          "AvailabilityZone": "us-east-1a",
        }
      },
      "Lifecycle": "on-demand",
      "ErrorCode": "InsufficientCapacity",
      "ErrorMessage": ""
    },
  ],
  "Instances": []
}
```

## Crea un parco istanze EC2 che sostituisca le istanze spot non integre
<a name="ec2-fleet-health-checks"></a>

parco istanze EC2 controlla lo stato delle istanze nel parco istanze ogni due minuti. Lo stato di un’istanza è `healthy` o `unhealthy`.

parco istanze EC2 determina lo stato di un’istanza utilizzando i controlli dello stato forniti da Amazon EC2. Un’istanza viene determinata come `unhealthy` quando lo stato del controllo dello stato dell’istanza o del controllo dello stato del sistema è `impaired` per tre controlli dello stato di integrità consecutivi. Per ulteriori informazioni, consulta [Verifiche dello stato delle istanze Amazon EC2](monitoring-system-instance-status-check.md).

È possibile configurare il parco istanze per sostituire le Istanze spot non integre. Dopo l’impostazione di `ReplaceUnhealthyInstances` su `true`, l’istanza spot viene sostituita quando viene segnalata come `unhealthy`. Durante la sostituzione di un’istanza spot non integra, il parco istanze può scendere al di sotto della sua capacità obiettivo.

**Requisiti**
+ La sostituzione del controllo dello stato è supportata solo per Parchi istanze EC2 che mantengono una capacità target (parchi istanza del tipo `maintain`) e non con parchi istanza del tipo `request` o `instant`.
+ La sostituzione del controllo dello stato è supportata solo per Istanze spot. Questa funzionalità non è supportata per Istanze on demand.
+ È possibile configurare EC2 Fleet per sostituire le istanze non integre solo al momento della sua creazione.
+ Gli utenti possono utilizzare la sostituzione del controllo dell’integrità solo se hanno l’autorizzazione a chiamare l’operazione `ec2:DescribeInstanceStatus`.

**Per configurare un parco istanze EC2 per sostituire un Istanze spot non integro**

1. Utilizza le informazioni per creare un parco istanze EC2 in [Creazione di un parco istanze EC2](#create-ec2-fleet-procedure).

1. Per configurare il parco istanze per sostituire Istanze spot non integre, nel file JSON, per `ReplaceUnhealthyInstances` specifica `true`. 

## Visualizza tutte le opzioni di configurazione del parco istanze EC2
<a name="ec2-fleet-cli-skeleton"></a>

Per visualizzare l’elenco completo dei parametri di configurazione del parco istanze EC2, è possibile generare un file JSON. Per una descrizione di ciascun parametro, consulta [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Per generare un file JSON con tutti i parametri del parco istanze EC2 possibili**  
Utilizzare il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) (AWS CLI) e il parametro `--generate-cli-skeleton` per generare un file JSON del parco istanze EC2 e indirizzare l’output in un file per salvarlo.

```
aws ec2 create-fleet \
    --generate-cli-skeleton input > ec2createfleet.json
```

Di seguito è riportato un output di esempio.

```
{
    "DryRun": true,
    "ClientToken": "",
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized",
        "MaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch"
            }
        },
        "InstanceInterruptionBehavior": "hibernate",
        "InstancePoolsToUseCount": 0,
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 0,
        "MaxTotalPrice": ""
    },
    "OnDemandOptions": {
        "AllocationStrategy": "prioritized",
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        },
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 0,
        "MaxTotalPrice": ""
    },
    "ExcessCapacityTerminationPolicy": "termination",
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "",
                "LaunchTemplateName": "",
                "Version": ""
            },
            "Overrides": [
                {
                    "InstanceType": "r5.metal",
                    "MaxPrice": "",
                    "SubnetId": "",
                    "AvailabilityZone": "",
                    "WeightedCapacity": 0.0,
                    "Priority": 0.0,
                    "Placement": {
                        "AvailabilityZone": "",
                        "Affinity": "",
                        "GroupName": "",
                        "PartitionNumber": 0,
                        "HostId": "",
                        "Tenancy": "dedicated",
                        "SpreadDomain": "",
                        "HostResourceGroupArn": ""
                    },
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "MemoryMiB": {
                            "Min": 0,
                            "Max": 0
                        },
                        "CpuManufacturers": [
                            "amd"
                        ],
                        "MemoryGiBPerVCpu": {
                            "Min": 0.0,
                            "Max": 0.0
                        },
                        "ExcludedInstanceTypes": [
                            ""
                        ],
                        "InstanceGenerations": [
                            "previous"
                        ],
                        "SpotMaxPricePercentageOverLowestPrice": 0,
                        "OnDemandMaxPricePercentageOverLowestPrice": 0,
                        "BareMetal": "included",
                        "BurstablePerformance": "required",
                        "RequireHibernateSupport": true,
                        "NetworkInterfaceCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "LocalStorage": "excluded",
                        "LocalStorageTypes": [
                            "ssd"
                        ],
                        "TotalLocalStorageGB": {
                            "Min": 0.0,
                            "Max": 0.0
                        },
                        "BaselineEbsBandwidthMbps": {
                            "Min": 0,
                            "Max": 0
                        },
                        "AcceleratorTypes": [
                            "inference"
                        ],
                        "AcceleratorCount": {
                            "Min": 0,
                            "Max": 0
                        },
                        "AcceleratorManufacturers": [
                            "amd"
                        ],
                        "AcceleratorNames": [
                            "a100"
                        ],
                        "AcceleratorTotalMemoryMiB": {
                            "Min": 0,
                            "Max": 0
                        }
                    }
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 0,
        "OnDemandTargetCapacity": 0,
        "SpotTargetCapacity": 0,
        "DefaultTargetCapacityType": "on-demand",
        "TargetCapacityUnitType": "memory-mib"
    },
    "TerminateInstancesWithExpiration": true,
    "Type": "instant",
    "ValidFrom": "1970-01-01T00:00:00",
    "ValidUntil": "1970-01-01T00:00:00",
    "ReplaceUnhealthyInstances": true,
    "TagSpecifications": [
        {
            "ResourceType": "fleet",
            "Tags": [
                {
                    "Key": "",
                    "Value": ""
                }
            ]
        }
    ],
    "Context": ""
}
```

# Applicare un tag a una richiesta nuova o esistente per un parco istanze EC2 e alle istanze e ai volumi che avvia
<a name="tag-ec2-fleet"></a>

Per categorizzare e gestire le richieste del parco istanze EC2 e le istanze e i volumi che avvia, puoi contrassegnarle con tag contenenti metadati personalizzati. È possibile assegnare un tag a una richiesta parco istanze EC2 alla sua creazione o successivamente. Allo stesso modo, puoi assegnare un tag alle istanze e ai volumi quando vengono lanciati dal parco istanze o in un secondo momento.

Quando si applica un tag a una richiesta del parco istanze, alle istanze e ai volumi che vengono avviati dal parco istanze non vengono automaticamente applicati tag. È necessario applicare esplicitamente tag alle istanze e ai volumi avviati dal parco istanze. È possibile scegliere di applicare tag solo alla richiesta del parco istanze o solo alle istanze avviate dal parco istanze oppure solo ai volumi collegati alle istanze avviate dal parco istanze o a tutti.

**Nota**  
Per i tipi di parco istanze `instant`, è possibile applicare tag ai volumi collegati a Istanze on demand e Istanze spot. Per i tipi di parco istanze `request` o `maintain`, è possibile applicare tag ai volumi collegati a Istanze on demand.

Per ulteriori informazioni sul funzionamento dei tag, consultare [Tagging delle risorse Amazon EC2.](Using_Tags.md).

**Prerequisito**

Concedi all’utente l’autorizzazione per taggare le risorse. Per ulteriori informazioni, consulta [Esempio: aggiunta di tag alle risorse](ExamplePolicies_EC2.md#iam-example-taggingresources).

**Per concedere a un utente l’autorizzazione per taggare le risorse**  
Creare una policy IAM che include quanto segue:
+ L’operazione `ec2:CreateTags`. Ciò concede all’utente l’autorizzazione per creare tag.
+ L’operazione `ec2:CreateFleet`. Ciò concede all’utente l’autorizzazione per creare una richiesta parco istanze EC2.
+ Per `Resource`, si consiglia di specificare `"*"`. Ciò consente agli utenti di taggare tutti i tipi di risorse.

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in: AWS IAM Identity Center

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

**Per applicare tag a una nuova richiesta parco istanze EC2**  
Per assegnare un tag a una richiesta parco istanze EC2 durante la sua creazione, specificare la coppia chiave-valore nel [file JSON](create-ec2-fleet.md#ec2-fleet-cli-skeleton) utilizzato per creare il parco istanze. Il valore di `ResourceType` deve essere `fleet`. Indicando un altro valore, la richiesta per il parco istanze fallisce.

**Per applicare tag a istanze e volumi avviati da un parco istanze EC2**  
Per applicare tag alle istanze e ai volumi quando vengono avviate dal parco istanze, specificare i tag nel [modello di lancio](create-launch-template.md) a cui fa riferimento la richiesta nel parco istanze EC2.

**Nota**  
Non è possibile applicare tag ai volumi collegati a Istanze spot che vengono avviati da un tipo di parco istanze `request` o `maintain`.

**Per applicare tag a una richiesta di parco istanze EC2, un’istanza e un volume esistenti**  
Utilizzare il comando [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) per aggiungere un tag alle risorse esistenti.

```
aws ec2 create-tags \
    --resources fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE i-1234567890abcdef0 vol-1234567890EXAMPLE \
    --tags Key=purpose,Value=test
```

# Descrivi un EC2 Fleet, le relative istanze e gli eventi
<a name="describe-ec2-fleet"></a>

Puoi descrivere la configurazione del tuo parco istanze EC2, le istanze nel tuo parco istanze EC2 e la cronologia degli eventi del tuo parco istanze EC2.

**Topics**
+ [

## Descrivere il parco istanze EC2
](#describe-all-ec2-fleets)
+ [

## Descrivi tutte le istanze nel tuo EC2 Fleet
](#describe-instances-in-ec2-fleet)
+ [

## Descrivi la cronologia degli eventi per il parco istanze EC2
](#describe-ec2-fleet-event-history)

## Descrivere il parco istanze EC2
<a name="describe-all-ec2-fleets"></a>

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

**Per descrivere il tuo EC2 Fleet**  
Utilizza il comando [describe-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleets.html).

```
aws ec2 describe-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Di seguito è riportato un output di esempio.

```
{
    "Fleets": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2022-02-09T03:35:52+00:00",
            "FleetId": "fleet-364457cd-3a7a-4ed9-83d0-7b63e51bb1b7",
            "FleetState": "active",
            "ExcessCapacityTerminationPolicy": "termination",
            "FulfilledCapacity": 2.0,
            "FulfilledOnDemandCapacity": 0.0,
            "LaunchTemplateConfigs": [
                {
                    "LaunchTemplateSpecification": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "$Latest"
                    }
                }
            ],
            "TargetCapacitySpecification": {
                "TotalTargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "SpotTargetCapacity": 2,
                "DefaultTargetCapacityType": "spot"
            },
            "TerminateInstancesWithExpiration": false,
            "Type": "maintain",
            "ReplaceUnhealthyInstances": false,
            "SpotOptions": {
                "AllocationStrategy": "capacity-optimized",
                "InstanceInterruptionBehavior": "terminate"
            },
            "OnDemandOptions": {
                "AllocationStrategy": "lowestPrice"
            }
        }
    ]
}
```

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

**Per descrivere il tuo EC2 Fleet**  
Utilizza il cmdlet [Get-EC2FleetList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetList.html).

```
Get-EC2FleetList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Descrivi tutte le istanze nel tuo EC2 Fleet
<a name="describe-instances-in-ec2-fleet"></a>

L’elenco delle istanze in esecuzione riportato viene aggiornato periodicamente e potrebbe essere obsoleto.

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

**Per descrivere le istanze per l’EC2 Fleet specificato**  
Utilizza il comando [describe-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-instances.html).

```
aws ec2 describe-fleet-instances \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Di seguito è riportato un output di esempio.

```
{
    "ActiveInstances": [
        {
            "InstanceId": "i-09cd595998cb3765e", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-86k84j6p"
        }, 
        {
            "InstanceId": "i-09cf95167ca219f17", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-dvxi7fsm"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
}
```

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

**Per descrivere le istanze per l’EC2 Fleet specificato**  
Utilizza il cmdlet [Get-EC2FleetInstanceList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetInstanceList.html).

```
Get-EC2FleetInstanceList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Descrivi la cronologia degli eventi per il parco istanze EC2
<a name="describe-ec2-fleet-event-history"></a>

Per ulteriori informazioni sugli eventi nella cronologia degli eventi, consulta [Tipi di eventi Parco istanze EC2](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-event-types)

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

**Per descrivere gli eventi per l’EC2 Fleet specificato**  
Utilizza il comando [describe-fleet-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-history.html).

```
aws ec2 describe-fleet-history \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2020-06-01T00:00:00Z
```

Di seguito è riportato un output di esempio.

```
{
    "HistoryRecords": [
        {
            "EventInformation": {
                "EventSubType": "submitted"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:05.000Z"
        },
        {
            "EventInformation": {
                "EventSubType": "active"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:15.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "t2.small, ami-07c8bc5c1ce9598c3, ...",
                "EventSubType": "progress"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-083a1c446e66085d2"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-090db02406cc3c2d6"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
    "LastEvaluatedTime": "1970-01-01T00:00:00.000Z", 
    "StartTime": "2020-06-01T00:00:00.000Z"
}
```

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

**Per descrivere gli eventi per l’EC2 Fleet specificato**  
Utilizza il cmdlet [Get-EC2FleetHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetHistory.html).

```
Get-EC2FleetHistory `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE `
    -UtcStartTime 2020-06-01T00:00:00Z
```

------

# Come modificare un parco istanze EC2
<a name="modify-ec2-fleet"></a>

Puoi modificare la capacità target totale, la capacità spot e la capacità on demand di un parco istanze EC2. Puoi anche modificare se l’esecuzione delle istanze deve terminare quando la nuova capacità target totale scende al di sotto della dimensione attuale del parco istanze.

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

Quando si modifica un parco istanze EC2, si consideri quanto segue:
+ **Tipo di parco istanze** – È possibile modificare solo un parco istanze EC2 di tipo `maintain`. Non è possibile modificare un parco istanze EC2 di tipo `request` o `instant`.
+ **Parametri del parco istanze** – È possibile modificare i parametri seguenti di un parco istanze EC2:
  + `target-capacity-specification` – Consente di aumentare o diminuire la capacità target per:
    + `TotalTargetCapacity`
    + `OnDemandTargetCapacity`
    + `SpotTargetCapacity`
  + `excess-capacity-termination-policy` – Indica se l’esecuzione delle istanze deve terminare quando la capacità target totale del parco istanze EC2 scende al di sotto della dimensione attuale del parco istanze. I valori validi sono:
    + `no-termination`
    + `termination`
+ **Comportamento del parco istanze quando si aumenta la capacità target totale** – Quando si aumenta la capacità target totale, il parco istanze EC2 avvia le istanze aggiuntive in base all’opzione di acquisto delle istanze specificato per `DefaultTargetCapacityType`, che può essere Istanze on demand o Istanze spot, e in base alla [strategia di allocazione](ec2-fleet-allocation-strategy.md) specificata.
+ **Comportamento del parco istanze quando si diminuisce la capacità target spot** – Quando si diminuisce la capacità target spot, il parco istanze EC2 elimina qualsiasi richiesta aperta che supera la nuova capacità di destinazione. È possibile richiedere che il parco istanze termini le istanze spot finché la dimensione del parco istanze non raggiunge la nuova capacità obiettivo. Quando un parco istanze EC2 termina un’istanza spot a seguito della diminuzione della capacità obiettivo, l’istanza riceve un avviso di interruzione dell’istanza spot.

  Le istanze vengono selezionate per la terminazione in base alla strategia di allocazione:
  + `capacity-optimized`: termina le istanze dai pool con la minore capacità disponibile.
  + `price-capacity-optimized`: utilizza una combinazione di prezzo e capacità disponibile: termina le istanze dai pool con la minore capacità disponibile e che sono più costose tra questi pool.
  + `diversified`: termina le istanze in tutti i pool.
  + `lowest-price`: termina le istanze dai pool più costosi.

  In alternativa, puoi richiedere che l’EC2 Fleet mantenga il parco istanze alla sua dimensione attuale, ma che non sostituisca le istanze spot che vengono interrotte o tutte le istanze che vengono terminate manualmente.
+ **Stato del parco istanze** – È possibile modificare un parco istanze EC2 che risulta nello stato `submitted` o `active`. Quando si modifica un parco istanze, esso acquisisce lo stato `modifying`.

## Comandi per modificare un parco istanze EC2
<a name="modify-ec2-fleet-commands"></a>

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

**Per modificare la capacità target totale di un parco istanze EC2**  
Utilizza il comando [modify-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-fleet.html).

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=20
```

Se diminuisci la capacità target, ma desideri mantenere il parco istanze alla dimensione attuale, puoi modificare l’esempio precedente come segue.

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=10 \
    --excess-capacity-termination-policy no-termination
```

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

**Per modificare la capacità target totale di un parco istanze EC2**  
Utilizza il cmdlet [Edit-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Fleet.html).

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20
```

Se diminuisci la capacità target, ma desideri mantenere il parco istanze alla dimensione attuale, puoi modificare l’esempio precedente come segue.

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# Eliminazione di una richiesta del parco istanze EC2 e delle istanze nel parco istanze
<a name="delete-fleet"></a>

Se una richiesta del parco istanze EC2 non è più necessaria, puoi eliminarla. Dopo aver eliminato una richiesta di parco istanze, tutte le richieste Spot associate al parco istanze vengono eliminate, in modo che nessuna istanza spot nuova venga avviata per tale parco.

Quando si elimina una richiesta del parco istanze EC2, devi specificare se si desidera terminare tutte le relative istanze. Ciò include sia le istanze on demand che le istanze spot. Per i parchi istanze `instant`, il parco istanze EC2 deve interrompere le istanze in cui il parco istanze viene eliminato. Un parco istanze `instant` eliminato con istanze in esecuzione non è supportato.

**avvertimento**  
**La terminazione di un’istanza è permanente e irreversibile.**  
Dopo aver terminato un’istanza, non puoi più connetterti a essa e non puoi ripristinarla. Inoltre, tutti i volumi Amazon EBS collegati e configurati per essere eliminati in caso di terminazione vengono eliminati in modo definitivo e non possono essere recuperati. Tutti i dati archiviati nei volumi di archivio dell’istanza vengono persi in modo definitivo. Per ulteriori informazioni, consulta [Come funziona la terminazione delle istanze](how-ec2-instance-termination-works.md).  
Prima di terminare un’istanza, assicurati di aver eseguito il backup di tutti i dati che devi mantenere dopo la terminazione sull’archivio persistente.

Se specifichi che le istanze devono essere terminate quando elimini la richiesta del parco istanze, quest’ultima acquisisce lo stato `deleted_terminating`. Altrimenti, esso acquisisce lo stato `deleted_running` e l’esecuzione delle istanze continua finché esse non vengono interrotte o terminate manualmente.

**Restrizioni**
+ È possibile eliminare fino a 25 parchi istanze di tipo `instant` in una singola operazione.
+ È possibile eliminare fino a 100 parchi istanze di tipo `maintain` o `request` in una singola operazione.
+ È possibile eliminare fino a 125 parchi istanze in una singola operazione, a condizione che non si superi la quota per ciascun tipo di parco istanze, come specificato sopra.
+ Se si supera il numero di parchi specificato da eliminare, non viene eliminato alcun parco 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 `instant` 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.

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

**Per eliminare una richiesta dell’EC2 Fleet e terminare le relative istanze**  
Utilizza il comando [delete-fleets](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-fleets.html) con l’opzione `--terminate-instances`.

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Di seguito è riportato un output di esempio.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_terminating", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
        }
    ]
}
```

**Per eliminare una richiesta dell’EC2 Fleet senza terminare le relative istanze**  
Modifica l’esempio precedente utilizzando invece l’opzione `--no-terminate-instances`. `--no-terminate-instances` non è supportato per i parchi istanze `instant`.

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Di seguito è riportato un output di esempio.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_running", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-4b8aaae8-dfb5-436d-a4c6-3dafa4c6b7dcEXAMPLE"
        }
    ]
}
```

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

**Per eliminare una richiesta dell’EC2 Fleet e terminare le relative istanze**  
Utilizzare il [Remove-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Fleet.html)cmdlet con il `-TerminateInstance` parametro.

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**Per eliminare una richiesta dell’EC2 Fleet senza terminare le relative istanze**  
Modifica l’esempio precedente cambiando il valore del parametro `-TerminateInstance`.

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

## Risoluzione dei problemi di eliminazione di un parco istanze
<a name="troubleshoot-delete-fleet"></a>

Se una richiesta dell’EC2 Fleet non viene eliminata, `UnsuccessfulFleetDeletions` nell’output restituisce l’ID della richiesta dell’EC2 Fleet, un codice di errore e un messaggio di errore.

I codici di errore sono:
+ `ExceededInstantFleetNumForDeletion`
+ `fleetIdDoesNotExist`
+ `fleetIdMalformed`
+ `fleetNotInDeletableState`
+ `NoTerminateInstancesNotSupported`
+ `UnauthorizedOperation`
+ `unexpectedError`

**Risoluzione dei problemi di `ExceededInstantFleetNumForDeletion`**  
Se si tenta di eliminare più di 25 parchi istanze `instant` in una singola richiesta, viene restituito l’errore `ExceededInstantFleetNumForDeletion`. Di seguito è riportato l’output di esempio per questo errore.

```
{
    "UnsuccessfulFleetDeletions": [
     {
          "FleetId": " fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
          "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
           }
     },
     {
           "FleetId": "fleet-9a941b23-0286-5bf4-2430-03a029a07e31",
           "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
            }
     }
     .
     .
     .
     ],
     "SuccessfulFleetDeletions": []
}
```

**Risoluzione dei problemi di `NoTerminateInstancesNotSupported`**  
Se si specifica che le istanze di un parco istanze `instant` non devono essere terminate quando si elimina il parco istanze, viene restituito l’errore `NoTerminateInstancesNotSupported`. `--no-terminate-instances` non è supportato per i parchi istanze `instant`. Di seguito è riportato l’output di esempio per questo errore.

```
{
      "UnsuccessfulFleetDeletions": [
            {
                  "FleetId": "fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
                  "Error": {
                          "Message": "NoTerminateInstances option is not supported for instant fleet",
                          "Code": "NoTerminateInstancesNotSupported"
                   }
            }
       ],
       "SuccessfulFleetDeletions": []
}
```

**Risoluzione dei problemi di `UnauthorizedOperation`**  
Se non si dispone dell’autorizzazione per terminare le istanze, viene restituito l’errore `UnauthorizedOperation` quando si elimina un parco istanze che deve terminare le relative istanze. Di seguito è riportata la risposta di errore.

```
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this 
operation. Encoded authorization failure message: VvuncIxj7Z_CPGNYXWqnuFV-YjByeAU66Q9752NtQ-I3-qnDLWs6JLFd
KnSMMiq5s6cGqjjPtEDpsnGHzzyHasFHOaRYJpaDVravoW25azn6KNkUQQlFwhJyujt2dtNCdduJfrqcFYAjlEiRMkfDHt7N63SKlweKUl
BHturzDK6A560Y2nDSUiMmAB1y9UNtqaZJ9SNe5sNxKMqZaqKtjRbk02RZu5V2vn9VMk6fm2aMVHbY9JhLvGypLcMUjtJ76H9ytg2zRlje
VPiU5v2s-UgZ7h0p2yth6ysUdhlONg6dBYu8_y_HtEI54invCj4CoK0qawqzMNe6rcmCQHvtCxtXsbkgyaEbcwmrm2m01-EMhekLFZeJLr
DtYOpYcEl4_nWFX1wtQDCnNNCmxnJZAoJvb3VMDYpDTsxjQv1PxODZuqWHs23YXWVywzgnLtHeRf2o4lUhGBw17mXsS07k7XAfdPMP_brO
PT9vrHtQiILor5VVTsjSPWg7edj__1rsnXhwPSu8gI48ZLRGrPQqFq0RmKO_QIE8N8s6NWzCK4yoX-9gDcheurOGpkprPIC9YPGMLK9tug
</Message></Error></Errors><RequestID>89b1215c-7814-40ae-a8db-41761f43f2b0</RequestID></Response>
```

Per risolvere l’errore, è necessario aggiungere l’operazione `ec2:TerminateInstances` alla policy IAM, come illustrato nell’esempio seguente.

# Lavorare con un parco istanze spot
<a name="work-with-spot-fleets"></a>

Per iniziare a utilizzare un parco istanze spot, puoi creare una richiesta che includa la capacità target totale per le istanze spot, la parte on demand facoltativa, e specificare manualmente un’AMI e una coppia di chiavi, oppure specificare un modello di avvio che includa la configurazione per le istanze nel parco istanze. Facoltativamente, puoi specificare parametri aggiuntivi o lasciare che il parco istanze utilizzi i valori predefiniti. Puoi anche etichettare la richiesta del parco istanze e le relative istanze e volumi, quando crei il parco istanze.

Il parco istanze avvia le Istanze on demand quando c’è capacità disponibile e avvia le Istanze spot quando il prezzo massimo supera il prezzo Spot e la capacità è disponibile.

Una volta avviato il parco istanze, puoi descrivere la richiesta del parco istanze, le istanze presenti nel parco istanze e qualsiasi evento relativo al parco istanze. Se necessario, puoi anche assegnare tag aggiuntivi.

Se è necessario modificare i parametri del parco istanze, come la capacità target totale, è possibile modificare il parco istanze, a condizione che sia configurato per mantenere la capacità. Non puoi modificare la capacità target di una richiesta una tantum dopo che è stata inviata.

La richiesta di parco istanze rimane attiva fino a quando non scade o fino a quando non viene annullata (eliminata). Quando annulli la richiesta del parco istanze, puoi interrompere le istanze o lasciarle in esecuzione. Se scegli di lasciare in esecuzione, le istanze on demand rimangono in esecuzione finché non vengono interrotte, e l’esecuzione delle istanze spot continua finché non vengono interrotte o arrestate.

**Topics**
+ [

# Stati della richiesta di parco istanze spot
](spot-fleet-states.md)
+ [

# Autorizzazioni del parco istanze spot
](spot-fleet-prerequisites.md)
+ [

# Creazione di un parco istanze Spot
](create-spot-fleet.md)
+ [

# Applicare un tag a una richiesta nuova o esistente per un parco istanze spot e alle istanze e ai volumi che avvia
](tag-spot-fleet.md)
+ [

# Descrivi una richiesta del parco istanze spot, le relative istanze e la cronologia degli eventi
](manage-spot-fleet.md)
+ [

# Modificare una richiesta di parco istanze spot
](modify-spot-fleet.md)
+ [

# Annullare (eliminare) una richiesta di parco istanze spot
](cancel-spot-fleet.md)
+ [

# Informazioni sulla scalabilità automatica per il parco istanze spot
](spot-fleet-automatic-scaling.md)

# Stati della richiesta di parco istanze spot
<a name="spot-fleet-states"></a>

Una richiesta del parco istanze spot può essere uno dei diversi stati, ciascuno dei quali indica una fase diversa del ciclo di vita della richiesta e della relativa gestione delle istanze.

Una richiesta di parco istanze spot può avere uno dei seguenti stati:

`submitted`  
La richiesta del parco istanze spot è in fase di valutazione e Amazon EC2 si sta preparando ad avviare il numero previsto di istanze. Se la tua richiesta supera le quote del parco istanze spot, viene annullata immediatamente.

`active`  
Il parco istanze spot è stata convalidato e Amazon EC2 sta tentando di mantenere il numero previsto di istanze spot in esecuzione. La richiesta rimane in questo stato finché non viene modificata o annullata.

`modifying`  
La richiesta del parco istanze spot è in fase di modifica. La richiesta rimane in questo stato finché la modifica non viene completamente elaborata o la richiesta non viene annullata. È possibile modificare solo un tipo di parco istanze `maintain`. Questo stato non si applica al tipo di parco istanze `request` una tantum.

`cancelled_running`  
Il parco istanze spot viene annullato (eliminato) e non avvia istanze spot aggiuntive. Le sue istanze esistenti continuano a essere eseguite finché non vengono interrotte o terminate manualmente. La richiesta rimane in questo stato finché tutte le istanze non vengono interrotte o terminate.

`cancelled_terminating`  
Il parco istanze spot viene annnullato (eliminato) e le sue istanze vengono terminate. La richiesta rimane in questo stato finché tutte le istanze non vengono terminate.

`cancelled`  
Il parco istanze spot viene annullato (eliminato) e non contiene istanze in esecuzione. La richiesta viene eliminata due giorni dopo e le sue istanze vengono terminate.

# Autorizzazioni del parco istanze spot
<a name="spot-fleet-prerequisites"></a>

Se gli utenti IAM creano o gestiscono una serie di istanze spot, occorre concedere loro le autorizzazioni richieste.

Se utilizzi la console Amazon EC2 per creare una serie di istanze spot, viene creato un ruolo collegato ai due servizi denominato `AWSServiceRoleForEC2SpotFleet` e `AWSServiceRoleForEC2Spot` e un ruolo denominato `aws-ec2-spot-fleet-tagging-role` che concede al serie di istanze spot le autorizzazioni per richiedere, avviare, terminare e assegnare tag alle risorse per tuo conto. Se utilizzi AWS CLI o un'API, devi assicurarti che questi ruoli esistano.

Utilizzare le istruzioni seguenti per concedere le autorizzazioni necessarie e creare i ruoli.

**Topics**
+ [

## Concessione di autorizzazioni a un utente per la serie di istanze spot
](#spot-fleet-iam-users)
+ [

## Ruolo collegato al servizio per il parco istanze spot
](#service-linked-roles-spot-fleet-requests)
+ [

## Ruolo collegato ai servizi per le istanze spot
](#service-linked-roles-spot-instances)
+ [

## Ruolo IAM per l’assegnazione di tag a un parco istanze spot
](#spot-fleet-service-linked-role)

## Concessione di autorizzazioni a un utente per la serie di istanze spot
<a name="spot-fleet-iam-users"></a>

Se gli utenti creano o gestiscono una serie di istanze spot, assicurati di concedere loro le autorizzazioni richieste.

**Per creare una policy per la serie di istanze spot**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, selezionare **Policies (Policy)**, quindi **Create policy (Crea policy)**.

1. Nella pagina **Crea policy** scegliere **JSON** e sostituire il testo con il seguente.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:RunInstances",
                   "ec2:CreateTags",
                   "ec2:RequestSpotFleet",
                   "ec2:ModifySpotFleetRequest",
                   "ec2:CancelSpotFleetRequests",
                   "ec2:DescribeSpotFleetRequests",
                   "ec2:DescribeSpotFleetInstances",
                   "ec2:DescribeSpotFleetRequestHistory"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:CreateServiceLinkedRole",
                   "iam:ListRoles",
                   "iam:ListInstanceProfiles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   La policy di esempio precedente concede a un utente le autorizzazioni richieste dalla maggior parte dei casi d’uso della serie di istanze spot. Per limitare l’utente a operazioni API specifiche, specificare solo tali operazioni API.

   **EC2 e IAM richiesti APIs**

   Nella policy APIs deve essere incluso quanto segue:
   + `ec2:RunInstances` - Obbligatorio per avviare istanze in una serie di istanze spot
   + `ec2:CreateTags` - Obbligatorio per applicare tag alla richiesta della serie di istanze spot, alle istanze o ai volumi
   + `iam:PassRole` - Obbligatorio per specificare il ruolo della serie di istanze spot
   + `iam:CreateServiceLinkedRole` - Obbligatorio per creare il ruolo collegato ai servizi
   + `iam:ListRoles` - Obbligatorio per enumerare i ruoli IAM esistenti
   + `iam:ListInstanceProfiles` - Obbligatorio per enumerare i profili delle istanze esistenti
**Importante**  
Se specifichi un ruolo per il profilo dell’istanza IAM nella specifica di avvio o nel modello di avvio, devi concedere all’utente l’autorizzazione per passare il ruolo al servizio. A tale scopo, nella policy IAM includere `"arn:aws:iam::*:role/IamInstanceProfile-role"` come risorsa per l’operazione `iam:PassRole`. Per ulteriori informazioni, consulta [Concedere a un utente le autorizzazioni per passare un ruolo a un AWS servizio nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) per l'*utente IAM*.

   **Spot Fleet APIs**

   Aggiungere le operazioni API del parco istanze spot seguenti alla policy, se necessario:
   + `ec2:RequestSpotFleet`
   + `ec2:ModifySpotFleetRequest`
   + `ec2:CancelSpotFleetRequests`
   + `ec2:DescribeSpotFleetRequests`
   + `ec2:DescribeSpotFleetInstances`
   + `ec2:DescribeSpotFleetRequestHistory`

   **IAM opzionale APIs**

   (Facoltativo) Per consentire a un utente di creare ruoli o profili delle istanze utilizzando la console IAM, è anche necessario aggiungere le operazioni seguenti alla policy:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Scegliere **Review policy (Esamina policy)**.

1. Nella pagina **Review policy (Rivedi policy)**, immettere un nome policy e una descrizione, poi selezionare **Create policy (Crea policy)**.

1. Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
   + Utenti e gruppi in AWS IAM Identity Center:

     Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
   + Utenti gestiti in IAM tramite un provider di identità:

     Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
   + Utenti IAM:
     + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
     + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

## Ruolo collegato al servizio per il parco istanze spot
<a name="service-linked-roles-spot-fleet-requests"></a>

Amazon EC2 utilizza ruoli collegati ai servizi per le autorizzazioni di cui ha bisogno per eseguire chiamate ad altri servizi AWS per tuo conto. Un ruolo collegato al servizio è un tipo unico di ruolo IAM collegato direttamente a un AWS servizio. I ruoli collegati ai servizi forniscono un modo sicuro per delegare le autorizzazioni ai AWS servizi perché solo il servizio collegato può assumere un ruolo collegato al servizio. Per ulteriori informazioni, consulta [Ruoli collegati ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) nella *Guida per l’utente di IAM*.

Amazon EC2 utilizza il ruolo collegato al servizio denominato **AWSServiceRoleForEC2SpotFleet**per avviare e gestire le istanze per tuo conto.

**Importante**  
Se specifichi un'[AMI crittografata](AMIEncryption.md) o uno snapshot Amazon EBS crittografato nella tua flotta Spot, devi concedere al **AWSServiceRoleForEC2SpotFleet**ruolo l'autorizzazione a utilizzare la CMK in modo che Amazon EC2 possa avviare istanze per tuo conto. Per ulteriori informazioni, consulta [Concedi l'accesso a CMKs per l'utilizzo con istantanee crittografate AMIs ed EBS](#spot-fleet-service-linked-roles-access-to-cmks).

### Autorizzazioni concesse da AWSService RoleFor EC2 SpotFleet
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2SpotFleet"></a>

Il **AWSServiceRoleForEC2SpotFleet**ruolo concede a Spot Fleet l'autorizzazione a richiedere, avviare, terminare e contrassegnare le istanze per tuo conto. Amazon EC2 utilizza questo ruolo collegato ai servizi per completare le operazioni seguenti:
+ `ec2:RequestSpotInstances` – Richiesta di Istanze spot
+ `ec2:RunInstances` - Avviare istanze
+ `ec2:TerminateInstances` - Terminare istanze
+ `ec2:DescribeImages`- Descrivi Amazon Machine Images (AMIs) per le istanze
+ `ec2:DescribeInstanceStatus` - Monitorare lo stato delle istanze.
+ `ec2:DescribeSubnets` - Descrivere le sottoreti per le istanze
+ `ec2:CreateTags` - Aggiungere tag alla richiesta della serie di istanze spot, alle istanze e ai volumi
+ `elasticloadbalancing:RegisterInstancesWithLoadBalancer` - Aggiungere le istanze specificate al load balancer specificato
+ `elasticloadbalancing:RegisterTargets` - Registrare le destinazioni specificate nel gruppo di destinazioni specificato

### Creazione del ruolo collegato ai servizi
<a name="service-linked-role-creating-for-spot-fleet"></a>

In gran parte dei casi, non è necessario creare manualmente un ruolo collegato ai servizi. Amazon EC2 crea il ruolo **AWSServiceRoleForEC2SpotFleet**collegato ai servizi la prima volta che crei una flotta Spot utilizzando la console. 

Se hai ricevuto una richiesta Spot Fleet attiva prima di ottobre 2017, quando Amazon EC2 ha iniziato a supportare questo ruolo collegato al servizio, Amazon EC2 ha creato il ruolo nel tuo account. **AWSServiceRoleForEC2SpotFleet** AWS *Per ulteriori informazioni, consulta [A new role appeared in my AWS account nella](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared) IAM User Guide.*

Se utilizzi AWS CLI o un'API per creare una flotta Spot, devi prima assicurarti che questo ruolo esista.

**Per creare il AWSService RoleFor EC2 SpotFleet ruolo per Spot Fleet utilizzando la console**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. Nella pagina **Seleziona un’entità attendibile**, esegui le operazioni seguenti:

   1. Per **Tipo di entità attendibile**, scegli **Servizio AWS **.

   1. In **Caso d’uso**, per **Servizio o caso d’uso**, scegli **EC2**.

   1. In **Caso d’uso**, scegli **EC2 – Parco istanze spot**.
**Nota**  
Lo use case **EC2 - Spot Fleet** creerà automaticamente una policy con le autorizzazioni IAM richieste e la suggerirà **AWSEC2SpotFleetServiceRolePolicy**come nome del ruolo.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), scegli **Next** (Successivo).

1. Nella pagina **Nomina, rivedi e crea** scegli **Crea ruolo**.

**Per creare il AWSService RoleFor EC2 SpotFleet ruolo di Spot Fleet utilizzando il AWS CLI**  
Utilizza il comando [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) come riportato di seguito.

```
aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com
```

Se non hai più bisogno di utilizzare Spot Fleet, ti consigliamo di eliminare il **AWSServiceRoleForEC2SpotFleet**ruolo. Dopo che questo ruolo è stato eliminato dall’account, Amazon EC2 creerà di nuovo il ruolo se viene richiesto un parco istanze spot utilizzando la console. Per ulteriori informazioni, consulta [Eliminazione del ruolo collegato ai servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr) nella *Guida per l'utente IAM*.

### Concedi l'accesso a CMKs per l'utilizzo con istantanee crittografate AMIs ed EBS
<a name="spot-fleet-service-linked-roles-access-to-cmks"></a>

Se specifichi un [AMI crittografato](AMIEncryption.md) o uno snapshot Amazon EBS crittografato nella tua richiesta Spot Fleet e utilizzi una chiave gestita dal cliente per la crittografia, devi concedere al **AWSServiceRoleForEC2SpotFleet**ruolo l'autorizzazione a utilizzare la CMK in modo che Amazon EC2 possa avviare istanze per tuo conto. Per farlo, occorre aggiungere una concessione alla chiave CMK, come mostrato nella procedura seguente.

Nel processo di assegnazione delle autorizzazioni, le concessioni rappresentano un’alternativa alle policy delle chiavi. Per ulteriori informazioni, consulta [Utilizzo delle concessioni](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) e [Utilizzo delle policy delle chiavi in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Per concedere al AWSService RoleFor EC2 SpotFleet ruolo le autorizzazioni per utilizzare la CMK**
+ Utilizzate il comando [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) per aggiungere una concessione alla CMK e specificare il principale (il ruolo **AWSServiceRoleForEC2SpotFleet**collegato al servizio) a cui viene concessa l'autorizzazione per eseguire le operazioni consentite dalla concessione. La CMK è specificata dal parametro `key-id` e dal relativo ARN. Il principale è specificato dal `grantee-principal` parametro e dall'ARN del ruolo collegato al **AWSServiceRoleForEC2SpotFleet**servizio.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spotfleet.amazonaws.com/AWSServiceRoleForEC2SpotFleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Ruolo collegato ai servizi per le istanze spot
<a name="service-linked-roles-spot-instances"></a>

Amazon EC2 utilizza il ruolo collegato al servizio denominato **AWSServiceRoleForEC2Spot** per avviare e gestire le istanze Spot per tuo conto. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per le richieste di istanza spot](service-linked-roles-spot-instance-requests.md).

## Ruolo IAM per l’assegnazione di tag a un parco istanze spot
<a name="spot-fleet-service-linked-role"></a>

Il ruolo IAM `aws-ec2-spot-fleet-tagging-role` concede l’autorizzazione al serie di istanze spot per assegnare tag alla richiesta, alle istanze e ai volumi della serie di istanze spot. Per ulteriori informazioni, consulta [Applicare un tag a una richiesta nuova o esistente per un parco istanze spot e alle istanze e ai volumi che avvia](tag-spot-fleet.md).

**Importante**  
Se scegli di applicare tag alle istanze nel parco istanze e scegli anche di mantenere la capacità obiettivo (la richiesta della serie di istanze spot è di tipo `maintain`), le differenze nelle autorizzazioni impostate per l’utente e il `IamFleetRole` potrebbero generare un comportamento incoerente nell’assegnazione di tag alle istanze nel parco istanze. Se l’autorizzazione `IamFleetRole` `CreateTags` non include, alcune delle istanze lanciate dal parco istanze potrebbero non essere taggate. Mentre stiamo lavorando per risolvere questa incoerenza, per garantire che tutte le istanze lanciate dal parco istanze siano taggate, si consiglia di utilizzare il ruolo `aws-ec2-spot-fleet-tagging-role` per `IamFleetRole`. In alternativa, per utilizzare un ruolo esistente, collega la `AmazonEC2SpotFleetTaggingRole` AWS Managed Policy al ruolo esistente. In caso contrario, è necessario aggiungere manualmente l’autorizzazione `CreateTags` alla policy esistente.

**Per creare il ruolo IAM per l’assegnazione di tag a un parco istanze spot**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Roles** (Ruoli).

1. Selezionare **Create role (Crea ruolo)**.

1. Nella pagina **Select trusted entity** (Seleziona entità attendibile) in **Trusted entity type** (Tipo di entità attendibile), scegli **AWS service** (Servizio ).

1. In **Use case** (Caso d’uso), da **Use cases for other AWS services** (Casi d’uso per altri servizi ), scegli **EC2**, quindi scegli **EC2 - Spot Fleet Tagging** (EC2 - Assegnazione di tag per la serie di istanze spot).

1. Scegli **Next** (Successivo).

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), scegli **Next** (Successivo).

1. Nella pagina **Name, review, and create** (Nome, revisione e creazione), per **Role name** (Nome ruolo) inserisci un nome per il ruolo (ad esempio **aws-ec2-spot-fleet-tagging-role**).

1. Rivedi le informazioni presenti nella pagina, quindi scegli **Create role** (Crea ruolo).

### Prevenzione del confused deputy tra servizi
<a name="cross-service-confused-deputy-prevention"></a>

Il [problema confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) è un problema di sicurezza in cui un’entità che non dispone dell’autorizzazione per eseguire un’azione può costringere un’entità maggiormente privilegiata a eseguire l’azione. Consigliamo di utilizzare le chiavi di contesto delle condizioni globali [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) nelle policy di attendibilità `aws-ec2-spot-fleet-tagging-role` per limitare le autorizzazioni con cui la serie di istanze spot fornisce un altro servizio alla risorsa.

**Per aggiungere le chiavi aws: SourceArn e aws: SourceAccount condition alla policy di `aws-ec2-spot-fleet-tagging-role` fiducia**

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, seleziona **Ruoli**.

1. Individuare la policy `aws-ec2-spot-fleet-tagging-role` creata in precedenza e scegliere il collegamento (non la casella di spunta).

1. In **Summary** (Riepilogo), scegliere la scheda **Trust relationships** (Relazioni di attendibilità), quindi scegliere **Edit trust policy** (Modifica policy di attendibilità).

1. Nell’istruzione JSON, aggiungere un elemento `Condition` contenente le proprie chiavi di contesto delle condizioni globali `aws:SourceAccount` e `aws:SourceArn` per prevenire il [problema del “deputy confused”](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html), come segue:

   ```
   "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
   ```
**Nota**  
Se si utilizzano entrambe le chiavi di contesto delle condizioni globali e il valore `aws:SourceArn` contiene l’ID account, il valore `aws:SourceAccount` e l’account nel valore `aws:SourceArn` devono utilizzare lo stesso ID account quando viene utilizzato nella stessa dichiarazione di policy.

   La policy di attendibilità finale sarà la seguente:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Sid": "ConfusedDeputyPreventionExamplePolicy",
       "Effect": "Allow",
       "Principal": {
         "Service": "spotfleet.amazonaws.com"
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
       }
     }
   }
   ```

------

1. Scegli **Aggiorna policy**.

La tabella seguente fornisce valori potenziali affinché `aws:SourceArn` limiti l’ambito di `aws-ec2-spot-fleet-tagging-role` secondo diversi gradi di specificità.


****  

| Operazione API | Servizio chiamato | Scope | `aws:SourceArn` | 
| --- | --- | --- | --- | 
| RequestSpotFleet | AWS STS (AssumeRole) | Limita la AssumeRole funzionalità aws-ec2-spot-fleet-tagging-role spot-fleet-requests all'account specificato. | arn:aws:ec2:\$1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Limita la AssumeRole capacità aws-ec2-spot-fleet-tagging-role spot-fleet-requests all'account e alla regione specificati. Questo ruolo non sarà utilizzabile in altre regioni. | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Limita la capacità di AssumeRole in aws-ec2-spot-fleet-tagging-role alle sole operazioni che interessano il parco istanze sfr-11111111-1111-1111-1111-111111111111. Questo ruolo potrebbe non essere utilizzabile per altre serie di istanze spot. Inoltre, questo ruolo non può essere utilizzato per lanciare nuove flotte Spot tramite request-spot-fleet. | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-11111111-1111-1111-1111-111111111111 | 

# Creazione di un parco istanze Spot
<a name="create-spot-fleet"></a>

Utilizzando Console di gestione AWS, puoi creare rapidamente una richiesta Spot Fleet scegliendo solo un AMI e la capacità target totale desiderata. Amazon EC2 configurerà un parco istanze più appropriato alle tue esigenze e segue le best practice Spot. In alternativa, puoi modificare le impostazioni predefinite che preferisci.

Se desideri includere le istanze on demand nel tuo parco istanze, devi specificare un modello di avvio nella richiesta e specificare la capacità on demand desiderata.

Il parco istanze avvia le Istanze on demand quando la capacità è disponibile e avvia le Istanze spot quando il prezzo massimo supera il prezzo Spot e la capacità è disponibile.

Se il parco istanze include istanze spot ed è di tipo `maintain`, Amazon EC2 tenterà di mantenere la capacità target del parco istanze quando le istanze spot vengono interrotte.

**Autorizzazioni richieste**  
Per ulteriori informazioni, consulta [Autorizzazioni del parco istanze spot](spot-fleet-prerequisites.md).

**Topics**
+ [

## Crea rapidamente una richiesta di parco istanze spot
](#create-spot-fleet-quick)
+ [

## Crea una richiesta di parco istanze spot utilizzando parametri definiti
](#create-spot-fleet-advanced)
+ [

## Crea un parco istanze spot che sostituisca le istanze spot non integre
](#spot-fleet-health-checks)

## Crea rapidamente una richiesta di parco istanze spot
<a name="create-spot-fleet-quick"></a>

Per creare rapidamente una richiesta di parco istanze spot usando la console Amazon EC2, segui la procedura descritta di seguito.

**Per creare una richiesta di parco istanze spot utilizzando le impostazioni consigliate**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Se è la prima volta che viene utilizzato lo Spot, verrà visualizzata una pagina di benvenuto; selezionare **Get started (Inizia)**. Altrimenti, scegli **Crea richiesta del parco istanze spot**.

1. Sotto **Launch parameters (Parametri di avvio)**, scegliere **Manually configure launch parameters (Configura manualmente i parametri di avvio)**.

1. Per **AMI**, scegliere un’AMI.

1. Sotto **Target capacity (Capacità di destinazione)**, per **Total target capacity (Capacità di destinazione totale)**, specificare il numero di unità da richiedere. Per il tipo di unità, puoi scegliere **Istanze**CPUs, **v** o **Memoria (GiB)**.

1. Per **La tua richiesta immediata per il parco istanze**, controlla la configurazione del tuo parco istanze e scegli **Launch (Avvia)**.

## Crea una richiesta di parco istanze spot utilizzando parametri definiti
<a name="create-spot-fleet-advanced"></a>

È possibile creare un parco istanze spot utilizzando i parametri che si definiscono.

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

**Per creare una richiesta di parco istanze spot utilizzando parametri definiti**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Se è la prima volta che viene utilizzato lo Spot, verrà visualizzata una pagina di benvenuto; selezionare **Get started (Inizia)**. Altrimenti, scegli **Crea richiesta del parco istanze spot**.

1. Per i **parametri di avvio**, puoi configurare manualmente i parametri di avvio oppure utilizzare un modello di avvio, come indicato di seguito:

   1. [Configurazione manuale] Per definire i parametri di avvio nella console Amazon EC2, scegli **Configura manualmente i parametri di avvio**, poi procedi come indicato di seguito:

      1. Per gli **AMI**, scegli uno degli AMI di base AMIs forniti da AWS, oppure scegli **Cerca AMI per** utilizzare un AMI della nostra comunità di utenti Marketplace AWS, o uno dei tuoi.
**Nota**  
Se un’AMI specificata nei parametri di avvio viene disabilità o la sua registrazione viene annullata, non è possibile avviare nuove istanze dall’AMI. Per i parchi istanze che sono impostati per mantenere la capacità target, tale capacità non verrà mantenuta.

      1. (Facoltativo) Per **Key pair name (Nome della coppia di chiavi)**, scegliere una coppia di chiavi esistente o crearne una nuova.

         [Coppia di chiavi esistente] Scegliere la coppia di chiavi.

         [Nuova coppia di chiavi] Scegli **Crea nuova coppia di chiavi** per accedere alla pagina **Coppie di chiavi**. Una volta terminato, tornare alla pagina **Spot Requests (Richieste Spot)** e aggiornare l’elenco.

      1. (Facoltativo) Espandere **Additional launch parameters (Parametri di avvio aggiuntivi)** ed effettuare le seguenti operazioni.

         1. (Facoltativo) Per abilitare l’ottimizzazione Amazon EBS, per **EBS-optimized (Ottimizzato per EBS)**, scegliere **Launch EBS-optimized instances (Avvia istanze ottimizzate per EBS)**.

         1. (Facoltativo) Per aggiungere archiviazione a livello di blocchi temporaneo per le istanze, per **Instance store**, scegliere **Attach at launch (Collega all’avvio)**.

         1. (Facoltativo) Per aggiungere archiviazione, scegli **Add new volume** (Aggiungi nuovo volume) e specifica volumi di archivio istanza aggiuntivi o volumi Amazon EBS, a seconda del tipo di istanza.

         1. (Facoltativo) Per impostazione predefinita, per le proprie istanze è attivo il monitoraggio base. Per abilitare il monitoraggio dettagliato, per **Monitoraggio**, seleziona **Abilita monitoraggio CloudWatch dettagliato**.

         1. (Facoltativo) Per eseguire un’istanza spot dedicata, per **Tenancy** selezionare **Dedicated - run a dedicated instance (Dedicata: esegui un’istanza dedicata)**.

         1. (Facoltativo) Per **Security groups (Gruppi di sicurezza)**, scegliere uno o più gruppi di sicurezza o crearne uno nuovo.

            [Gruppo di sicurezza esistente] Scegliere uno o più gruppi di sicurezza.

            [Nuovo gruppo di sicurezza] Scegliere **Create new security group (Crea nuovo gruppo di sicurezza)** per accedere alla pagina **Security Groups (Gruppi di sicurezza)**. Una volta terminato, tornare alla pagina **Spot Requests (Richieste Spot)** e aggiornare l’elenco.

         1. **(Facoltativo) Per rendere le istanze raggiungibili da Internet, per **Assegnare automaticamente un IP IPv4 pubblico**, scegli Abilita.**

         1. (Facoltativo) Per avviare le Istanze spot con un ruolo IAM, selezionare il ruolo per **IAM instance profile (Profilo dell’istanza IAM)**.

         1. (Facoltativo) Per eseguire uno script di avvio, copiarlo su **User data (Dati utente)**.

         1. (Facoltativo) Per aggiungere un tag, scegliere **Create tag (Crea tag)** e inserire la chiave e il valore per il tag, quindi scegliere **Create (Crea)**. Ripetere per ogni tag.

            Per ogni tag, per assegnare alle richieste di istanze e serie di istanze spot lo stesso tag, assicurarsi che siano selezionati sia **Instance (Istanza)** che **Fleet (parco istanze)**. Per assegnare tag solo alle istanze avviate dal parco istanze, deseleziona **Fleet** (parco istanze). Per assegnare tag solo alla richiesta della serie di istanze spot, deselezionare **Instances (Istanze)**.

   1. [Modello di avvio] Per utilizzare una configurazione creata in un modello di avvio, scegli **Usa un modello di avvio** e per **Modello di avvio**, scegli un modello di avvio.
**Nota**  
Se desideri capacità on demand nel parco istanze spot, devi specificare un modello di avvio.

1. Per **Additional request details (Dettagli richiesta aggiuntivi)**, procedere come segue:

   1. Esaminare i dettagli aggiuntivi della richiesta. Per apportare modifiche, deselezionare **Apply defaults (Applica impostazioni predefinite)**.

   1. (Facoltativo) Per **IAM fleet role (Ruolo parco istanze IAM)**, è possibile utilizzare il ruolo predefinito o scegliere un ruolo diverso. Per utilizzare il ruolo predefinito dopo aver modificato il ruolo, scegliere **Use default role (Usa ruolo predefinito)**.

   1. (Facoltativo) Per creare una richiesta valida soltanto per un periodo di tempo specifico, modificare **Request valid from (Richiesta valida da)** e **Request valid until (Richiesta valida fino a)**.

   1. (Facoltativo) Per impostazione predefinita, Amazon EC2 termina le istanze quando la richiesta del parco istanze spot scade. Per tenerle in esecuzione dopo la scadenza della richiesta, deselezionare **Terminate the instances when the request expires (Termina istanze alla scadenza della richiesta)**.

   1. (Facoltativo) Per registrare le proprie Istanze Spot con un load balancer, selezionare **Receive traffic from one or more load balancers** (Ricevi traffico da uno o più load balancer) e scegliere uno o più Classic Load Balancer o gruppi di destinazione.

1. In **Target capacity (Capacità target)**, effettuare le operazioni seguenti:

   1. Per **Total target capacity (Capacità di destinazione totale)**, specificare il numero di unità da richiedere. Per il tipo di unità, puoi scegliere **Istanze**CPUs, **v** o **Memoria (MiB)**. Per specificare una capacità target pari a 0 per aggiungere la capacità in un secondo momento, devi prima selezionare **Mantieni capacità target**.

   1. (Facoltativo) Per **Include On-Demand base capacity (Includi capacità di base on demand)**, specificare il numero di unità on demand da richiedere. Il numero deve essere inferiore alla **Capacità obiettivo totale**. Amazon EC2 calcola la differenza e la assegna alle unità Spot da richiedere.
**Importante**  
 Per specificare una capacità on demand facoltativa, è necessario prima scegliere un modello di avvio.

   1. (Facoltativo) Per impostazione predefinita, Amazon EC2 termina le istanze spot quando esse vengono interrotte. Per mantenere la capacità target, selezionare **Maintain target capacity (Mantieni capacità target)**. È quindi possibile specificare che Amazon EC2 termini, arresti o iberni le istanze spot quando vengono interrotte. Per procedere in questo senso, selezionare l’opzione corrispondente da **Interruption behavior (Comportamento di interruzione)**.
**Nota**  
Se un’AMI specificata nei parametri di avvio viene disabilità o la sua registrazione viene annullata, non è possibile avviare nuove istanze dall’AMI. In questo caso, per i parchi istanze che sono impostati per mantenere la capacità target, tale capacità non verrà mantenuta.

   1. (Facoltativo) Per consentire alla serie di istanze spot di avviare un’istanza spot sostitutiva quando viene emessa una notifica di ribilanciamento dell’istanza per un’istanza spot esistente nel parco istanze, selezionare **Capacity rebalance (Ribilanciamento capacità)**, quindi scegliere una strategia di sostituzione istanze. Se scegli **Avviare prima di terminare**, specificare il ritardo (in secondi) prima che Amazon EC2 termini le vecchie istanze. Per ulteriori informazioni, consulta [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).

   1. (Facoltativo) Per controllare l’importo che paghi all’ora per tutte le istanze spot del parco istanze, seleziona **Set maximum cost for Spot Instances** (Imposta il costo massimo per le istanze spot) e quindi inserisci l’importo totale massimo che sei disposto a pagare all’ora. Quando viene raggiunto l’importo totale massimo, il parco istanze spot interrompe l’avvio di istanze spot, anche se non è stata raggiunta la capacità obiettivo. Per ulteriori informazioni, consulta [Imposta un limite di spesa per il Parco istanze EC2 o il parco istanze spot](ec2-fleet-control-spending.md).

1. In **Network (Rete)**, procedere come segue:

   1. (Facoltativo) Per **Rete**, scegliere un VPC esistente o crearne uno nuovo.

      [VPC esistente] Scegliere il VPC.

      [VPC nuovo] Scegliere **Create new VPC (Crea nuovo VPC)** per accedere alla console Amazon VPC. Una volta terminato, torna in questa schermata e aggiorna l’elenco.

   1. (Facoltativo) Per **Zona di disponibilità**, lascia che Amazon EC2 scelga le zone di disponibilità per le istanze spot oppure specifica una o più zone di disponibilità.

      Se si ha più di una sottorete in una zona di disponibilità, scegliere la sottorete appropriata da **Subnet (Sottorete)**. Per aggiungere sottoreti, scegliere **Create new subnet (Crea nuova sottorete)** per accedere alla console Amazon VPC. Una volta terminato, torna in questa schermata e aggiorna l’elenco.

1. Per **Instance type requirements** (Requisiti per il tipo di istanza), puoi specificare gli attributi dell’istanza e consentire ad Amazon EC2 di identificare i tipi di istanza ottimali con questi attributi, oppure puoi specificare un elenco di istanze. Per ulteriori informazioni, consulta [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).

   1. Se si sceglie **Specify instance attributes that match your compute requirements (Specifica gli attributi di istanza che corrispondono ai requisiti di calcolo)**, specificare gli attributi di istanza nel modo seguente:

      1. Per **v CPUs**, inserisci il numero minimo e massimo desiderato di v. CPUs Per non specificare alcun limite, selezionate **Nessun minimo** o **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 **Nessun minimo**, **Nessun massimo** o entrambe le opzioni.

      1. (Facoltativo) Per **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 tua richiesta. È possibile omettere gli attributi aggiuntivi, nel qual caso saranno utilizzati i valori di default. Per una descrizione di ogni attributo e dei relativi valori predefiniti, vedere [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

      1. (Facoltativo) Per visualizzare i tipi di istanza con gli attributi specificati, espandere **Preview matching instance types (Anteprima tipi di istanza corrispondenti)**. Per escludere i tipi di istanza utilizzati nella richiesta, selezionare le istanze e quindi scegliere **Exclude selected instance types (Escludi tipi di istanze selezionati)**.

   1. Se si sceglie **Manually select instance types (Seleziona manualmente i tipi di istanza)**, la serie di istanze spot fornisce un elenco di tipi di istanza di default. Per selezionare più tipi di istanza, scegliere **Add instance types (Aggiungi tipi di istanza)**, selezionare i tipi di istanza da utilizzare nella tua richiesta e scegliere **Select (Seleziona)**. Per eliminare i tipi di istanza, selezionarli e scegliere **Delete (Elimina)**.

1. Per **Strategia di allocazione**, scegli una strategia di allocazione Spot e una strategia di allocazione on demand che soddisfi le tue esigenze. Per ulteriori informazioni, consulta [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).

1. Per **Your fleet request at a glance (La tua richiesta immediata per il parco istanze)**, rivedere la configurazione del parco istanze e, se necessario, apportare eventuali modifiche.

1. (Facoltativo) Per scaricare una copia della configurazione di avvio da utilizzare con AWS CLI, scegli **JSON config**.

1. Quando è tutto pronto per l’avvio del parco istanze spot, scegli **Avvia**.

   Il tipo di richiesta della serie di istanze spot è `fleet`. Quando la richiesta viene soddisfatta, vengono aggiunte delle richieste di tipo `instance`, che hanno come condizione `active` e come stato `fulfilled`.

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

**Per creare una richiesta di parco istanze spot**  
Utilizza il comando [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html).

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json
```

Per i file di configurazione di esempio, consultare [Configurazioni CLI di esempi per parco istanze spot](spot-fleet-examples.md).

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

**Per creare una richiesta di parco istanze spot**  
Utilizza il cmdlet [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html). L’esempio seguente avvia le istanze spot in un parco istanze ottimizzato per la capacità.

```
Request-EC2SpotFleet `
    -SpotFleetRequestConfig_TargetCapacity 50 `
    -SpotFleetRequestConfig_AllocationStrategy "CapacityOptimized" `
    -SpotFleetRequestConfig_IamFleetRole "arn:aws:iam::123456789012:role/my-spot-fleet-role" `
    -SpotFleetRequestConfig_LaunchTemplateConfig @($launchConfig)
```

Definisci la configurazione di avvio nel modo seguente, impostando il modello di avvio e sovrascrivendo le proprietà necessarie. Per gli esempi di configurazione, consulta [Configurazioni CLI di esempi per parco istanze spot](spot-fleet-examples.md).

```
$lcSpec = Amazon.EC2.Model.FleetLaunchTemplateSpecification
# To do - Set FleetLaunchTemplateSpecification properties
$lcOverrides = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
# To do - Set LaunchTemplateOverrides properties
$launchConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchConfig.LaunchTemplateSpecification $lcSpec
$launchConfig.Overrides @($lcOverrides)
```

------

## Crea un parco istanze spot che sostituisca le istanze spot non integre
<a name="spot-fleet-health-checks"></a>

Il parco istanze spot controlla lo stato di integrità delle istanze nel parco istanze ogni due minuti. Lo stato di un’istanza è `healthy` o `unhealthy`.

Il parco istanze spot determina lo stato di integrità un’istanza utilizzando i controlli dello stato forniti da Amazon EC2. Un’istanza viene determinata come `unhealthy` quando lo stato del controllo dello stato dell’istanza o del controllo dello stato del sistema è `impaired` per tre controlli di integrità consecutivi. Per ulteriori informazioni, consulta [Verifiche dello stato delle istanze Amazon EC2](monitoring-system-instance-status-check.md).

È possibile configurare il parco istanze per sostituire le Istanze spot non integre. Dopo avere abilitato la sostituzione del controllo di integrità, un’istanza spot viene sostituita quando viene segnalata come `unhealthy`. Durante la sostituzione di un’istanza spot non integra, il parco istanze può scendere al di sotto della sua capacità obiettivo.

**Requisiti**
+ La sostituzione del controllo dello stato è supportata solo per i Parchi istanze spot che mantengono una capacità target (parchi istanza del tipo `maintain`) e non per i Parchi istanze spot una tantum (ossia del tipo `request`).
+ La sostituzione del controllo dello stato è supportata solo per Istanze spot. Questa funzionalità non è supportata per Istanze on demand.
+ È possibile configurare il parco istanze spot per sostituire le istanze non integre solo al momento della sua creazione.
+ Gli utenti possono utilizzare la sostituzione del controllo dell’integrità solo se hanno l’autorizzazione a chiamare l’operazione `ec2:DescribeInstanceStatus`.

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

**Per configurare un parco istanze spot per sostituire le istanze spot non integre**

1. Seguire i passaggi per creare un parco istanze spot in [Crea una richiesta di parco istanze spot utilizzando parametri definiti](#create-spot-fleet-advanced).

1. Per configurare il parco istanze per sostituire istanze spot non integre, espandi **Parametri di avvio aggiuntivi** e in **Controllo dell’integrità**, seleziona **Sostituisci istanze non integre**. Per abilitare questa opzione, è necessario innanzitutto scegliere **Mantieni capacità target**.

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

**Per configurare un parco istanze spot per sostituire le istanze spot non integre**  
Utilizzate il [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)comando con la `ReplaceUnhealthyInstances` proprietà di. `SpotFleetRequestConfig`

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "lowestPrice",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "TargetCapacity": 10,
        "ReplaceUnhealthyInstances": true
    }
}
```

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

**Per configurare una richiesta del parco istanze spot per sostituire le istanze spot non integre**  
Utilizzare il [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html)cmdlet con il `-SpotFleetRequestConfig_ReplaceUnhealthyInstance` parametro.

```
-SpotFleetRequestConfig_ReplaceUnhealthyInstance $true
```

------

# Applicare un tag a una richiesta nuova o esistente per un parco istanze spot e alle istanze e ai volumi che avvia
<a name="tag-spot-fleet"></a>

Per categorizzare e gestire le richieste del parco istanze spot e le istanze e i volumi che avvia, puoi contrassegnarle con tag contenenti metadati personalizzati. È possibile assegnare un tag a una richiesta di parco istanze spot alla sua creazione o successivamente. Allo stesso modo, puoi assegnare un tag alle istanze e ai volumi quando vengono lanciati dal parco istanze o in un secondo momento.

Quando si applica un tag a una richiesta del parco istanze, alle istanze e ai volumi che vengono avviati dal parco istanze non vengono automaticamente applicati tag. È necessario applicare esplicitamente tag alle istanze e ai volumi avviati dal parco istanze. È possibile scegliere di applicare tag solo alla richiesta del parco istanze o solo alle istanze avviate dal parco istanze oppure solo ai volumi collegati alle istanze avviate dal parco istanze o a tutti.

**Nota**  
È possibile applicare tag ai volumi collegati a istanze on demand. Non è possibile applicare tag ai volumi collegati a Istanze spot.

È possibile assegnare tag utilizzando la console Amazon EC2 o lo strumento da riga di comando.

Per ulteriori informazioni sul funzionamento dei tag, consultare [Tagging delle risorse Amazon EC2.](Using_Tags.md).

**Topics**
+ [

## Prerequisito
](#tag-spot-fleet-prereqs)
+ [

## Applicare un tag a un nuovo parco istanze spot e alle istanze e ai volumi che avvia
](#tag-new-spot-fleet-and-resources)
+ [

## Assegnazione di tag a un parco istanze spot esistente
](#tag-existing-spot-fleet)
+ [

## Visualizzare i tag della richiesta di parco istanze spot
](#view-spot-fleet-tags)

## Prerequisito
<a name="tag-spot-fleet-prereqs"></a>

Concedi all’utente l’autorizzazione per taggare le risorse. Per ulteriori informazioni, consulta [Esempio: aggiunta di tag alle risorse](ExamplePolicies_EC2.md#iam-example-taggingresources).

**Per concedere a un utente l’autorizzazione per taggare le risorse**  
Creare una policy IAM che include quanto segue:
+ L’operazione `ec2:CreateTags`. Ciò concede all’utente l’autorizzazione per creare tag.
+ L’operazione `ec2:RequestSpotFleet`. Ciò concede all’utente l’autorizzazione per creare una richiesta di serie di istanze spot.
+ Per `Resource`, è necessario specificare `"*"`. Ciò consente agli utenti di taggare tutti i tipi di risorse.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotFleetRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags",
                "ec2:RequestSpotFleet"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Importante**  
Attualmente non sono supportate le autorizzazioni a livello di risorse per la risorsa `spot-fleet-request`. Se si specifica `spot-fleet-request` come risorsa, si otterrà un’eccezione non autorizzata quando si tenta di taggare il parco istanze. Nell’esempio seguente viene mostrato come *non* impostare la policy.   

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateTags",
        "ec2:RequestSpotFleet"
    ],
    "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*"
}
```

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in: AWS IAM Identity Center

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

## Applicare un tag a un nuovo parco istanze spot e alle istanze e ai volumi che avvia
<a name="tag-new-spot-fleet-and-resources"></a>

**Per applicare tag a una nuova richiesta del parco istanze spot e alle istanze e ai volumi che avvia utilizzando la console**

1. Seguire la procedura [Crea una richiesta di parco istanze spot utilizzando parametri definiti](create-spot-fleet.md#create-spot-fleet-advanced).

1. Il modo in cui aggiungi un tag dipende dal fatto che tu abbia configurato manualmente il parco istanze o utilizzato un modello di avvio.
   + Se hai configurato manualmente il parco istanze, completa le seguenti operazioni:

     Per aggiungere un tag, espandi **Parametri di avvio aggiuntivi**, scegli **Crea tag** e inserisci la chiave e il valore per il tag. Ripetere per ogni tag.

     Per ogni tag, è possibile assegnare lo stesso tag alla richiesta del parco istanze spot e alle istanze. Per taggare entrambi, assicurarsi che **Istanze** e **Parco istanze** siano entrambi selezionati. Per assegnare tag solo alla richiesta della serie di istanze spot, deselezionare **Instances (Istanze)**. Per assegnare tag solo alle istanze avviate dal parco istanze, deseleziona **Fleet** (parco istanze).
**Nota**  
Quando configuri manualmente un parco istanze, non puoi applicare tag ai volumi. I tag associati ai volumi sono supportati solo per i volumi collegati a Istanze on demand. Quando configuri manualmente un parco istanze, non puoi specificare istanze on demand.
   + Se hai utilizzato un modello di avvio, completa le seguenti operazioni:

     Per aggiungere un tag alla richiesta del parco istanze, in **Tag**, scegli **Crea tag** e inserisci la chiave e il valore per il tag. Ripetere per ogni tag.

     Per applicare tag alle risorse nel tuo parco istanze, devi specificare i tag nel [modello di avvio](create-launch-template.md).

**Per etichettare una nuova richiesta Spot Fleet e le istanze e i volumi che avvia, utilizza il AWS CLI**  
Per applicare tag a una richiesta di parco istanze spot al momento della creazione e per applicare tag alle istanze e ai volumi quando vengono avviati dal parco istanze, impostare la configurazione della richiesta di parco istanze spot nel modo seguente:

**Tag della richiesta di parco istanze spot:**
+ Specificare i tag per la richiesta di serie di istanze spot in `SpotFleetRequestConfig`.
+ Per `ResourceType`, specificare `spot-fleet-request`. Indicando un altro valore, la richiesta per il parco istanze fallisce.
+ Per `Tags`, specificare la coppia chiave-valore. È possibile specificare più coppie chiave-valore.

**Tag di istanza:**
+ Specificare i tag per le istanze in `LaunchSpecifications`.
+ Per `ResourceType`, specificare `instance`. Indicando un altro valore, la richiesta per il parco istanze fallisce.
+ Per `Tags`, specificare la coppia chiave-valore. È possibile specificare più coppie chiave-valore.

  In alternativa, è possibile specificare i tag per l’istanza nel [modello di avvio](create-launch-template.md) al quale si fa riferimento nella richiesta di parco istanze spot.

**Tag associati ai volumi:**
+ Specificare i tag per i volumi nel [modello di avvio](create-launch-template.md) al quale si fa riferimento nella richiesta di parco istanze spot. Il tagging del volume in `LaunchSpecifications` non è supportato.

Nel seguente esempio, la richiesta di Parco istanze spot è taggata con due tag: Key=Environment e Value=Production, e Key=Cost-Center e Value=123. Le istanze avviate dal parco istanze sono taggate con un tag (che è lo stesso di uno dei tag per la richiesta di parco istanze spot): Key=Cost-Center e Value=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1,
        "TagSpecifications": [
            {
                "ResourceType": "spot-fleet-request",
                "Tags": [
                    {
                        "Key": "Environment",
                        "Value":"Production"
                    },
                    {
                        "Key": "Cost-Center",
                        "Value":"123"
                    }
                ]
            }
        ]
    }
}
```

**Per etichettare le istanze lanciate da una flotta Spot utilizzando il AWS CLI**  
Per applicare tag alle istanze quando vengono avviate dal parco istanze, è possibile specificare i tag nel [modello di avvio](create-launch-template.md) a cui si fa riferimento nella richiesta del parco istanze spot oppure specificare i tag nella configurazione della richiesta del parco istanze spot come segue:
+ Specificare i tag per le istanze in `LaunchSpecifications`.
+ Per `ResourceType`, specificare `instance`. Indicando un altro valore, la richiesta per il parco istanze fallisce.
+ Per `Tags`, specificare la coppia chiave-valore. È possibile specificare più coppie chiave-valore.

Nell’esempio seguente, le istanze avviate dal parco istanze sono taggate con un tag: Key=Cost-Center e Value=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1
    }
}
```

**Per etichettare i volumi allegati alle istanze On-Demand lanciate da una flotta Spot utilizzando il AWS CLI**  
Per applicare tag ai volumi quando vengono avviati dal parco istanze, specificare i tag nel [modello di avvio](create-launch-template.md) a cui si fa riferimento nella richiesta del parco istanze spot.

**Nota**  
I tag associati ai volumi sono supportati solo per i volumi collegati a Istanze on demand. Non è possibile applicare tag ai volumi collegati a Istanze spot.  
Il tagging del volume in `LaunchSpecifications` non è supportato.

## Assegnazione di tag a un parco istanze spot esistente
<a name="tag-existing-spot-fleet"></a>

**Per assegnare tag a una richiesta di parco istanze spot esistente utilizzando la console**

Dopo aver creato una richiesta di parco istanze spot, è possibile aggiungere tag alla richiesta del parco istanze utilizzando la console.

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegliere la scheda **Tags** e scegliere **Create Tag (Crea tag)**.

**Per etichettare una richiesta Spot Fleet esistente utilizzando il AWS CLI**  
Utilizzare il seguente comando [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) per aggiungere un tag alle risorse esistenti. Nell’esempio seguente, la richiesta di parco istanze spot esistente è taggata con Key=purpose e Value=test.

```
aws ec2 create-tags \
    --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \
    --tags Key=purpose,Value=test
```

## Visualizzare i tag della richiesta di parco istanze spot
<a name="view-spot-fleet-tags"></a>

**Per visualizzare i tag della richiesta di parco istanze spot utilizzando la console**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Selezionare la richiesta di parco istanze spot e scegliere la scheda **Tags**.

**Per descrivere i tag della richiesta del parco istanze spot**  
Utilizzare il comando [describe-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html) per visualizzare i tag per la risorsa specificata. Nell’esempio seguente vengono descritti i tag per la richiesta di parco istanze spot specificata.

```
aws ec2 describe-tags \
    --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
```

```
{
    "Tags": [
        {
            "Key": "Environment",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Production"
        },
        {
            "Key": "Another key",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Another value"
        }
    ]
}
```

Puoi visualizzare i tag di una richiesta di parco istanze spot anche descrivendo la richiesta di parco istanze spot.

Utilizza il [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html)comando per visualizzare la configurazione della richiesta Spot Fleet specificata, che include tutti i tag specificati per la richiesta della flotta.

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
```

```
{
    "SpotFleetRequestConfigs": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2020-02-13T02:49:19.709Z",
            "SpotFleetRequestConfig": {
                "AllocationStrategy": "capacityOptimized",
                "OnDemandAllocationStrategy": "lowestPrice",
                "ExcessCapacityTerminationPolicy": "Default",
                "FulfilledCapacity": 2.0,
                "OnDemandFulfilledCapacity": 0.0,
                "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
                "LaunchSpecifications": [
                    {
                        "ImageId": "ami-0123456789EXAMPLE",
                        "InstanceType": "c4.large"
                    }
                ],
                "TargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "Type": "maintain",
                "ReplaceUnhealthyInstances": false,
                "InstanceInterruptionBehavior": "terminate"
            },
            "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "SpotFleetRequestState": "active",
            "Tags": [
                {
                    "Key": "Environment",
                    "Value": "Production"
                },
                {
                    "Key": "Another key",
                    "Value": "Another value"
                }
            ]
        }
    ]
}
```

# Descrivi una richiesta del parco istanze spot, le relative istanze e la cronologia degli eventi
<a name="manage-spot-fleet"></a>

Puoi descrivere la configurazione del tuo parco istanze spot, le istanze nel tuo parco istanze spot e la cronologia degli eventi del tuo parco istanze spot.

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

**Per descrivere il parco istanze spot**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot. L’ID inizia con **sfr-**. Per vedere i dettagli di configurazione, scegliere **Description (Descrizione)**.

1. Per elencare le istanze spot per il parco istanze spot, scegliere **Instances (Istanze)**.

1. Per visualizzare la cronologia per il parco istanze spot, scegliere **History (Cronologia)**.

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

**Per descrivere le richieste del parco istanze spot**  
Utilizza il comando [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html).

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**Per descrivere le istanze in esecuzione per il parco istanze spot specificato**  
Utilizza il comando [describe-spot-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-instances.html).

```
aws ec2 describe-spot-fleet-instances \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**Per descrivere la cronologia degli eventi per il parco istanze spot specificato**  
Utilizzate il comando [describe-spot-fleet-request-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-request-history.html).

```
aws ec2 describe-spot-fleet-request-history \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2024-05-18T00:00:00Z
```

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

**Per descrivere le richieste del parco istanze spot**  
Utilizza il cmdlet [Get-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequest.html).

```
Get-EC2SpotFleetRequest
```

**Per descrivere le istanze in esecuzione per il parco istanze spot specificato**  
Utilizza il cmdlet [Get-EC2SpotFleetInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetInstance.html).

```
Get-EC2SpotFleetInstance `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
```

**Per descrivere la cronologia degli eventi per il parco istanze spot specificato**  
Utilizza il cmdlet [Get-EC2SpotFleetRequestHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequestHistory.html).

```
Get-EC2SpotFleetRequestHistory `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -UtcStartTime 2024-05-18T00:00:00Z
```

------

# Modificare una richiesta di parco istanze spot
<a name="modify-spot-fleet"></a>

È possibile modificare una richiesta di parco istanze spot attiva per completare le attività seguenti:
+ Aumenta la capacità target totale e la porzione on demand
+ Diminuisci la capacità target e la porzione on demand

Quando aumenti la capacità target totale, il parco istanze spot avvia le istanze spot aggiuntive in base alla [strategia di allocazione](ec2-fleet-allocation-strategy.md) per la relativa richiesta del parco istanze spot. Quando si incrementa la porzione on demand, il parco istanze spot avvia istanze on demand aggiuntive.

Quando si diminuisce la capacità target totale, il parco istanze spot annulla qualsiasi richiesta aperta che supera la nuova capacità target. È possibile richiedere che il parco istanze spot termini le istanze spot finché la dimensione del parco istanze non raggiunge la nuova capacità obiettivo. Se la strategia di allocazione è `diversified`, la serie di istanze spot termina le istanze tra i pool. In alternativa, è possibile richiedere che il parco istanze spot mantenga il parco istanze alla sua dimensione attuale, ma che non sostituisca le istanze spot che vengono interrotte o tutte le istanze che vengono terminate manualmente.

**Considerazioni**
+ Non è possibile modificare una richiesta di parco istanze spot una tantum. È possibile modificare una richiesta di parco istanze spot solo se è stata selezionata **Maintain target capacity (Mantieni capacità obiettivo)** quando la richiesta è stata creata.
+ Quando un parco istanze spot termina un’istanza spot a seguito della diminuzione della capacità obiettivo, l’istanza riceve un avviso di interruzione dell’istanza spot.

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

**Per modificare una richiesta di parco istanze spot**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegliere **Actions (Operazioni)**, quindi **Modify target capacity (Modifica capacità target)**.

1. In **Modify target capacity (Modifica capacità target)**, effettuare le operazioni seguenti:

   1. Immettere la nuova capacità target e la porzione on demand.

   1. (Facoltativo) Se si diminuisce la capacità target ma si desidera mantenere il parco istanze alla dimensione attuale, deselezionare **Terminate instances (Termina istanze)**.

   1. Seleziona **Submit** (Invia).

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

**Per modificare una richiesta di parco istanze spot**  
Utilizza il [modify-spot-fleet-request](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-spot-fleet-request.html)comando per aggiornare la capacità target della richiesta Spot Fleet specificata.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 20
```

È possibile modificare il comando precedente come segue per diminuire la capacità obiettivo del parco istanze spot specificata senza di conseguenza terminare le istanze spot.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 10 \
    --excess-capacity-termination-policy NoTermination
```

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

**Per modificare una richiesta di parco istanze spot**  
Utilizzare il [Edit-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SpotFleetRequest.html)cmdlet per aggiornare la capacità target della richiesta Spot Fleet specificata.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20
```

È possibile modificare il comando precedente come segue per diminuire la capacità obiettivo del parco istanze spot specificata senza di conseguenza terminare le istanze spot.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# Annullare (eliminare) una richiesta di parco istanze spot
<a name="cancel-spot-fleet"></a>

Se non hai più bisogno di un parco istanze spot, puoi annullare la richiesta del parco istanze spot, che elimina la richiesta. Dopo aver annullato la richiesta di un parco istanze, anche tutte le richieste di istanze spot associate al parco istanze vengono eliminate, in modo che nessuna istanza spot nuova venga avviata per tale parco.

Quando si annulla una richiesta di una serie di istanze spot, è necessario specificare se si desidera terminare tutte le relative istanze. Ciò include sia le istanze on demand che le istanze spot.

**avvertimento**  
**La terminazione di un’istanza è permanente e irreversibile.**  
Dopo aver terminato un’istanza, non puoi più connetterti a essa e non puoi ripristinarla. Inoltre, tutti i volumi Amazon EBS collegati e configurati per essere eliminati in caso di terminazione vengono eliminati in modo definitivo e non possono essere recuperati. Tutti i dati archiviati nei volumi di archivio dell’istanza vengono persi in modo definitivo. Per ulteriori informazioni, consulta [Come funziona la terminazione delle istanze](how-ec2-instance-termination-works.md).  
Prima di terminare un’istanza, assicurati di aver eseguito il backup di tutti i dati che devi mantenere dopo la terminazione sull’archivio persistente.

Se specifichi che le istanze devono essere terminate quando annulli la richiesta del parco istanze, quest’ultima acquisisce lo stato `cancelled_terminating`. Altrimenti, esso acquisisce lo stato `cancelled_running` e l’esecuzione delle istanze continua finché esse non vengono interrotte o terminate manualmente.

**Restrizioni**
+ È possibile annullare fino a 100 parchi istanze in un’unica richiesta. Se si supera il numero specificato, non viene annullato alcun parco istanze.

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

**Per annullare (eliminare) una richiesta di parco istanze spot**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli **Operazioni** e **Annulla richiesta**.

1. Nella finestra di dialogo **Annulla richiesta di istanze spot**, esegui una delle operazioni indicate di seguito:

   1. Per terminare le istanze associate contemporaneamente all’annullamento della richiesta della serie di istanze spot, lascia selezionata la casella di spunta **Termina istanze**. Per annullare la richiesta di parco istanze spot senza terminare le istanze associate, deseleziona la casella di spunta **Termina istanze**.

   1. Scegli **Conferma**.

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

**Per annullare (eliminare) una richiesta di parco istanze spot e terminare le relative istanze**  
Utilizza il comando [cancel-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-fleet-requests.html) con l’opzione `--terminate-instances`.

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Di seguito è riportato un output di esempio.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_terminating",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

**Per annullare (eliminare) una richiesta di parco istanze spot senza terminare le relative istanze**  
Modifica l’esempio precedente utilizzando invece l’opzione `--no-terminate-instances`.

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Di seguito è riportato un output di esempio.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_running",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

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

**Per annullare (eliminare) una richiesta di parco istanze spot e terminare le relative istanze**  
Utilizzare il [Stop-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotFleetRequest.html)cmdlet con il parametro. `-TerminateInstance`

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**Per annullare (eliminare) una richiesta di parco istanze spot senza terminare le relative istanze**  
Modifica l’esempio precedente cambiando il valore del parametro `-TerminateInstance`.

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

# Informazioni sulla scalabilità automatica per il parco istanze spot
<a name="spot-fleet-automatic-scaling"></a>

La *scalabilità automatica* consente al parco istanze spot di aumentare o diminuire la capacità target on demand. Con la scalabilità automatica, un parco istanze spot può avviare le istanze (aumentare orizzontalmente) o terminare le istanze (ridurre orizzontalmente) entro un intervallo specificato, in risposta a una o più policy di scalabilità.

La scalabilità automatica per Spot Fleet è resa possibile da una combinazione delle API Amazon EC2, CloudWatch Amazon e Application Auto Scaling. Le richieste Spot Fleet vengono create con Amazon EC2, gli allarmi vengono creati e le politiche di scalabilità vengono create con CloudWatch Application Auto Scaling.

**Tipi di dimensionamento automatico**

Il parco istanze spot supporta i seguenti tipi di scalabilità automatica:
+ [Dimensionamento di monitoraggio degli obiettivi](spot-fleet-target-tracking.md) – Aumenta o riduce la capacità attuale del parco istanze definendo come target un valore per un parametro specifico. Questa operazione può essere paragonata al modo in cui il termostato regola la temperatura di una casa: si seleziona la temperatura desiderata e il termostato fa il resto.
+ [Step scaling (Dimensionamento per fasi)](spot-fleet-step-scaling.md): aumenta o diminuisce la capacità attuale del parco istanze in base a una serie di regolazioni del dimensionamento, chiamate regolazioni per fasi, che variano in base alla dimensione dell’utilizzo fuori limite segnalato dall’allarme.
+ [Scheduled scaling (Dimensionamento pianificato)](spot-fleet-scheduled-scaling.md): aumenta o riduce la capacità corrente del parco istanze in base alla data e all’ora.

## Considerazioni
<a name="considerations-for-spot-fleet-automatic-scaling"></a>

Quando usi la scalabilità automatica per il parco istanze spot, tieni in considerazione quanto segue:
+ **Ponderazione delle istanze** – Se si utilizza la [ponderazione delle istanze](ec2-fleet-instance-weighting.md), tenere presente che il parco istanze spot può superare la capacità target in base alle necessità. La capacità soddisfatta può essere un numero a virgola mobile, ma la capacità obiettivo deve essere un numero intero, pertanto il parco istanze spot esegue l’arrotondamento fino al numero intero successivo. È necessario tenere conto di questi comportamenti quando si esamina l’esito di una policy di dimensionamento quando viene attivato un allarme. Per esempio, supponiamo che la capacità di destinazione sia 30, la capacità soddisfatta 30,1 e che la policy di dimensionamento sottragga 1. Quando si attiva l’allarme, il processo di scalabilità automatica sottrae 1 da 30,1 ottenendo 29,1, che viene arrotondato a 30, quindi non viene intrapresa alcuna operazione di dimensionamento. Come altro esempio, supponiamo di aver selezionato i pesi di istanza 2, 4 e 8 e una capacità obiettivo di 10 ma non erano disponibili istanze di peso 2, così il parco istanze spot ha fornito in provisioning istanze di peso 4 e 8 per una capacità soddisfatta di 12. Se la policy di dimensionamento riduce la capacità di destinazione del 20% e si attiva un allarme, il processo di scalabilità automatica sottrae 12 x 0,2 da 12 ottenendo 9,6, che viene arrotondato a 10, quindi non viene intrapresa alcuna operazione di dimensionamento.
+ **Tempo di raffreddamento** – Le policy di scalabilità create per il parco istanze spot supportano un tempo di raffreddamento. Si tratta del numero di secondi dopo il completamento di un’attività di dimensionamento in cui le precedenti attività di dimensionamento correlate all’attivazione possono influenzare gli eventi di dimensionamento futuri. Per le policy di dimensionamento, mentre è attivo il periodo di attesa, la capacità aggiunta all’evento di dimensionamento precedente che ha innescato l’attesa viene calcolata come parte della capacità desiderata per il dimensionamento successivo. L’intenzione è di aumentare di continuo (ma non in eccesso). Per le policy di riduzione, il periodo di attesa viene utilizzato per bloccare le richieste di riduzione ulteriori finché non è scaduto. L’intenzione è quella di ridurre in modo conservativo per proteggere la disponibilità dell’applicazione. Tuttavia, se un altro allarme attiva una policy di dimensionamento durante il periodo di attesa dopo un ridimensionamento, la scalabilità automatica aumenta immediatamente il target scalabile.
+ **Usare il monitoraggio dettagliato** – Ti consigliamo di dimensionare in base a parametri di istanze con intervalli di 1 minuto, poiché questo garantisce una risposta più rapida alle variazioni di utilizzo. Il dimensionamento sui parametri a intervalli di 5 minuti potrebbe rallentare il tempo di risposta e causare il dimensionamento su dati di parametro obsoleti. Per inviare i dati sui parametri relativi alle istanze CloudWatch a intervalli di 1 minuto, puoi abilitare nello specifico il monitoraggio dettagliato. Per ulteriori informazioni, consultare [Gestione del monitoraggio dettagliato per le istanze EC2](manage-detailed-monitoring.md) e [Crea una richiesta di parco istanze spot utilizzando parametri definiti](create-spot-fleet.md#create-spot-fleet-advanced).
+ **AWS CLI**[— Se utilizzi il AWS CLI per configurare la scalabilità per Spot Fleet, utilizzerai i comandi application-autoscaling.](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling)

# Autorizzazioni IAM richieste per la scalabilità automatica del parco istanze spot
<a name="spot-fleet-auto-scaling-IAM"></a>

La scalabilità automatica per Spot Fleet è resa possibile da una combinazione delle API Amazon EC2, CloudWatch Amazon e Application Auto Scaling. Le richieste Spot Fleet vengono create con Amazon EC2, gli allarmi vengono creati e le politiche di scalabilità vengono create con CloudWatch Application Auto Scaling. In aggiunta alle [autorizzazioni IAM richieste per usare il parco istanze spot](spot-fleet-prerequisites.md#spot-fleet-iam-users) e Amazon EC2, l’utente che accede alle impostazioni di scalabilità del parco istanze deve avere le autorizzazioni appropriate per i servizi che supportano la scalabilità automatica.

Per usare la scalabilità automatica per il parco istanze spot, gli utenti devono anche avere le autorizzazioni per utilizzare le operazioni mostrate nella seguente policy di esempio. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "ec2:DescribeSpotFleetRequests",
                "ec2:ModifySpotFleetRequest",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "iam:CreateServiceLinkedRole",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Get*",
                "sns:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Puoi anche creare le tue policy IAM che consentono autorizzazioni più granulari per chiamate alle API Application Auto Scaling. Per ulteriori informazioni, consulta [Gestione di identità e accesso per Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/auth-and-access-control.html) nella *Guida per l’utente di Application Auto Scaling*.

Il servizio Application Auto Scaling necessita inoltre dell'autorizzazione per descrivere la tua flotta Spot e gli CloudWatch allarmi e delle autorizzazioni per modificare la capacità target della tua flotta Spot per tuo conto. Se abiliti il dimensionamento automatico per la serie di istanze spot, viene creato un ruolo collegato ai servizi denominato `AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest`. Questo ruolo concede a Application Auto Scaling l’autorizzazione per descrivere gli allarmi per le policy, per monitorare la capacità attuale del parco istanze e modificare la capacità del parco istanze. Il ruolo originale della serie di istanze spot gestito per Application Auto Scaling era `aws-ec2-spot-fleet-autoscale-role`, ma non è più richiesto. Il ruolo collegato al servizio è il ruolo predefinito per Application Auto Scaling. Per ulteriori informazioni, consulta [Ruoli collegati ai servizi per Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) nella *Guida per l’utente di Application Auto Scaling*.

# Dimensionamento con monitoraggio degli obiettivi: scala il parco istanze spot definendo come target un valore per una metrica specifica
<a name="spot-fleet-target-tracking"></a>

Con il dimensionamento con monitoraggio degli obiettivi, crei una policy di dimensionamento con monitoraggio degli obiettivi selezionando un parametro e impostando un valore target. Spot Fleet crea e gestisce quindi gli CloudWatch allarmi che attivano la politica di scalabilità e calcola l'aggiustamento della scalabilità in base alla metrica e al valore target scelti. La policy di dimensionamento regola la capacità aggiungendo o rimuovendo istanze in base alle necessità per mantenere il parametro al valore target specificato o vicino a esso. Una policy di monitoraggio degli obiettivi non solo mantiene il parametro vicino al valore target, ma si adatta anche alle fluttuazioni del parametro dovute a un modello di carico fluttuante e riduce al minimo le fluttuazioni rapide della capacità.

È possibile creare più policy di dimensionamento con monitoraggio degli obiettivi per un parco istanze spot, purché ciascuna policy utilizzi parametri diversi. Il parco istanze si dimensiona in base alla policy che specifica la capacità di parco istanze più ampia. Ciò ti consente di coprire più scenari per garantire una capacità sufficiente per i carichi di lavoro delle applicazioni.

Per garantire la disponibilità delle applicazioni, il parco istanze aumenta in proporzione al parametro il più veloce possibile, ma si riduce in modo più graduale.

Quando un parco istanze spot termina un’istanza spot a seguito della diminuzione della capacità obiettivo, l’istanza riceve un avviso di interruzione dell’istanza spot.

**Nota**  
Non modificare o eliminare gli CloudWatch allarmi gestiti da Spot Fleet per una politica di scalabilità di tracciamento degli obiettivi. Il parco istanze spot elimina gli allarmi automaticamente quando elimini la policy di dimensionamento con monitoraggio degli obiettivi.

**Prerequisiti**
+ La richiesta del parco istanze spot deve avere un tipo di richiesta di `maintain`. La scalabilità automatica non è supportata per le richieste del tipo `request`.
+ Configurare [Autorizzazioni IAM richieste per la scalabilità automatica del parco istanze spot](spot-fleet-auto-scaling-IAM.md).
+ Rivedere le [Considerazioni](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Per configurare una policy di monitoraggio dei target**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento automatico** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento automatico**.

1. Se la scalabilità automatica non è configurata, selezionare **Configure (Configurare)**.

1. Utilizzare **Scale capacity between (Dimensionare capacità tra)** per impostare la capacità minima e massima per il parco istanze. La scalabilità automatica non dimensiona il parco istanze al di sotto della capacità minima o al di sopra della capacità massima.

1. In **Policy name (Nome policy)**, immettere un nome per la policy.

1. Selezionare un **Target metric (Parametro di destinazione)**.

1. Immettere un **Target value (Valore di destinazione)** per il parametro.

1. Per il **tempo di raffreddamento**, specifica un nuovo valore (in secondi) o mantieni il valore predefinito.

1. (Facoltativo) Per omettere la creazione di una policy di ridimensionamento in base alla configurazione attuale, seleziona **Disabilita dimensionamento**. È possibile creare una policy di dimensionamento utilizzando una configurazione diversa.

1. Scegli **Save** (Salva).

**Per configurare una politica di tracciamento degli obiettivi utilizzando il AWS CLI**

1. Registra la richiesta Spot Fleet come target scalabile utilizzando il [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)comando.

1. Crea una politica di scalabilità utilizzando il [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando.

# Dimensionamento a fasi: scala il parco istanze spot utilizzando le policy di dimensionamento a fasi
<a name="spot-fleet-step-scaling"></a>

Con le politiche di scalabilità graduale, si specificano gli CloudWatch allarmi per attivare il processo di ridimensionamento. Per esempio, se si vuole aumentare quando l’utilizzo della CPU raggiunge un determinato livello, creare un allarme utilizzando il parametro `CPUUtilization` fornito da Amazon EC2.

Quando si crea una policy di dimensionamento a fasi, bisogna specificare uno dei seguenti tipi di adeguamento dimensionamento:
+ **Add (Aggiungi)** – Aumenta la capacità obiettivo del parco istanze di un numero specifico di unità di capacità o di una percentuale specifica della capacità attuale.
+ **Remove (Rimuovi)** – Diminuisce la capacità obiettivo del parco istanze di un numero specifico di unità di capacità o di una percentuale specifica della capacità attuale.
+ **Set to (Imposta su)** – Imposta la capacità obiettivo del parco istanze sul numero di unità di capacità specificato.

Quando viene innescato un allarme, il processo di scalabilità automatica calcola la nuova capacità target utilizzando la capacità soddisfatta e la policy di dimensionamento, quindi aggiorna la capacità target di conseguenza. Per esempio, supponiamo che la capacità di destinazione e quella soddisfatta siano 10 e che la policy di dimensionamento aggiunga 1. Quando si attiva l’allarme, il processo di scalabilità automatica aggiunge 1 a 10 per ottenere 11, quindi il parco istanze spot avvia 1 istanza.

Quando un parco istanze spot termina un’istanza spot a seguito della diminuzione della capacità obiettivo, l’istanza riceve un avviso di interruzione dell’istanza spot.

**Prerequisiti**
+ La richiesta del parco istanze spot deve avere un tipo di richiesta di `maintain`. La scalabilità automatica non è supportata per le richieste del tipo `request`.
+ Configurare [Autorizzazioni IAM richieste per la scalabilità automatica del parco istanze spot](spot-fleet-auto-scaling-IAM.md).
+ Considerate quali CloudWatch metriche sono importanti per la vostra applicazione. Puoi creare CloudWatch allarmi in base a metriche fornite da AWS o a metriche personalizzate.
+ Per le AWS metriche che utilizzerai nelle tue politiche di scalabilità, abilita la raccolta delle CloudWatch metriche se il servizio che fornisce le metriche non la abilita per impostazione predefinita.
+ Rivedere le [Considerazioni](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Per creare un allarme CloudWatch**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel riquadro di navigazione, espandi **Allarmi**, e scegli **Tutti gli allarmi**.

1. Selezionare **Create Alarm (Crea allarme)**.

1. Nella pagina **Specify metric and conditions (Specifica parametro e condizioni)**, scegliere **Select metric (Seleziona parametro)**. 

1. **Scegli **EC2 Spot**, quindi **Fleet Request Metrics**, quindi seleziona una metrica (ad esempio **TargetCapacity**), quindi scegli Seleziona metrica.**

   Viene visualizzata la pagina **Specify metric and conditions (Specifica parametro e condizioni)** contenente un grafico e altre informazioni sul parametro selezionato. 

1. In **Periodo**, scegliere il periodo di valutazione per l’allarme, ad esempio **1 minuto**. Durante la valutazione dell’allarme, ogni periodo è aggregato in un punto dati. 
**Nota**  
Un periodo più breve crea un allarme più sensibile. 

1. In **Conditions (Condizioni)**, definire l’allarme specificando la condizione di soglia. Ad esempio, è possibile definire una soglia per attivare l’allarme ogni volta che il valore del parametro è maggiore o uguale all’80%.

1. In **Additional configuration (Configurazione aggiuntiva)**, per **Datapoints to alarm (Punto di dati per allarme)**, specificare il numero di punti di dati (periodi di valutazione) che devono trovarsi nello stato ALLARME per attivare l’allarme, ad esempio, 1 periodo di valutazione su 2 di 3 periodi di valutazione. Questo consente di creare un allarme che passa allo stato ALARM se si verifica un superamento durante tali periodi consecutivi. Per ulteriori informazioni, consulta [Evaluating an alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) nella *Amazon CloudWatch User Guide*.

1. Per **Missing data treatment (Trattamento dati mancanti)**, selezionare una delle opzioni (o lasciare il valore di default di **Treat missing data as missing (Tratta i dati mancanti come mancanti)**). Per ulteriori informazioni, consulta [Configurazione del modo in cui gli CloudWatch allarmi trattano i dati mancanti](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) nella *Amazon CloudWatch User Guide*.

1. Scegli **Next (Successivo)**.

1. (Facoltativo) Per ricevere la notifica di un evento di dimensionamento, per **Notification (Notifica)**, è possibile scegliere o creare l’argomento Amazon SNS da utilizzare per ricevere notifiche. Altrimenti, è possibile eliminare ora le notifiche e aggiungerne una in un secondo momento ove necessario.

1. Scegli **Next (Successivo)**.

1. In **Aggiungere nome e descrizione**, immettere un nome e una descrizione per l’allarme e scegliere **Successivo)**.

1. Scegli **Crea allarme**.

**Per configurare una policy di dimensionamento per fasi per il parco istanze spot**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento automatico** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento automatico**.

1. Se la scalabilità automatica non è configurata, selezionare **Configure (Configurare)**.

1. Utilizzare **Scale capacity between (Dimensionare capacità tra)** per impostare la capacità minima e massima per il parco istanze. Le policy di dimensionamento non dimensionano il parco istanze al di sotto della capacità minima o al di sopra della capacità massima.

1. In **Policy di dimensionamento**, per **Tipo di policy**, scegli **Policy di dimensionamento a fasi**.

1. Inizialmente, le **Policy di dimensionamento** contengono policy di dimensionamento a fasi denominate **ScaleUp** e **ScaleDown**. È possibile completare tali policy o selezionare **Remove policy (Rimuovi policy)** per eliminarle. È possibile anche scegliere **Add policy (Aggiungi policy)**.

1. Per definire una policy, effettuare le operazioni seguenti:

   1. In **Policy name (Nome policy)**, immettere un nome per la policy.

   1. Per **Policy trigger**, seleziona un allarme esistente o scegli **Crea allarme** per aprire la CloudWatch console Amazon e creare un allarme.

   1. Per **Modifica capacità**, definisci la quantità in base alla quale dimensionare e il limite inferiore e superiore della regolazione del livello. È possibile aggiungere o rimuovere un numero specifico di istanze o una percentuale della dimensione del parco istanze esistente, oppure impostare il parco istanze su una dimensione specifica. 

      Ad esempio, per creare una policy di dimensionamento a fasi che aumenti la capacità del parco istanze del 30 percento, scegli **Aggiungi**, digita **30** nel campo successivo e quindi scegli **percento**. Per impostazione predefinita, il limite inferiore per una policy di aggiunta è la soglia di allarme e il limite superiore è positivo (\$1) infinito. Per impostazione predefinita, il limite superiore per una policy di rimozione è la soglia di allarme e il limite inferiore è negativo (-) infinito.

   1. (Facoltativo) Per aggiungere un’altra fase, seleziona **Aggiungi fase**.

   1. Per il **tempo di raffreddamento**, specifica un nuovo valore (in secondi) o mantieni il valore predefinito.

1. Scegli **Save** (Salva).

**Per configurare le politiche di scalabilità graduale per la tua flotta Spot, utilizza il AWS CLI**

1. Registra la richiesta Spot Fleet come target scalabile utilizzando il [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)comando.

1. Crea una politica di scalabilità utilizzando il [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando.

1. Crea un allarme che attiva la politica di ridimensionamento utilizzando il comando. [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)

# Dimensionamento pianificato: scala il parco istanze spot in base a una pianificazione
<a name="spot-fleet-scheduled-scaling"></a>

Il dimensionamento del parco istanze su una pianificazione consente di dimensionare le applicazioni in relazione alle variazioni di domanda prevedibili. Creando *operazioni pianificate*, puoi ordinare al parco istanze spot di eseguire attività di dimensionamento a orari specifici. Per creare un’operazione pianificata, devi specificare un parco istanze spot esistente, l’orario in cui l’attività di dimensionamento deve verificarsi e la capacità minima e massima desiderata. Le operazioni pianificate possono essere configurate in modo da scalare una sola volta o in base a una pianificazione ricorrente. Se hai bisogno di apportare cambiamenti, puoi modificare o eliminare operazioni pianificate.

**Prerequisiti**
+ Le azioni pianificate possono essere create solo per i parchi istanze spot. Non è possibile creare operazioni pianificate quando crei un parco istanze spot.
+ La richiesta del parco istanze spot deve avere un tipo di richiesta di `maintain`. La scalabilità automatica non è supportata per le richieste del tipo `request`.
+ Configurare [Autorizzazioni IAM richieste per la scalabilità automatica del parco istanze spot](spot-fleet-auto-scaling-IAM.md).
+ Rivedere le [Considerazioni](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Per creare un’operazione pianificata una tantum**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento pianificato** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze Spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento pianificato**.

1. Scegli **Crea operazione pianificata**.

1. In **Name (Nome)**, specificare un nome per l’operazione pianificata.

1. Immettere un valore per **Minimum capacity (Capacità minima)**, **Maximum capacity (Capacità massima)** o per entrambi i campi.

1. Per **Recurrence (Ricorrenza)**, scegliere **Once (Una tantum)**.

1. (Facoltativo) Scegliere una data e un’ora per **Start time (Ora di inizio)**, **End time (Ora di fine)** o per entrambi i campi.

1. Scegli **Create** (Crea).

**Per creare un’operazione pianificata ricorrente**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento pianificato** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze Spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento pianificato**.

1. In **Name (Nome)**, specificare un nome per l’operazione pianificata.

1. Immettere un valore per **Minimum capacity (Capacità minima)**, **Maximum capacity (Capacità massima)** o per entrambi i campi.

1. Per **Recurrence (Ricorrenza)**, scegliere uno dei piani predefiniti (ad esempio, **Every day (Ogni giorno)**), oppure scegliere **Custom (Personalizzato)** e immettere un’espressione cron. Per ulteriori informazioni sulle espressioni cron supportate dalla scalabilità pianificata, consulta [le espressioni Cron nella](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html#eb-cron-expressions) *Amazon EventBridge * User Guide.

1. (Facoltativo) Scegliere una data e un’ora per **Start time (Ora di inizio)**, **End time (Ora di fine)** o per entrambi i campi.

1. Seleziona **Submit** (Invia).

**Per modificare un’operazione pianificata**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento pianificato** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze Spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento pianificato**.

1. Selezionare l’operazione pianificata e scegliere **Actions (Operazioni)**, **Edit (Modifica)**.

1. Apportare le modifiche necessarie e scegliere **Invia**.

**Per eliminare un’operazione pianificata**

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

1. Nel riquadro di navigazione, selezionare **Spot Requests (Richieste Spot)**.

1. Seleziona la richiesta di parco istanze spot.

1. Scegli la scheda **Dimensionamento pianificato** nella parte inferiore dello schermo. Se hai selezionato il link per il tuo parco istanze Spot, non è presente alcuna scheda; invece, scorri verso il basso fino alla sezione **Dimensionamento pianificato**.

1. Selezionare l’operazione pianificata e scegliere **Actions (Operazioni)**, **Elimina**.

1. Quando viene richiesta la conferma, seleziona **Elimina**.

**Per gestire il ridimensionamento pianificato utilizzando AWS CLI**

Utilizza il seguente comando:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html)
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html)
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scheduled-action.html)

# Monitoraggio del parco istanze EC2 o del parco istanze spot
<a name="fleet-monitor"></a>

Un monitoraggio efficace del parco istanze EC2 o del parco istanze Spot è essenziale per mantenere prestazioni ottimali e garantire l’affidabilità. Esistono vari strumenti per aiutarti a raggiungere questo obiettivo, tra cui Amazon CloudWatch e Amazon EventBridge, trattati in questo argomento.

Con CloudWatch, puoi raccogliere e tenere traccia delle metriche, impostare allarmi e reagire automaticamente ai cambiamenti dello stato della tua flotta.

Con EventBridge, puoi monitorare e rispondere in modo programmatico agli eventi emessi dalla tua flotta. Definendo le regole in EventBridge, puoi automatizzare le risposte a eventi specifici della flotta, come la chiusura delle istanze o le modifiche dello stato della flotta, migliorando l'efficienza operativa.

**Topics**
+ [

# Monitora la tua flotta EC2 o Spot Fleet utilizzando CloudWatch
](ec2-fleet-cloudwatch-metrics.md)
+ [

# Monitora e rispondi in modo programmatico agli eventi emessi dalla tua flotta EC2 o dalla tua flotta Spot utilizzando Amazon EventBridge
](monitor-ec2-fleet-using-eventbridge.md)

# Monitora la tua flotta EC2 o Spot Fleet utilizzando CloudWatch
<a name="ec2-fleet-cloudwatch-metrics"></a>

Puoi monitorare la tua flotta EC2 o la tua flotta Spot utilizzando i CloudWatch parametri Amazon descritti in questa sezione.

**Importante**  
Per garantire l’accuratezza, consigliamo di attivare il monitoraggio dettagliato durante l’utilizzo di tali parametri. Per ulteriori informazioni, consulta [Gestione del monitoraggio dettagliato per le istanze EC2](manage-detailed-monitoring.md).

Per ulteriori informazioni sull'utilizzo CloudWatch, consulta. [Monitora le tue istanze utilizzando CloudWatch](using-cloudwatch.md)

## Metriche del parco istanze EC2 e del parco istanze spot
<a name="ec2-fleet-metrics"></a>

Il `AWS/EC2Spot` namespace include le seguenti metriche per il tuo parco veicoli, oltre alle CloudWatch metriche per le istanze Spot del tuo parco istanze. Per ulteriori informazioni, consulta [Parametri dell'istanza](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics).


| Parametro | Description | 
| --- | --- | 
| AvailableInstancePoolsCount |  I pool di capacità spot specificati nella richiesta di parco istanze. Unità: numero  | 
| BidsSubmittedForCapacity |  La capacità per cui Amazon EC2 ha inviato richieste di parco istanze. Unità: numero  | 
| EligibleInstancePoolCount |  I pool di capacità spot specificati nella richiesta di parco istanze in cui Amazon EC2 può evadere le richieste. Amazon EC2 non soddisfa le richieste nei pool quando il prezzo massimo che si desidera pagare per le istanze spot è inferiore al prezzo Spot o quando il prezzo Spot è superiore al prezzo delle istanze on demand. Unità: numero  | 
| FulfilledCapacity |  La capacità soddisfatta da Amazon EC2. Unità: numero  | 
| MaxPercentCapacityAllocation |  Il valore massimo di `PercentCapacityAllocation` in tutti i pool del parco istanze specificati nella richiesta di parco istanze. Unità: percentuale  | 
| PendingCapacity |  La differenza tra `TargetCapacity` e `FulfilledCapacity`. Unità: numero  | 
| PercentCapacityAllocation |  La capacità allocata per il pool di capacità spot per le dimensioni specificate. Per ottenere il valore massimo registrato in tutti i pool di capacità spot, utilizza `MaxPercentCapacityAllocation`. Unità: percentuale  | 
| TargetCapacity |  La capacità target di una richiesta di parco istanze. Unità: numero  | 
| TerminatingCapacity |  La capacità che si sta terminando perché la capacità di cui si è effettuato il provisioning supera quella di destinazione. Unità: numero  | 

Se un’unità di misura per un parametro è `Count`, la statistica più utile è `Average`.

## Dimensioni del parco istanze EC2 e del parco istanze spot
<a name="ec2-fleet-dimensions"></a>

Per filtrare i dati relativi al parco istanze, usa le seguenti dimensioni.


| Dimensioni | Descrizione | 
| --- | --- | 
| AvailabilityZone |  Consente di filtrare i dati per zona di disponibilità.  | 
| FleetRequestId |  Consente di filtrare i dati in base alla richiesta del parco istanze.  | 
| InstanceType |  Consente di filtrare i dati per tipo di istanza.  | 

## Visualizza le CloudWatch metriche per la tua flotta EC2 o la tua flotta Spot
<a name="view-ec2-fleet-metrics"></a>

Puoi visualizzare le CloudWatch metriche per la tua flotta utilizzando la CloudWatch console Amazon. Tali parametri vengono visualizzati come grafici di monitoraggio. Tali grafici mostrano i punti dati se il parco istanze è attivo.

I parametri sono raggruppati in primo luogo in base al namespace e in secondo luogo in base alle diverse combinazioni delle dimensioni all’interno di ciascun namespace. Ad esempio, è possibile visualizzare tutti i parametri del parco istanze o i gruppi di parametri del parco istanze in base all’ID richiesta del parco istanze, al tipo di istanza o alla zona di disponibilità.

**Per visualizzare i parametri del parco istanze**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione, espandi **Parametri**, quindi scegli **Tutti i parametri**.

1. Scegliere il namespace **Spot EC2**.
**Nota**  
Se il namespace **Spot EC2** non viene visualizzato, i motivi possono essere due. O non hai mai usato EC2 Fleet o Spot Fleet nella regione, ma solo i AWS servizi che utilizzi inviano i parametri ad Amazon. CloudWatch Oppure, se hai utilizzato il parco istanze EC2 o il parco istanze spot nella regione, ma non nelle ultime due settimane, il namespace non viene visualizzato.

1. Per filtrare i parametri per dimensione, scegli una delle opzioni seguenti:
   + **Parametri di richiesta di parco istanze** - Raggruppare per richiesta di parco istanze
   + **Per zona di disponibilità** - Raggruppare per richiesta di parco istanze e zona di disponibilità
   + **Per tipo di istanza** - Raggruppare per richiesta di parco istanze e tipo di istanza
   + Per ** Zone/Instance tipo di disponibilità**: raggruppa per richiesta del parco veicoli, zona di disponibilità e tipo di istanza

1. Per visualizzare i dati di un parametro, selezionare la casella di spunta accanto al parametro.

# Monitora e rispondi in modo programmatico agli eventi emessi dalla tua flotta EC2 o dalla tua flotta Spot utilizzando Amazon EventBridge
<a name="monitor-ec2-fleet-using-eventbridge"></a>

Quando lo stato di un parco istanze EC2 o del parco istanze spot viene modificato, viene emessa una notifica. La notifica viene resa disponibile come evento inviato ad Amazon EventBridge (precedentemente noto come Amazon CloudWatch Events). Gli eventi vengono emessi secondo il principio del massimo sforzo.

Puoi usare Amazon EventBridge per creare regole che attivano azioni programmatiche in risposta a un evento. Ad esempio, puoi creare due EventBridge regole: una attivata quando cambia lo stato di una flotta e un'altra attivata quando un'istanza del parco veicoli viene terminata. In questo esempio, se lo stato del parco istanze cambia, puoi configurare la prima regola in modo che richiami un argomento SNS, inviando inviare una notifica via e-mail. Se un’istanza nel parco istanze viene terminata, puoi configurare la seconda regola in modo che richiami una funzione Lambda per avviare una nuova istanza.

**Nota**  
Solo i parchi istanze di tipo `maintain` ed `request` emettono eventi. I parchi istanze del tipo `instant` non emettono eventi perché inviano richieste sincrone una tantum e lo stato del parco istanze è noto immediatamente nella risposta. Per utilizzare Amazon EventBridge per monitorare gli eventi della flotta, il tipo di richiesta deve essere `maintain` o`request`.

Per istruzioni su come descrivere la cronologia degli eventi di un parco istanze, consulta [Descrivi la cronologia degli eventi per il parco istanze EC2](describe-ec2-fleet.md#describe-ec2-fleet-event-history).

**Topics**
+ [

## Crea EventBridge regole Amazon per monitorare gli eventi di EC2 Fleet o Spot Fleet
](#fleet_create-eventbridge-rules)
+ [

## Tipi di eventi Parco istanze EC2
](#ec2-fleet-event-types)
+ [

## Tipi di eventi del parco istanze spot
](#spot-fleet-event-types)

## Crea EventBridge regole Amazon per monitorare gli eventi di EC2 Fleet o Spot Fleet
<a name="fleet_create-eventbridge-rules"></a>

Quando viene emessa una notifica di modifica dello stato per una flotta EC2 o una flotta Spot, viene inviata come evento ad Amazon EventBridge come file JSON. Se EventBridge rileva un pattern di evento che corrisponde a uno schema definito in una regola, EventBridge richiama il target (o i target) specificati nella regola.

È possibile scrivere EventBridge regole per automatizzare le azioni in base ai modelli di eventi corrispondenti. 

I campi seguenti nell’evento costituiscono il modello di evento definito nella regola:

`"source": "aws.ec2fleet"`  
Identifica che l’evento proviene da parco istanze EC2.

`"detail-type": "EC2 Fleet State Change"`  
Identifica il tipo di evento.

`"detail": { "sub-type": "submitted" }`  
Identifica il sottotipo di evento.

Per l’elenco degli eventi del parco istanze EC2 e del parco istanze spot dei dati degli eventi di esempio, consulta [Tipi di eventi Parco istanze EC2](#ec2-fleet-event-types) e [Tipi di eventi del parco istanze spot](#spot-fleet-event-types).

**Topics**
+ [

### Crea una EventBridge regola per inviare una notifica
](#eventbridge-send-notification)
+ [

### Crea una EventBridge regola per attivare una funzione Lambda
](#eventbridge-trigger-lambda)

### Crea una EventBridge regola per inviare una notifica
<a name="eventbridge-send-notification"></a>

L'esempio seguente crea una EventBridge regola per inviare un'e-mail, un messaggio di testo o una notifica push mobile ogni volta che Amazon EC2 emette una notifica di modifica dello stato della flotta EC2. Il segnale in questo esempio viene emesso come evento `EC2 Fleet State Change`, che attiva l’azione definita dalla regola.

**Prerequisito**  
Prima di creare la EventBridge regola, devi creare l'argomento Amazon SNS per l'e-mail, il messaggio di testo o la notifica push per dispositivi mobili.

**Per creare una EventBridge regola per inviare una notifica quando lo stato di una flotta EC2 cambia**

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

1. Scegli **Crea regola**.

1. Per **Define rule detail** (Definisci dettagli della regola), effettua le seguenti operazioni:

   1. Immettere un **Name (Nome)** per la regola e, facoltativamente, una descrizione.

      Una regola non può avere lo stesso nome di un’altra regola nella stessa regione e sullo stesso bus di eventi.

   1. Per **Event bus** (Bus di eventi), scegli **default**. Quando un AWS servizio del tuo account genera un evento, passa sempre al bus eventi predefinito del tuo account.

   1. Per **Tipo di regola**, scegli **Regola con un modello di eventi**.

   1. Scegli **Next (Successivo)**.

1. Per **Build event pattern** (Crea modello di eventi), procedi come segue:

   1. Per **Event source**, scegli **AWS eventi o eventi EventBridge partner**.

   1. Per **Event pattern** (Modello di eventi), ai fini di questo esempio specificherai il seguente modello di eventi in modo che corrisponda all’evento `EC2 Fleet Instance Change`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"]
      }
      ```

      Per aggiungere il modello di eventi, puoi utilizzare un modello scegliendo **Event pattern form** (Formato del modello di eventi) o specificare il tuo modello scegliendo **Custom pattern (JSON editor)** (Modello personalizzato (editor JSON)), come segue:

      1. Per utilizzare un modello per creare il modello di eventi, procedi come segue:

         1. Scegli **Event pattern form** (Formato del modello di eventi).

         1. Per **Event source** (Origine evento), scegli **AWS services** (Servizi ).

         1. In **AWS Service**, scegli **parco istanze EC2**.

         1. Per **Event type** (Tipo di evento), scegli **EC2 Fleet Instance Change** (Modifica dell’istanza del parco istanze EC2).

         1. Per personalizzare il modello, scegli **Edit pattern** (Modifica modello) e apporta le modifiche in modo che corrisponda al modello di eventi di esempio.

      1. (Alternativa) Per specificare un modello di eventi personalizzato, procedi come segue:

         1. Scegli **Custom pattern (JSON editor)** (Modello personalizzato (editor JSON)).

         1. Nella casella **Event pattern** (Modello di eventi), aggiungi il modello di eventi per questo esempio.

   1. Scegli **Next (Successivo)**.

1. Per **Select target(s)** (Seleziona destinazione/i), esegui queste operazioni:

   1. Per **Target types** (Tipi di destinazione), scegli **AWS service** (Servizio ).

   1. Per **Select a target** (Seleziona una destinazione, scegli **SNS topic** (Argomento SNS) per inviare un’e-mail, un messaggio di testo o una notifica push mobile quando si verifica l’evento.

   1. Per **Argomento**, scegliere un argomento esistente. Per fare ciò, è necessario creare un argomento Amazon SNS utilizzando la console di Amazon SNS. Per ulteriori informazioni, consulta [Using Amazon SNS for application-to-person (A2P) nella Amazon Simple](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) *Notification* Service Developer Guide.

   1. (Facoltativo) In **Additional settings** (Impostazioni aggiuntive), facoltativamente puoi configurare impostazioni aggiuntive. Per ulteriori informazioni, consulta [Creazione di EventBridge regole Amazon che reagiscono agli eventi](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (passaggio 16) nella *Amazon EventBridge User Guide*.

   1. Scegli **Next (Successivo)**.

1. (Opzionale) Per **Tags** (Tag), se desideri puoi assegnare uno o più tag alla regola, quindi scegli **Next (Successivo**).

1. Per **Review and create** (Verifica e crea), procedi come segue:

   1. Verifica i dettagli della regola e modificali se necessario.

   1. Scegli **Crea regola**.

Per ulteriori informazioni, consulta [ EventBridge le regole di Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) [e i modelli di EventBridge eventi](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) di *Amazon nella Amazon EventBridge User Guide*

### Crea una EventBridge regola per attivare una funzione Lambda
<a name="eventbridge-trigger-lambda"></a>

L'esempio seguente crea una EventBridge regola per attivare una funzione Lambda ogni volta che Amazon EC2 emette una notifica di modifica dell'istanza EC2 Fleet per l'avvio di un'istanza. Il segnale in questo esempio viene emesso come evento `EC2 Fleet Instance Change`, sottotipo `launched`, che attiva l’azione definita dalla regola.

Prima di creare la EventBridge regola, è necessario creare la funzione Lambda.

**Per creare la funzione Lambda da utilizzare nella regola EventBridge**

1. Apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Selezionare **Create function (Crea funzione)**.

1. Immettere un nome per la funzione, configurare il codice, quindi scegliere **Create function (Crea funzione)**.

   Per ulteriori informazioni, consulta [Create your first Lambda function](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) nella *Guida per gli sviluppatori di AWS Lambda *.

**Per creare una EventBridge regola per attivare una funzione Lambda quando un'istanza in un parco EC2 cambia stato**

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

1. Scegli **Crea regola**.

1. Per **Define rule detail** (Definisci dettagli della regola), effettua le seguenti operazioni:

   1. Immettere un **Name (Nome)** per la regola e, facoltativamente, una descrizione.

      Una regola non può avere lo stesso nome di un’altra regola nella stessa regione e sullo stesso bus di eventi.

   1. Per **Event bus** (Bus di eventi), scegli **default**. Quando un AWS servizio del tuo account genera un evento, passa sempre al bus eventi predefinito del tuo account.

   1. Per **Tipo di regola**, scegli **Regola con un modello di eventi**.

   1. Scegli **Next (Successivo)**.

1. Per **Build event pattern** (Crea modello di eventi), procedi come segue:

   1. Per **Event source**, scegli **AWS eventi o eventi EventBridge partner**.

   1. Per **Event pattern** (Modello di eventi), ai fini di questo esempio specificherai il seguente modello di eventi in modo che corrisponda all’evento `EC2 Fleet Instance Change` e al sottotipo `launched`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"],
       "detail": {
         "sub-type": ["launched"]
      }
      ```

      Per aggiungere il modello di eventi, puoi utilizzare un modello scegliendo **Event pattern form** (Formato del modello di eventi) o specificare il tuo modello scegliendo **Custom pattern (JSON editor)** (Modello personalizzato (editor JSON)), come segue:

      1. Per utilizzare un modello per creare il modello di eventi, procedi come segue:

         1. Scegli **Event pattern form** (Formato del modello di eventi).

         1. Per **Event source** (Origine evento), scegli **AWS services** (Servizi ).

         1. In **AWS Service**, scegli **parco istanze EC2**.

         1. Per **Event type** (Tipo di evento), scegli **EC2 Fleet Instance Change** (Modifica dell’istanza del parco istanze EC2).

         1. Scegli **Edit pattern** (Modifica modello) e aggiungi `"detail": {"sub-type": ["launched"]` per creare una corrispondenza con il modello di evento di esempio. Per il corretto formato JSON, inserisci una virgola (`,`) dopo la parentesi quadrata precedente (`]`).

      1. (Alternativa) Per specificare un modello di eventi personalizzato, procedi come segue:

         1. Scegli **Custom pattern (JSON editor)** (Modello personalizzato (editor JSON)).

         1. Nella casella **Event pattern** (Modello di eventi), aggiungi il modello di eventi per questo esempio.

   1. Scegli **Next (Successivo)**.

1. Per **Select target(s)** (Seleziona destinazione/i), esegui queste operazioni:

   1. Per **Target types** (Tipi di destinazione), scegli **AWS service** (Servizio ).

   1. Per **Select a target** (Seleziona una destinazione, scegli **SNS topic** (Argomento SNS) per inviare un’e-mail, un messaggio di testo o una notifica push mobile quando si verifica l’evento.

   1. Per **Target**, scegli **Lambda function** (Funzione Lambda), e in **Function** (Funzione), scegli la funzione creata per rispondere quando si verifica l’evento.

   1. (Facoltativo) In **Additional settings** (Impostazioni aggiuntive), facoltativamente puoi configurare impostazioni aggiuntive. Per ulteriori informazioni, consulta [Creazione di EventBridge regole Amazon che reagiscono agli eventi](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (passaggio 16) nella *Amazon EventBridge User Guide*.

   1. Scegli **Next (Successivo)**.

1. (Opzionale) Per **Tags** (Tag), se desideri puoi assegnare uno o più tag alla regola, quindi scegli **Next (Successivo**).

1. Per **Review and create** (Verifica e crea), procedi come segue:

   1. Verifica i dettagli della regola e modificali se necessario.

   1. Scegli **Crea regola**.

*Per un tutorial su come creare una funzione Lambda e una EventBridge regola che esegua la funzione Lambda, consulta [Tutorial: Log the State of an Amazon EC2 Instance Using in the](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-log-ec2-instance-state.html) Developer Guide. EventBridge AWS Lambda *

## Tipi di eventi Parco istanze EC2
<a name="ec2-fleet-event-types"></a>

Esistono cinque tipi di eventi Parco istanze EC2. Per ogni tipo di evento, ci sono diversi sottotipi.

**Topics**
+ [

### Cambiamento di stato del parco istanze EC2
](#ec2-fleet-state-change)
+ [

### Richiesta di modifica dell’istanza spot del parco istanze EC2
](#ec2-fleet-spot-instance-request-change)
+ [

### Modifica dell’istanza del parco istanze EC2
](#ec2-fleet-instance-change)
+ [

### Informazioni sul parco istanze EC2
](#ec2-fleet-info)
+ [

### Errore parco istanze EC2
](#ec2-fleet-config-not-valid)

### Cambiamento di stato del parco istanze EC2
<a name="ec2-fleet-state-change"></a>

EC2 Fleet invia un `EC2 Fleet State Change` evento ad Amazon EventBridge quando un parco veicoli EC2 cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
    "detail-type": "EC2 Fleet State Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "sub-type": "active"
    }
}
```

I valori possibili per `sub-type` sono:

`active`  
La richiesta parco istanze EC2 è stata convalidata ed Amazon EC2 sta tentando di mantenere il numero previsto di istanze in esecuzione.

`deleted`  
Il parco istanze EC2 viene eliminato e non ha istanze in esecuzione. La richiesta parco istanze EC2 viene eliminata due giorni dopo e le sue istanze vengono terminate.

`deleted_running`  
La richiesta Parco istanze EC2 viene eliminata e non avvia istanze aggiuntive. Le sue istanze esistenti continuano a essere eseguite finché non vengono interrotte o terminate. La richiesta rimane in questo stato finché tutte le istanze non vengono interrotte o terminate. 

`deleted_terminating`  
La richiesta del parco istanze EC2 viene eliminata e le sue istanze vengono terminate. La richiesta rimane in questo stato finché tutte le istanze non vengono terminate. 

`expired`  
La richiesta parco istanze EC2 è scaduta. Se la richiesta è stata creata con un set `TerminateInstancesWithExpiration`, un evento successivo `terminated` indica che le istanze sono terminate.

`modify_in_progress`  
La richiesta parco istanze EC2 è in fase di modifica. La richiesta rimane in questo stato finché la modifica non viene completamente elaborata.

`modify_succeeded`  
La richiesta parco istanze EC2 è stata modificata.

`submitted`  
La richiesta parco istanze EC2 è in fase di valutazione ed Amazon EC2 si sta preparando ad avviare il numero previsto di istanze. 

`progress`  
La richiesta parco istanze EC2 è in procinto di essere soddisfatta.

### Richiesta di modifica dell’istanza spot del parco istanze EC2
<a name="ec2-fleet-spot-instance-request-change"></a>

EC2 Fleet invia un `EC2 Fleet Spot Instance Request Change` evento ad Amazon EventBridge quando una richiesta di istanza Spot nel parco veicoli cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
    "detail-type": "EC2 Fleet Spot Instance Request Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
    ],
    "detail": {
        "spot-instance-request-id": "sir-rmqske6h",
        "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

I valori possibili per `sub-type` sono:

`active`  
La richiesta è stata soddisfatta e ha un’istanza spot associata.

`cancelled`  
Hai annullato la richiesta dell’istanza spot o la richiesta dell’istanza spot è scaduta.

`disabled`  
Hai arrestato l’istanza spot.

`submitted`  
La richiesta dell’istanza spot viene inviata.

### Modifica dell’istanza del parco istanze EC2
<a name="ec2-fleet-instance-change"></a>

EC2 Fleet invia un `EC2 Fleet Instance Change` evento ad Amazon EventBridge quando un'istanza nel parco veicoli cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
    "detail-type": "EC2 Fleet Instance Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:23Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "instance-id": "i-0c594155dd5ff1829",
        "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
        "sub-type": "launched"
    }
}
```

I valori possibili per `sub-type` sono:

`launched`  
È stata lanciata una nuova istanza.

`terminated`  
L’istanza è stata terminata.

`termination_notified`  
Una notifica di terminazione dell’istanza è stata inviata quando un’istanza spot è stata terminata da Amazon EC2 durante la riduzione orizzontale, quando la capacità target del parco istanze è stata modificata, ad esempio, da una capacità target di 4 a una capacità target di 3.

### Informazioni sul parco istanze EC2
<a name="ec2-fleet-info"></a>

EC2 Fleet invia un `EC2 Fleet Information` evento ad Amazon EventBridge in caso di errore durante l'adempimento. L’evento informativo non impedisce al parco istanze di tentare di raggiungere la sua capacità target.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "76529817-d605-4571-7224-d36cc1b2c0c4",
    "detail-type": "EC2 Fleet Information",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T08:17:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
    ],
    "detail": {
        "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
        "sub-type": "launchSpecUnusable"
    }
}
```

I valori possibili per `sub-type` sono:

`fleetProgressHalted`  
Il prezzo in ogni specifica di avvio non è valido perché è inferiore al prezzo istanza spot (tutte le specifiche di avvio hanno prodotto eventi `launchSpecUnusable`). Una specifica di avvio potrebbe diventare valida se il prezzo Spot cambia.

`launchSpecTemporarilyBlacklisted`  
La configurazione non è valida e vari tentativi di avvio delle istanze non sono riusciti. Per ulteriori informazioni, consulta la descrizione dell’evento.

`launchSpecUnusable`  
Il prezzo in una specifica di avvio non è valido perché è inferiore al prezzo istanza spot o il prezzo istanza spot è inferiore al prezzo on demand.

`registerWithLoadBalancersFailed`  
Tentativo di registrazione di istanze con bilanciamento del carico non riuscito. Per ulteriori informazioni, consulta la descrizione dell’evento.

### Errore parco istanze EC2
<a name="ec2-fleet-config-not-valid"></a>

EC2 Fleet invia un `EC2 Fleet Error` evento ad Amazon EventBridge in caso di errore durante l'adempimento. L’evento di errore impedisce al parco istanze di tentare di raggiungere la sua capacità target.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
    "detail-type": "EC2 Fleet Error",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-10-07T01:44:24Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
    ],
    "detail": {
        "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

I valori possibili per `sub-type` sono:

`iamFleetRoleInvalid`  
Il parco istanze EC2 non include le autorizzazioni necessarie per avviare o terminare un’istanza.

`allLaunchSpecsTemporarilyBlacklisted`  
Nessuna delle configurazioni è valida e vari tentativi di avvio delle istanze non sono riusciti. Per ulteriori informazioni, consulta la descrizione dell’evento.

`spotInstanceCountLimitExceeded`  
Hai raggiunto il limite del numero di istanze spot che puoi avviare.

`spotFleetRequestConfigurationInvalid`  
La configurazione non è valida. Per ulteriori informazioni, consulta la descrizione dell’evento.

## Tipi di eventi del parco istanze spot
<a name="spot-fleet-event-types"></a>

Esistono cinque tipi di eventi del parco istanze spot Per ogni tipo di evento, ci sono diversi sottotipi.

**Topics**
+ [

### Cambiamento dello stato del parco istanze spot di EC2
](#spot-fleet-state-change)
+ [

### Modifica della richiesta del parco istanze spot EC2
](#spot-fleet-spot-instance-request-change)
+ [

### Modifica dell’istanza del parco istanze spot di EC2
](#spot-fleet-instance-change)
+ [

### Informazioni sul parco istanze spot di EC2
](#spot-fleet-info)
+ [

### Errore del parco istanze spot EC2
](#spot-fleet-config-not-valid)

### Cambiamento dello stato del parco istanze spot di EC2
<a name="spot-fleet-state-change"></a>

Spot Fleet invia un `EC2 Spot Fleet State Change` evento ad Amazon EventBridge quando una flotta Spot cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b",
    "detail-type": "EC2 Spot Fleet State Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:57:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55"
    ],
    "detail": {
        "sub-type": "submitted"
    }
}
```

I valori possibili per `sub-type` sono:

`active`  
La richiesta del parco istanze spot è stata convalidata e Amazon EC2 sta tentando di mantenere il numero previsto di istanze in esecuzione.

`cancelled`  
La richiesta del parco istanze spot viene annullata e non contiene istanze in esecuzione. Il parco istanze spot verrà eliminato due giorni dopo la chiusura delle istanze.

`cancelled_running`  
La richiesta del parco istanze spot viene annullata e non avvia istanze aggiuntive. Le sue istanze esistenti continuano a essere eseguite finché non vengono interrotte o terminate. La richiesta rimane in questo stato finché tutte le istanze non vengono interrotte o terminate. 

`cancelled_terminating`  
La richiesta del parco istanze spot viene annullata e le sue istanze sono in terminazione. La richiesta rimane in questo stato finché tutte le istanze non vengono terminate. 

`expired`  
La richiesta del parco istanze spot è scaduta. Se la richiesta è stata creata con un set `TerminateInstancesWithExpiration`, un evento successivo `terminated` indica che le istanze sono terminate.

`modify_in_progress`  
La richiesta del parco istanze spot è in fase di modifica. La richiesta rimane in questo stato finché la modifica non viene completamente elaborata.

`modify_succeeded`  
La richiesta del parco istanze spot è stata modificata.

`submitted`  
La richiesta del parco istanze spot è in fase di valutazione e Amazon EC2 si sta preparando ad avviare il numero previsto di istanze. 

`progress`  
La richiesta del parco istanze spot sta per essere evasa.

### Modifica della richiesta del parco istanze spot EC2
<a name="spot-fleet-spot-instance-request-change"></a>

Spot Fleet invia un `EC2 Spot Fleet Spot Instance Request Change` evento ad Amazon EventBridge quando una richiesta di istanza Spot nel parco veicoli cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2",
    "detail-type": "EC2 Spot Fleet Spot Instance Request Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:53:21Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1"
    ],
    "detail": {
        "spot-instance-request-id": "sir-a2w9gc5h",
        "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

I valori possibili per `sub-type` sono:

`active`  
La richiesta è stata soddisfatta e ha un’istanza spot associata.

`cancelled`  
Hai annullato la richiesta dell’istanza spot o la richiesta dell’istanza spot è scaduta.

`disabled`  
Hai arrestato l’istanza spot.

`submitted`  
La richiesta dell’istanza spot viene inviata.

### Modifica dell’istanza del parco istanze spot di EC2
<a name="spot-fleet-instance-change"></a>

Spot Fleet invia un `EC2 Spot Fleet Instance Change` evento ad Amazon EventBridge quando un'istanza del parco veicoli cambia stato.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "11591686-5bd7-bbaa-eb40-d46529c2710f",
    "detail-type": "EC2 Spot Fleet Instance Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T07:25:02Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61"
    ],
    "detail": {
        "instance-id": "i-08b90df1e09c30c9b",
        "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}",
        "sub-type": "launched"
    }
}
```

I valori possibili per `sub-type` sono:

`launched`  
È stata lanciata una nuova istanza.

`terminated`  
L’istanza è stata terminata.

`termination_notified`  
Una notifica di terminazione dell’istanza è stata inviata quando un’istanza spot è stata terminata da Amazon EC2 durante la riduzione orizzontale, quando la capacità target del parco istanze è stata modificata, ad esempio, da una capacità target di 4 a una capacità target di 3.

### Informazioni sul parco istanze spot di EC2
<a name="spot-fleet-info"></a>

Spot Fleet invia un `EC2 Spot Fleet Information` evento ad Amazon EventBridge in caso di errore durante l'adempimento. L’evento informativo non impedisce al parco istanze di tentare di raggiungere la sua capacità target.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "73a60f70-3409-a66c-635c-7f66c5f5b669",
    "detail-type": "EC2 Spot Fleet Information",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-08T20:56:12Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1"
    ],
    "detail": {
        "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291",
        "sub-type": "launchSpecUnusable"
    }
}
```

I valori possibili per `sub-type` sono:

`fleetProgressHalted`  
Il prezzo in ogni specifica di avvio non è valido perché è inferiore al prezzo istanza spot (tutte le specifiche di avvio hanno prodotto eventi `launchSpecUnusable`). Una specifica di avvio potrebbe diventare valida se il prezzo Spot cambia.

`launchSpecTemporarilyBlacklisted`  
La configurazione non è valida e vari tentativi di avvio delle istanze non sono riusciti. Per ulteriori informazioni, consulta la descrizione dell’evento.

`launchSpecUnusable`  
Il prezzo in una specifica di avvio non è valido perché è inferiore al prezzo istanza spot o il prezzo istanza spot è inferiore al prezzo on demand.

`registerWithLoadBalancersFailed`  
Tentativo di registrazione di istanze con bilanciamento del carico non riuscito. Per ulteriori informazioni, consulta la descrizione dell’evento.

### Errore del parco istanze spot EC2
<a name="spot-fleet-config-not-valid"></a>

Spot Fleet invia un `EC2 Spot Fleet Error` evento ad Amazon EventBridge in caso di errore durante l'adempimento. L’evento di errore impedisce al parco istanze di tentare di raggiungere la sua capacità target.

Di seguito vengono riportati dati di esempio per questo evento. 

```
{
    "version": "0",
    "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2",
    "detail-type": "EC2 Spot Fleet Error",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T06:56:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17"
    ],
    "detail": {
        "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

I valori possibili per `sub-type` sono:

`iamFleetRoleInvalid`  
La serie di istanze spot non include le autorizzazioni necessarie per avviare o terminare un’istanza.

`allLaunchSpecsTemporarilyBlacklisted`  
Nessuna delle configurazioni è valida e vari tentativi di avvio delle istanze non sono riusciti. Per ulteriori informazioni, consulta la descrizione dell’evento.

`spotInstanceCountLimitExceeded`  
Hai raggiunto il limite del numero di istanze spot che puoi avviare.

`spotFleetRequestConfigurationInvalid`  
La configurazione non è valida. Per ulteriori informazioni, consulta la descrizione dell’evento.

# Tutorial per parco istanze EC2
<a name="fleet-tutorials"></a>

Vi sono diversi modi per configurare un parco istanze EC2. La configurazione scelta dipende dal caso d'uso specifico.

I seguenti tutorial coprono alcuni dei possibili casi d'uso e forniscono le attività necessarie per implementarli.


| Caso d’uso | Link al tutorial | 
| --- | --- | 
|  **Utilizza la ponderazione delle istanze per gestire la disponibilità e le prestazioni del parco istanze EC2.** Con la ponderazione delle istanze, assegni un peso a ciascun tipo di istanza del parco istanze EC2 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.  | [Tutorial: Configura il parco istanze EC2 per usare la ponderazione dell'istanza](ec2-fleet-instance-weighting-walkthrough.md) | 
|  **Utilizza la capacità on demand per garantire la disponibilità durante i periodi di picco, ma sfrutta la capacità spot aggiuntiva a un costo inferiore.** Configura il parco istanze EC2 per utilizzare le istanze on demand come capacità primaria per garantire la capacità disponibile durante i periodi di picco. Inoltre, alloca parte della capacità alle istanze spot per usufruire di prezzi scontati, tenendo presente che le istanze spot possono essere interrotte se Amazon EC2 ha di nuovo bisogno della capacità.  | [Tutorial: Configura il parco istanze EC2 per usare le istanze on demand come capacità primaria](ec2-fleet-on-demand-walkthrough.md) | 
|  **Utilizza le prenotazioni della capacità per prenotare la capacità di calcolo per le istanze on demand.** Configura il tuo parco istanze EC2 per utilizzare prima le prenotazioni della capacità `targeted` all'avvio delle istanze on demand. Se i tuoi requisiti di capacità sono rigorosi e stai eseguendo carichi di lavoro aziendali critici che richiedono un certo livello di garanzia della capacità a lungo o breve termine, ti consigliamo di creare una prenotazione della capacità per assicurarti di avere sempre accesso alla capacità di Amazon EC2 quando ne hai bisogno, per tutto il tempo necessario.  | [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) | 
|  **Usa i blocchi di capacità per prenotare le istanze GPU più richieste per i tuoi carichi di lavoro ML.** Configura il tuo parco istanze EC2 per avviare istanze in blocchi di capacità.  | [Tutorial: Configura il tuo parco istanze EC2 per avviare istanze in Blocchi di capacità](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md) | 
|  **Utilizza Interruptible Capacity Reservations per riutilizzare temporaneamente la capacità inattiva in tutta l'organizzazione e ridurre i AWS costi.** Configura la tua flotta EC2 per avviare le istanze verso le prenotazioni di capacità interrompibile, che rappresentano la capacità inutilizzata all'interno dell'organizzazione. AWS I titolari della capacità possono recuperare la capacità in qualsiasi momento. Una volta recuperate, EC2 chiude le istanze dopo un preavviso di 2 minuti.  | [Tutorial: configura la tua flotta EC2 per avviare le istanze in prenotazioni di capacità interrompibile](ec2-fleet-launch-instances-interruptible-cr-walkthrough.md) | 

# Tutorial: Configura il parco istanze EC2 per usare la ponderazione dell'istanza
<a name="ec2-fleet-instance-weighting-walkthrough"></a>

In questo tutorial viene utilizzata una società fittizia chiamata Example Corp per illustrare il processo di richiesta di un parco istanze EC2 con l'utilizzo della ponderazione dell'istanza.

## Obiettivo
<a name="ec2-fleet-instance-weighting-walkthrough-objective"></a>

Example Corp, una società farmaceutica, vuole utilizzare la potenza di calcolo di Amazon EC2 per lo screening di composti chimici che potrebbero essere utilizzati per combattere il cancro.

## Pianificazione
<a name="ec2-fleet-instance-weighting-walkthrough-planning"></a>

Prime analisi Example Corp [Best Practice Spot](https://aws.amazon.com/ec2/spot/getting-started/#bestpractices). Poi, Example Corp stabilisce i requisiti seguenti per EC2 Fleet.

**Tipi di istanza**  
Example Corp dispone di un'applicazione ad alta intensità di calcolo e di memoria che offre le migliori prestazioni con almeno 60 GB di memoria e otto CPU virtuali (vCPU). Il suo scopo è massimizzare tali risorse per l'applicazione al prezzo più basso possibile. Example Corp stabilisce che uno dei seguenti tipi di istanza EC2 soddisfa le proprie esigenze:


| Tipo di istanza | Memoria (GiB) | v CPUs | 
| --- | --- | --- | 
|  r3.2xlarge  |  61  |  8  | 
|  r3.4xlarge  |  122  |  16  | 
|  r3.8xlarge  |  244  |  32  | 

**Capacità di destinazione in unità**  
Con la ponderazione delle istanze, la capacità target può essere pari a un numero di istanze (impostazione predefinita) o a una combinazione di fattori come core (vCPU), memoria () e storage (GBGiBs). Considerando la base per la loro applicazione (60 GB di RAM e otto vCPU) come un'unità, Example Corp decide che 20 volte questa quantità soddisferebbe le proprie esigenze. Dunque, la società imposta la capacità target della propria richiesta del parco istanze EC2 a 20 unità.

**Pesi dell'istanza**  
Dopo aver stabilito la capacità di destinazione, Example Corp calcola i pesi dell'istanza. Per calcolare il peso dell'istanza per ogni tipo di istanza, la società stabilisce le unità di ogni tipo di istanza necessarie al raggiungimento della capacità di destinazione come segue:
+ r3.2xlarge (61,0 GB, 8 v) = 1 unità da 20 CPUs
+ r3.4xlarge (122,0 GB, 16 v) = 2 unità da 20 CPUs
+ r3.8xlarge (244,0 GB, 32 v) = 4 unità da 20 CPUs

Pertanto, Example Corp assegna pesi di istanza di 1, 2 e 4 alle rispettive configurazioni di avvio nella propria richiesta di EC2 Fleet.

**Prezzo all'ora per unità**  
Example Corp utilizza il [prezzo on demand](https://aws.amazon.com/ec2/pricing/) all'ora per istanza come punto di partenza per il proprio prezzo. La società può anche utilizzare i prezzi Spot recenti o una combinazione dei due. Per calcolare il prezzo all'ora per unità, la società divide il prezzo iniziale all'ora per istanza per il peso. Ad esempio:


| Tipo di istanza | prezzo on demand | Peso dell'istanza | Prezzo all'ora per unità | 
| --- | --- | --- | --- | 
|  r3.2xLarge  |  0,7 \$1  |  1  |  0,7 \$1  | 
|  r3.4xLarge  |  1,4 \$1  |  2  |  0,7 \$1  | 
|  r3.8xLarge  |  \$12,8  |  4  |  0,7 \$1  | 

Example Corp può utilizzare un prezzo globale di 0,7 \$1 all'ora per unità ed essere competitiva per tutti e tre i tipi di istanza. Potrebbero anche utilizzare un prezzo globale di 0,7 USD per unità ora e un prezzo specifico di 0,9 USD per unità ora nella specifica di avvio `r3.8xlarge`.

## Verificare le autorizzazioni
<a name="ec2-fleet-instance-weighting-walkthrough-permissions"></a>

Prima di creare un parco istanze EC2, Example Corp verifica che abbia un ruolo IAM con le autorizzazioni necessarie. Per ulteriori informazioni, consulta [Prerequisiti di parco istanze EC2](ec2-fleet-prerequisites.md).

## Creazione di un modello di avvio
<a name="ec2-fleet-instance-weighting-create-launch-template"></a>

Successivamente, Example Corp crea un modello di avvio. L'ID del modello di avvio viene utilizzato nella fase seguente. Per ulteriori informazioni, consulta [Creare un modello di avvio Amazon EC2](create-launch-template.md).

## Creazione del parco istanze EC2
<a name="ec2-fleet-instance-weighting-walkthrough-request"></a>

Example Corp crea un file, `config.json`, con la configurazione seguente per il proprio parco istanze EC2. Nell'esempio seguente sostituire gli identificatori di risorsa con i propri identificatori di risorsa.

```
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "r3.2xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 1
                },
                {
                    "InstanceType": "r3.4xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 2
                },
                {
                    "InstanceType": "r3.8xlarge", 
                    "MaxPrice": "0.90", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 4
                }
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20, 
        "DefaultTargetCapacityType": "spot"
    }
}
```

Example Corp crea EC2 Fleet utilizzando il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) seguente.

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

Per ulteriori informazioni, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md).

## Adempimento
<a name="ec2-fleet-instance-weighting-walkthrough-fulfillment"></a>

La strategia di allocazione stabilisce da quali pool di capacità spot provengono le istanze spot.

Con la strategia `lowest-price` (ovvero la strategia predefinita), le Istanze spot provengono dal pool con il prezzo per unità più basso al momento dell'elaborazione. Per fornire 20 unità di capacità, EC2 Fleet avvia 20 istanze `r3.2xlarge` (20 diviso 1), 10 istanze `r3.4xlarge` (20 diviso 2) o 5 istanze `r3.8xlarge` (20 diviso 4).

Se Example Corp utilizzasse la strategia `diversified`, le Istanze spot proverrebbero da tutti e tre i pool. Il parco istanze EC2 avvierebbe 6 istanze `r3.2xlarge` (per ottenere 6 unità), 3 istanze `r3.4xlarge` (per ottenere 6 unità) e 2 istanze `r3.8xlarge` (per ottenere 8 unità), per un totale di 20 unità.

# Tutorial: Configura il parco istanze EC2 per usare le istanze on demand come capacità primaria
<a name="ec2-fleet-on-demand-walkthrough"></a>

In questo tutorial viene utilizzata una società fittizia chiamata ABC Online per illustrare il processo di richiesta di un parco istanze EC2 con capacità primaria on demand e capacità spot se disponibile.

## Obiettivo
<a name="ec2-fleet-on-demand-walkthrough-objective"></a>

ABC Online, un'azienda di consegne a domicilio per ristoranti, punta ad assegnare la capacità Amazon EC2 in tutti i tipi di istanza EC2 e opzioni di acquisto per raggiungere le dimensioni, le prestazioni e i costi desiderati.

## Pianificazione
<a name="ec2-fleet-on-demand-walkthrough-planning"></a>

ABC Online necessita di una capacità fissa per gestire i periodi di picco, ma vuole trarre vantaggio dalla capacità aggiuntiva a un prezzo inferiore. L'azienda stabilisce i requisiti seguenti per il parco istanze EC2:
+ Capacità istanza on demand - ABC Online richiede 15 istanze on demand per garantire di poter gestire il flusso nei periodi di picco.
+ Capacità istanza spot – Per migliorare le prestazioni, ma a un prezzo inferiore, ABC Online intende eseguire il provisioning di 5 istanze spot.

## Verificare le autorizzazioni
<a name="ec2-fleet-on-demand-walkthrough-permissions"></a>

Prima di creare un parco istanze EC2, ABC Online verifica che abbia un ruolo IAM con le autorizzazioni necessarie. Per ulteriori informazioni, consulta [Prerequisiti di parco istanze EC2](ec2-fleet-prerequisites.md).

## Creazione di un modello di avvio
<a name="ec2-fleet-on-demand-walkthrough-create-launch-template"></a>

Successivamente, ABC Online crea un modello di avvio. L'ID del modello di avvio viene utilizzato nella fase seguente. Per ulteriori informazioni, consulta [Creare un modello di avvio Amazon EC2](create-launch-template.md).

## Creazione del Parco istanze EC2
<a name="ec2-fleet-on-demand-walkthrough-request"></a>

ABC Online crea un file, `config.json`, con la configurazione seguente per il proprio parco istanze EC2. Nell'esempio seguente sostituire gli identificatori di risorsa con i propri identificatori di risorsa.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851",
                "Version": "2"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity":15,
        "DefaultTargetCapacityType": "spot"
    }
}
```

ABC Online crea EC2 Fleet utilizzando il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) seguente.

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

Per ulteriori informazioni, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md).

## Adempimento
<a name="ec2-fleet-on-demand-walkthrough-fulfillment"></a>

La strategia di allocazione fa in modo che la capacità on demand venga sempre soddisfatta, mentre il saldo della capacità di destinazione viene soddisfatto come Spot se c'è capacità disponibile.

# Tutorial: Configura un parco istanze EC2 per avviare istanze on demand utilizzando le prenotazioni della capacità obiettivo
<a name="ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough"></a>

Questo tutorial illustra tutti i passaggi da eseguire in modo che il parco istanze EC2 avvii le istanze on demand sulle prenotazioni della capacità `targeted`.

Verrà illustrato come configurare un parco istanze per utilizzare prima le prenotazioni della capacità on demand `targeted` all'avvio delle istanze on demand. Verrà inoltre illustrato come configurare il parco istanze in modo che, quando la capacità on demand obiettivo totale supera il numero di prenotazioni della capacità inutilizzate disponibili, il parco istanze utilizzi la strategia di allocazione specificata per selezionare i pool di istanze in cui avviare la capacità obiettivo rimanente.

**Configurazione del parco istanze EC2**

In questo tutorial, il parco istanze è configurato come indicato di seguito:
+ Capacità obiettivo: 10 istanze on demand
+ Prenotazioni della capacità `targeted` inutilizzate totali: 6 (meno della capacità obiettivo on demand del parco istanze di 10 istanze on demand)
+ Numero di prenotazioni della capacità per pool: 2 (`us-east-1a` e `us-east-1b`)
+ Numero di prenotazioni della capacità per pool: 3
+ Strategia di allocazione on demand: `lowest-price`. (Quando il numero di prenotazioni della capacità inutilizzate è inferiore alla capacità obiettivo on demand, il parco istanze determina i pool in cui avviare la capacità on demand rimanente in base alla strategia di allocazione on demand.)

  Tenere presente che è anche possibile utilizzare la strategia di allocazione `prioritized` invece della strategia di allocazione `lowest-price`.

**Per avviare istanze on demand in prenotazioni della capacità `targeted` è necessario eseguire una serie di passaggi, come indicato di seguito:**
+ [

## Fase 1: creazione di prenotazioni della capacità
](#ec2-fleet-odcr-step1)
+ [

## Fase 2: creazione di un gruppo di risorse di prenotazione della capacità
](#ec2-fleet-odcr-step2)
+ [

## Fase 3: aggiunta delle prenotazioni della capacità al gruppo di risorse di prenotazione della capacità
](#ec2-fleet-odcr-step3)
+ [

## (Facoltativo) Fase 4: visualizzazione delle prenotazioni delle capacità nel gruppo di risorse
](#ec2-fleet-odcr-step4)
+ [

## Fase 5: creazione di un modello di avvio che specifichi che la prenotazione della capacità è destinata a un gruppo di risorse specifico
](#ec2-fleet-odcr-step5)
+ [

## (Facoltativo) Fase 6: descrizione del modello di avvio
](#ec2-fleet-odcr-step6)
+ [

## Fase 7: creazione di un parco istanze EC2
](#ec2-fleet-odcr-step7)
+ [

## (Facoltativo) Fase 8: visualizzazione del numero di prenotazioni delle capacità non utilizzate rimanenti
](#ec2-fleet-odcr-step8)

## Fase 1: creazione di prenotazioni della capacità
<a name="ec2-fleet-odcr-step1"></a>

Usa il [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html)comando per creare le prenotazioni di capacità, tre per `us-east-1a` e altre tre per. `us-east-1b` Ad eccezione della zona di disponibilità, gli altri attributi delle prenotazioni della capacità sono identici.

**3 prenotazioni della capacità in `us-east-1a`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1a \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Esempio di ID prenotazione della capacità risultante

```
cr-1234567890abcdef1
```

**3 prenotazioni della capacità in `us-east-1b`**

```
aws ec2 create-capacity-reservation \
    --availability-zone us-east-1b \
    --instance-type c5.xlarge \
    --instance-platform Linux/UNIX \
    --instance-count 3 \
    --instance-match-criteria targeted
```

Esempio di ID prenotazione della capacità risultante

```
cr-54321abcdef567890
```

## Fase 2: creazione di un gruppo di risorse di prenotazione della capacità
<a name="ec2-fleet-odcr-step2"></a>

Utilizzare il servizio `resource-groups` e il comando [create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) per creare un gruppo di risorse prenotazioni della capacità. In questo esempio, il gruppo di risorse è denominato `my-cr-group`. Per informazioni sul motivo per cui è necessario creare un gruppo di risorse, consulta [Utilizza le prenotazioni della capacità per prenotare la capacità on demand nel parco istanze EC2](ec2-fleet-on-demand-capacity-reservations.md).

```
aws resource-groups create-group \
    --name my-cr-group \
    --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'
```

## Fase 3: aggiunta delle prenotazioni della capacità al gruppo di risorse di prenotazione della capacità
<a name="ec2-fleet-odcr-step3"></a>

Utilizzare il servizio `resource-groups` e il comando [group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) per aggiungere le prenotazioni della capacità create nella fase 1 al gruppo di risorse prenotazioni della capacità. Tieni presente che è necessario fare riferimento alle prenotazioni di capacità su richiesta tramite loroARNs.

```
aws resource-groups group-resources \
    --group my-cr-group \
    --resource-arns \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \
      arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890
```

Output di esempio

```
{
   "Failed": [], 
   "Succeeded": [ 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", 
   "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" 
   ] 
}
```

## (Facoltativo) Fase 4: visualizzazione delle prenotazioni delle capacità nel gruppo di risorse
<a name="ec2-fleet-odcr-step4"></a>

Utilizza il `resource-groups` servizio e il [list-group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/list-group-resources.html)comando per descrivere facoltativamente il gruppo di risorse per visualizzarne le prenotazioni di capacità.

```
aws resource-groups list-group-resources --group my-cr-group
```

Output di esempio

```
{
    "ResourceIdentifiers": [
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1"
        },
        {
            "ResourceType": "AWS::EC2::CapacityReservation",
            "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
        }
    ]
}
```

## Fase 5: creazione di un modello di avvio che specifichi che la prenotazione della capacità è destinata a un gruppo di risorse specifico
<a name="ec2-fleet-odcr-step5"></a>

Utilizzate il [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)comando per creare un modello di avvio in cui specificare le prenotazioni di capacità da utilizzare. In questo esempio, il parco istanze utilizza le prenotazioni della capacità `targeted` che sono state aggiunte a un gruppo di risorse. Pertanto, i dati del modello di avvio specificano che la prenotazione della capacità è destinata a un gruppo di risorse specifico. In questo esempio, il modello di avvio è denominato `my-launch-template`. 

```
aws ec2 create-launch-template \
    --launch-template-name my-launch-template \
    --launch-template-data \
        '{"ImageId": "ami-0123456789example",
          "CapacityReservationSpecification": 
            {"CapacityReservationTarget": 
                { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group" }
            }
        }'
```

## (Facoltativo) Fase 6: descrizione del modello di avvio
<a name="ec2-fleet-odcr-step6"></a>

Utilizzate il [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html)comando per descrivere facoltativamente il modello di lancio per visualizzarne la configurazione.

```
aws ec2 describe-launch-template-versions --launch-template-name my-launch-template
```

Output di esempio

```
{
    "LaunchTemplateVersions": [
        {
            "LaunchTemplateId": "lt-01234567890example",
            "LaunchTemplateName": "my-launch-template",
            "VersionNumber": 1,
            "CreateTime": "2021-01-19T20:50:19.000Z",
            "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
            "DefaultVersion": true,
            "LaunchTemplateData": {
                "ImageId": "ami-0947d2ba12ee1ff75",
                "CapacityReservationSpecification": {
                    "CapacityReservationTarget": {
                        "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group"
                    }
                }
            }
        }
    ]
}
```

## Fase 7: creazione di un parco istanze EC2
<a name="ec2-fleet-odcr-step7"></a>

Creare un parco istanze EC2 che specifichi le informazioni di configurazione per le istanze che avvierà. La seguente configurazione del parco istanze EC2 mostra solo le configurazioni pertinenti per questo esempio. Il modello di avvio `my-launch-template` è il modello di avvio creato al passaggio 5. Esistono due pool di istanze, entrambi con lo stesso tipo di istanza (`c5.xlarge`) ma con diverse zone di disponibilità (`us-east-1a` e `us-east-1b`). Il prezzo dei pool di istanze è lo stesso perché la determinazione dei prezzi è definita per la Regione, non per la zona di disponibilità. La capacità obiettivo totale è 10 e il tipo di capacità obiettivo predefinito è `on-demand`. La strategia di allocazione on demand è `lowest-price`. La strategia di utilizzo per la prenotazione della capacità è `use-capacity-reservations-first`.

**Nota**  
Il tipo di parco istanze deve essere `instant`. Altri tipi di parchi istanze non supportano `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
               {
                   "InstanceType": "c5.xlarge",
                   "AvailabilityZone": "us-east-1a"
               },
               {
                    "InstanceType": "c5.xlarge",
                    "AvailabilityZone": "us-east-1b"
               }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
             "UsageStrategy": "use-capacity-reservations-first"
         }
    },
    "Type": "instant"
}
```

Dopo aver creato il parco istanze `instant` utilizzando la configurazione precedente, vengono avviate le seguenti 10 istanze per soddisfare la capacità obiettivo:
+ Le prenotazioni della capacità vengono prima utilizzate per avviare 6 istanze on demand nel modo seguente:
  + 3 istanze on demand vengono avviate in 3 prenotazioni della capacità `c5.xlarge` `targeted` in `us-east-1a`
  + 3 istanze on demand vengono avviate in 3 prenotazioni della capacità `c5.xlarge` `targeted` in `us-east-1b`
+ Per soddisfare la capacità obiettivo, vengono avviate 4 istanze on demand aggiuntive nella capacità on demand in base alla strategia di allocazione on demand che in questo esempio è `lowest-price`. Tuttavia, poiché i pool hanno lo stesso prezzo (poiché il prezzo è per Regione e non per zona di disponibilità), il parco istanze avvia le restanti 4 istanze on demand in uno dei pool.

## (Facoltativo) Fase 8: visualizzazione del numero di prenotazioni delle capacità non utilizzate rimanenti
<a name="ec2-fleet-odcr-step8"></a>

Dopo il lancio della flotta, puoi facoltativamente eseguire l'operazione [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)per vedere quante prenotazioni di capacità non utilizzate sono rimaste. In questo esempio, dovresti vedere la seguente risposta, che mostra che tutti i Prenotazioni di capacità del pool sono stati utilizzati.

```
{ "CapacityReservationId":  "cr-111",
     "InstanceType":  "c5.xlarge",  
     "AvailableInstanceCount":  0
}

 { "CapacityReservationId":  "cr-222",
     "InstanceType":  "c5.xlarge", 
     "AvailableInstanceCount":  0
}
```

# Tutorial: Configura il tuo parco istanze EC2 per avviare istanze in Blocchi di capacità
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

Questo tutorial illustra tutti i passaggi da eseguire in modo che il parco istanze EC2 avvii le istanze in Blocchi di capacità. 

Nella maggior parte dei casi, la capacità di destinazione della richiesta del parco istanze EC2 deve essere inferiore o uguale alla capacità disponibile della prenotazione del blocco di capacità che hai scelto come destinazione. Le richieste di capacità di destinazione che superano i limiti della prenotazione del blocco di capacità non verranno soddisfatte. Se la richiesta di capacità di destinazione supera i limiti della prenotazione del blocco di capacità, riceverai una `Insufficient Capacity Exception` per la capacità che supera i limiti della prenotazione del blocco di capacità.

**Nota**  
Per i blocchi di capacità, il parco istanze EC2 non ricorrerà all'avvio di istanze on demand per la restante capacità di destinazione desiderata.

Se il parco istanze EC2 non è in grado di soddisfare la capacità di destinazione richiesta in una prenotazione del blocco di capacità disponibile, il parco istanze EC2 soddisferà tutta la capacità possibile e restituirà le istanze che è stato in grado di avviare. È possibile ripetere nuovamente la chiamata al parco istanze EC2 fino al provisioning di tutte le istanze.

Dopo aver configurato la richiesta del parco istanze EC2, è necessario attendere la data di inizio della prenotazione del blocco di capacità. Se richiedi al parco istanze EC2 di avviare un blocco di capacità che non è ancora stato avviato, riceverai un `Insufficient Capacity Error`.

Dopo che la prenotazione del blocco di capacità diventa attiva, puoi effettuare chiamate all'API del parco istanze EC2 ed eseguire il provisioning delle istanze nel tuo blocco di capacità in base ai parametri selezionati. Le istanze in esecuzione nel blocco di capacità continuano a funzionare finché non le interrompi manualmente o le termini, oppure finché Amazon EC2 non termina le istanze al termine della prenotazione del blocco di capacità.

Per ulteriori informazioni sui blocchi di capacità, consulta [Blocchi di capacità per ML](ec2-capacity-blocks.md).

**Considerazioni**
+ Sono supportate solo le richieste di di parco istanze EC2 di tipo `instant` per l'avvio di istanze in blocchi di capacità. Per ulteriori informazioni, consulta [Configurare un parco istanze EC2 di tipo instant](instant-fleet.md).
+ Non sono supportati più blocchi di capacità nella stessa richiesta di parco istanze EC2.
+ L'utilizzo di `OnDemandTargetCapacity` o `SpotTargetCapacity` contemporaneamente all'impostazione di `capacity-block` come `DefaultTargetCapacity` non è supportato.
+ Se `DefaultTargetCapacityType` è impostato su `capacity-block`, non puoi specificare `OnDemandOptions::CapacityReservationOptions`. Si verificherà un'eccezione.

**Per configurare un parco istanze EC2 per avviare istanze in Blocchi di capacità**

1. **Creazione di un modello di avvio.**

   Nel modello di avvio, eseguire queste operazioni:
   + Per `InstanceMarketOptionsRequest`, imposta `MarketType` su `capacity-block`.
   + Per definire come target la prenotazione del blocco di capacità, per `CapacityReservationID`, specifica l'ID di prenotazione del blocco di capacità.

   Annota il nome e la versione del modello di avvio. Userai queste informazioni nella fase successiva.

   Per ulteriori informazioni sulla creazione di un modello di lancio, consulta [Creare un modello di avvio Amazon EC2](create-launch-template.md). 

1. **Configura il parco istanze EC2.**

   Crea un file, `config.json`, con la seguente configurazione per il parco istanze EC2. Nell'esempio seguente sostituire gli identificatori di risorsa con i propri identificatori di risorsa. 

   Per ulteriori informazioni sulla configurazione di un parco istanze EC2, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md).

   ```
   { 
       "LaunchTemplateConfigs": [
           {
               "LaunchTemplateSpecification": {
                   "LaunchTemplateName": "CBR-launch-template", 
                   "Version": "1"
               }, 
               "Overrides": [
                   {
                       "InstanceType": "p5.48xlarge", 
                       "AvailabilityZone": "us-east-1a"   
                   },
               ]
           }
       ], 
       "TargetCapacitySpecification": {
           "TotalTargetCapacity": 10, 
           "DefaultTargetCapacityType": "capacity-block"
       },
       "Type": "instant"
   }
   ```

1. **Avvia il parco istanze.**

   Utilizza il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

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

   Per ulteriori informazioni, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md#create-ec2-fleet-procedure).

# Tutorial: configura la tua flotta EC2 per avviare le istanze in prenotazioni di capacità interrompibile
<a name="ec2-fleet-launch-instances-interruptible-cr-walkthrough"></a>

Questo tutorial illustra i passaggi da eseguire affinché il parco macchine EC2 avvii le istanze nelle prenotazioni di capacità interrompibile.

Le prenotazioni di capacità interrompibile rappresentano la capacità inutilizzata prestata dai proprietari delle prenotazioni di capacità su richiesta all'interno dell'organizzazione. AWS Queste prenotazioni sono adatte per carichi di lavoro interrompibili perché il proprietario della capacità può recuperare la capacità in qualsiasi momento con un avviso di interruzione di 2 minuti, dopodiché EC2 chiude le istanze. Per ulteriori informazioni sulle prenotazioni di capacità interrompibile, consulta. [Prenotazioni di capacità interrompibile](interruptible-capacity-reservations.md)

La capacità target della richiesta EC2 Fleet deve essere inferiore o uguale alla capacità disponibile della prenotazione di capacità interrompibile a cui si sta puntando. Se la richiesta di capacità target supera la capacità disponibile della prenotazione di capacità interrotta, EC2 Fleet avvia quante più istanze possibile e riporta le istanze avviate nella risposta dell'API.

Le istanze in esecuzione in una prenotazione di capacità interrotta continuano a funzionare finché non vengono interrotte o terminate manualmente o fino a quando il proprietario della capacità non recupera la capacità. Quando il proprietario della capacità recupera la capacità, Amazon EC2 invia una notifica EventBridge Amazon 2 minuti prima di chiudere le istanze.

## Considerazioni
<a name="ec2-fleet-interruptible-cr-considerations"></a>
+ Sono supportate solo le richieste di tipo Fleet EC2 per il lancio di istanze in `instant` Interruptible Capacity Reservations.
+ L'utilizzo `OnDemandTargetCapacity` o `SpotTargetCapacity` contemporaneamente all'impostazione `reserved-capacity` come non è supportato. `DefaultTargetCapacityType`
+ Quando si specificano più modelli di lancio, ciascuno destinato a una diversa prenotazione di capacità interrompibile, EC2 Fleet fornisce istanze a tutte le prenotazioni corrispondenti.
+ Per le prenotazioni di capacità interrompibile, EC2 Fleet non ricorre al lancio di istanze on demand o istanze Spot per il resto della capacità target desiderata.

## Verificare le autorizzazioni
<a name="ec2-fleet-interruptible-cr-verify-permissions"></a>

Prima di creare una flotta EC2, verifica di avere un ruolo IAM con le autorizzazioni richieste. Per ulteriori informazioni, consulta [Prerequisiti di parco istanze EC2](ec2-fleet-prerequisites.md).

Per avviare le istanze in una prenotazione di capacità interrompibile, è necessario eseguire le seguenti operazioni:

## Fase 1: creazione di un modello di avvio
<a name="ec2-fleet-interruptible-cr-step1"></a>

Utilizzate il [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)comando per creare un modello di avvio che specifichi la prenotazione di capacità interrompibile a cui indirizzare. Nel modello di lancio, imposta `interruptible-capacity-reservation` e specifica `MarketType` la tua prenotazione `CapacityReservationId` di capacità interrompibile.

Esempio di configurazione del modello di lancio:

```
{
    "LaunchTemplateName": "interruptible-cr-launch-template",
    "LaunchTemplateData": {
        "InstanceType": "m5.large",
        "ImageId": "ami-0abcdef1234567890",
        "CapacityReservationSpecification": {
            "CapacityReservationTarget": {
                "CapacityReservationId": "cr-0123456789abcdef0"
            }
        },
        "InstanceMarketOptions": {
            "MarketType": "interruptible-capacity-reservation"
        }
    }
}
```

Output di esempio

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-0123456789example",
        "LaunchTemplateName": "interruptible-cr-launch-template",
        "CreateTime": "2026-03-12T10:00:00.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

Per ulteriori informazioni, consulta [Creare un modello di avvio Amazon EC2](create-launch-template.md).

## Fase 2: Configurazione della flotta EC2
<a name="ec2-fleet-interruptible-cr-step2"></a>

Crea un file di configurazione per la flotta EC2 che specifichi il modello di lancio e la capacità target. La seguente configurazione utilizza il modello `interruptible-cr-launch-template` di lancio creato nella Fase 1.

È necessario specificare `ReservedCapacityOptions` with `ReservationType` set to `interruptible-capacity-reservation` quando si utilizza `reserved-capacity` come`DefaultTargetCapacityType`.

Crea un file denominato `config.json` con i seguenti contenuti:

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "interruptible-cr-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "reserved-capacity"
    },
    "ReservedCapacityOptions": {
        "ReservationType": ["interruptible-capacity-reservation"]
    },
    "Type": "instant"
}
```

Parametri di configurazione chiave:


| Parametro | Description | 
| --- | --- | 
| DefaultTargetCapacityType | Impostato reserved-capacity per indicare che le istanze devono essere avviate con capacità riservata. | 
| ReservedCapacityOptions | Speciifica il tipo di capacità riservata. Per le prenotazioni di capacità interrompibile, impostare su. ReservationType ["interruptible-capacity-reservation"] | 
| Type | Deve essere impostato su instant. Per le prenotazioni di capacità interrompibile sono supportate solo flotte istantanee. | 

## Fase 3: Avvia la flotta e visualizza i risultati
<a name="ec2-fleet-interruptible-cr-step3"></a>

Usa il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) per creare la flotta:

```
aws ec2 create-fleet \
    --cli-input-json file://config.json
```

Dopo aver creato il `instant` parco istanze utilizzando la configurazione precedente, EC2 Fleet avvia 10 istanze nella Riservazione della capacità interrompibile per soddisfare la capacità target.

**Nota**  
Se il parco macchine non è in grado di soddisfare l'intera capacità prevista, la risposta include le istanze avviate e gli eventuali errori relativi alla capacità non soddisfatta.

Output di esempio

```
{
    "FleetId": "fleet-12345678-1234-1234-1234-123456789012",
    "Instances": [
        {
            "LaunchTemplateAndOverrides": {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            },
            "Lifecycle": "interruptible-capacity-reservation",
            "InstanceIds": [
                "i-0123456789example1",
                "i-0123456789example2",
                "i-0123456789example3",
                "i-0123456789example4",
                "i-0123456789example5",
                "i-0123456789example6",
                "i-0123456789example7",
                "i-0123456789example8",
                "i-0123456789example9",
                "i-0123456789example0"
            ],
            "InstanceType": "m5.large",
            "Platform": "Linux/UNIX"
        }
    ],
    "Errors": []
}
```

Per ulteriori informazioni, consulta [Creazione di un parco istanze EC2](create-ec2-fleet.md).

## Eliminazione
<a name="ec2-fleet-interruptible-cr-cleanup"></a>

Per evitare di incorrere in addebiti, chiudi le istanze quando non sono più necessarie. Tieni presente che EC2 interrompe automaticamente anche le istanze avviate in una riserva di capacità interrompibile quando il proprietario della capacità recupera la capacità.

## Risorse correlate
<a name="ec2-fleet-interruptible-cr-related-resources"></a>
+ [Prenotazioni di capacità interrompibile](interruptible-capacity-reservations.md)
+ [Prenotare capacità di elaborazione con le prenotazioni della capacità on demand EC2](ec2-capacity-reservations.md)
+ [Lavorare con un parco istanze EC2](manage-ec2-fleet.md)
+ [Creazione di un parco istanze EC2](create-ec2-fleet.md)
+ [Archivia i parametri di avvio dell'istanza nei modelli di avvio di Amazon EC2](ec2-launch-templates.md)

# Esempi di configurazioni di CLI per parco istanze EC2
<a name="ec2-fleet-examples"></a>

Puoi definire la configurazione dell’EC2 Fleet in un file JSON, poi fare riferimento a tale file con il comando [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) per creare il tuo parco istanze, come indicato di seguito:

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

I seguenti esempi illustrano le configurazioni di avvio per vari casi d’uso del parco istanze EC2. Per ulteriori informazioni sui parametri di configurazione, consulta [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Topics**
+ [

## Esempio 1: Avviare Istanze spot come opzione di acquisto predefinita
](#ec2-fleet-config1)
+ [

## Esempio 2: Avviare Istanze on demand come opzione di acquisto predefinita
](#ec2-fleet-config2)
+ [

## Esempio 3: Avviare Istanze on demand come capacità primaria
](#ec2-fleet-config3)
+ [

## Esempio 4: Avvio di Istanze on demand utilizzando molteplici prenotazioni della capacità
](#ec2-fleet-config5)
+ [

## Esempio 5: Avvio di Istanze on demand utilizzando Prenotazioni della capacità quando la capacità obiettivo totale è superiore al numero di Prenotazioni della capacità inutilizzate
](#ec2-fleet-config6)
+ [

## Esempio 6: Avvio di Istanze on demand utilizzando le prenotazioni della capacità obiettivo
](#ec2-fleet-config7)
+ [

## Esempio 7: Configurare il ribilanciamento della capacità per avviare la sostituzione delle istanze spot
](#ec2-fleet-config8)
+ [

## Esempio 8: Avviare le istanze spot in un parco istanze ottimizzato per la capacità
](#ec2-fleet-config9)
+ [

## Esempio 9: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità
](#ec2-fleet-config10)
+ [

## Esempio 10: avviare istanze Spot in un parco istanze price-capacity-optimized
](#ec2-fleet-config11)
+ [

## Esempio 11: configurazione della selezione del tipo di istanza basata su attributi
](#ec2-fleet-config12)

Per altri esempi di CLI per parchi istanze di tipo `instant`, consulta [Configurare un parco istanze EC2 di tipo instant](instant-fleet.md).

## Esempio 1: Avviare Istanze spot come opzione di acquisto predefinita
<a name="ec2-fleet-config1"></a>

L’esempio seguente indica i parametri minimi necessari in un parco istanze EC2: un modello di lancio, una capacità di destinazione e un’opzione d’acquisto predefinita. Il modello di avvio viene identificato dall’ID e dal numero di versione del modello di avvio. La capacità target per il parco istanze è di 2 istanze e l’opzione d’acquisto predefinita è `spot`; ne consegue che il parco istanze avvia 2 Istanze spot.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Esempio 2: Avviare Istanze on demand come opzione di acquisto predefinita
<a name="ec2-fleet-config2"></a>

L’esempio seguente indica i parametri minimi necessari in un Parco istanze EC2: un modello di avvio, una capacità di destinazione e un’opzione d’acquisto predefinita. Il modello di avvio viene identificato dall’ID e dal numero di versione del modello di avvio. La capacità target per il parco istanze è di 2 istanze e l’opzione d’acquisto predefinita è `on-demand`; ne consegue che il parco istanze avvia 2 Istanze on demand.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "on-demand"
    }
}
```

## Esempio 3: Avviare Istanze on demand come capacità primaria
<a name="ec2-fleet-config3"></a>

L’esempio seguente specifica la capacità di destinazione totale di 2 istanze per il parco istanze e una capacità di destinazione di 1 Istanza on demand. L’opzione di acquisto predefinita è `spot`. Il parco istanze avvia 1 Istanza on demand come indicato, ma deve avviare un’altra istanza per soddisfare la capacità target totale. L’opzione di acquisto per la differenza viene calcolata come `TotalTargetCapacity` – `OnDemandTargetCapacity` = `DefaultTargetCapacityType`, ne consegue che il parco istanze avvia 1 istanza spot.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "OnDemandTargetCapacity": 1,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Esempio 4: Avvio di Istanze on demand utilizzando molteplici prenotazioni della capacità
<a name="ec2-fleet-config5"></a>

È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand prima all’avvio di istanze on demand impostando la strategia di utilizzo per le prenotazioni della capacità su `use-capacity-reservations-first`. In questo esempio viene illustrato come il parco istanze seleziona la prenotazione della capacità da utilizzare quando sono presenti più prenotazioni della capacità di quelle necessarie per soddisfare la capacità obiettivo.

In questo esempio, la configurazione del parco istanze è la seguente:
+ Capacità obiettivo: 12 istanze on demand
+ Prenotazioni della capacità inutilizzate totali: 15 (più della capacità obiettivo del parco istanze di 12 istanze on demand)
+ Numero di prenotazioni della capacità per pool: 3 (`m5.large`, `m4.xlarge` e `m4.2xlarge`)
+ Numero di prenotazioni della capacità per pool: 5
+ Strategia di allocazione on demand: `lowest-price` (Quando sono presenti più prenotazioni della capacità inutilizzate in più pool di istanze, il parco istanze determina i pool in cui avviare le istanze on demand in base alla strategia di allocazione on demand).

  Tenere presente che è anche possibile utilizzare la strategia di allocazione `prioritized` invece della strategia di allocazione `lowest-price`.

**Prenotazioni di capacità**

L’account presenta le seguenti 15 prenotazioni di capacità inutilizzati in 3 diversi pool. Il numero di Prenotazioni di capacità in ogni pool è indicato da `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Configurazione del parco istanze**

La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità di destinazione totale è 12 e il tipo di capacità di destinazione predefinito è `on-demand`. La strategia di allocazione on demand è `lowest-price`. La strategia di utilizzo per la prenotazione della capacità è `use-capacity-reservations-first`. 

In questo esempio, il prezzo istanza on demand è:
+ `m5.large` – 0,096 USD all’ora
+ `m4.xlarge` – 0,20 USD all’ora
+ `m4.2xlarge` – 0,40 USD all’ora

**Nota**  
Il tipo di parco istanze deve essere di tipo `instant`. Altri tipi di parchi istanze non supportano `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-abc1234567example",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 12,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        }
    },
    "Type": "instant"
}
```

Dopo aver creato il parco istanze `instant` utilizzando la configurazione precedente, vengono avviate le seguenti 12 istanze per soddisfare la capacità di destinazione:
+ 5 istanze on demand `m5.large` in `us-east-1a` – `m5.large` in `us-east-1a` è il prezzo più basso, e ci sono 5 prenotazioni della capacità `m5.large` disponibili inutilizzate
+ 5 istanze on demand `m4.xlarge` in us-east-1a – `m4.xlarge` in `us-east-1a` è il prezzo più basso successivo, e ci sono 5 prenotazioni della capacità `m4.xlarge` disponibili inutilizzate
+ 2 istanze on demand `m4.2xlarge` in us-east-1a – `m4.2xlarge` in `us-east-1a` è il terzo prezzo più basso, e ci sono 5 prenotazioni della capacità `m4.2xlarge` non utilizzate di cui solo 2 sono necessarie per soddisfare la capacità obiettivo

Dopo il lancio della flotta, puoi correre [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)per vedere quante prenotazioni di capacità non utilizzate sono rimaste. In questo esempio, dovresti vedere la seguente risposta, che mostra che sono state utilizzate tutte le prenotazioni della capacità `m5.large` e `m4.xlarge`, con 3 prenotazioni della capacità `m4.2xlarge` rimaste inutilizzate.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}

{
    "CapacityReservationId": "cr-222",
    "InstanceType": "m4.xlarge", 
    "AvailableInstanceCount": 0
}

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 3
}
```

## Esempio 5: Avvio di Istanze on demand utilizzando Prenotazioni della capacità quando la capacità obiettivo totale è superiore al numero di Prenotazioni della capacità inutilizzate
<a name="ec2-fleet-config6"></a>

È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand prima all’avvio di istanze on demand impostando la strategia di utilizzo per le prenotazioni della capacità su `use-capacity-reservations-first`. In questo esempio viene illustrato come il parco istanze seleziona i pool di istanze in cui avviare le istanze on demand quando la capacità totale obiettivo supera il numero di prenotazioni della capacità inutilizzate disponibili.

In questo esempio, la configurazione del parco istanze è la seguente:
+ Capacità obiettivo: 16 istanze on demand
+ Prenotazioni della capacità inutilizzate totali: 15 (meno della capacità obiettivo del parco istanze di 16 istanze on demand)
+ Numero di prenotazioni della capacità per pool: 3 (`m5.large`, `m4.xlarge` e `m4.2xlarge`)
+ Numero di prenotazioni della capacità per pool: 5
+ Strategia di allocazione on demand: `lowest-price`. (Quando il numero di prenotazioni della capacità inutilizzate è inferiore alla capacità obiettivo on demand, il parco istanze determina i pool in cui avviare la capacità on demand rimanente in base alla strategia di allocazione on demand.)

  Tenere presente che è anche possibile utilizzare la strategia di allocazione `prioritized` invece della strategia di allocazione `lowest-price`.

**Prenotazioni di capacità**

L’account presenta le seguenti 15 prenotazioni di capacità inutilizzati in 3 diversi pool. Il numero di Prenotazioni di capacità in ogni pool è indicato da `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Configurazione del parco istanze**



La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità di destinazione totale è 16 e il tipo di capacità di destinazione predefinito è `on-demand`. La strategia di allocazione on demand è `lowest-price`. La strategia di utilizzo per la prenotazione della capacità è `use-capacity-reservations-first`. 

In questo esempio, il prezzo istanza on demand è:
+ m5.large – \$10,096 all’ora
+ m4.xlarge – \$10,20 all’ora
+ m4.2xlarge – 0,40 USD all’ora

**Nota**  
Il tipo di parco istanze deve essere `instant`. Altri tipi di parchi istanze non supportano `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 16,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price"
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        }
    },
    "Type": "instant",
}
```

Dopo aver creato il parco istanze `instant` utilizzando la configurazione precedente, vengono avviate le seguenti 16 istanze per soddisfare la capacità di destinazione:
+ 6 istanze on demand `m5.large` in `us-east-1a` – `m5.large` in `us-east-1a` è il prezzo più basso, e ci sono 5 prenotazioni della capacità `m5.large` disponibili inutilizzate. Le prenotazioni della capacità vengono prima utilizzate per avviare 5 istanze on demand. Dopo che vengono utilizzate le rimanenti prenotazioni della capacità `m4.xlarge` e `m4.2xlarge`, per soddisfare la capacità obiettivo viene avviata un’ulteriore istanza on demand in base alla strategia di allocazione on demand, che in questo esempio è `lowest-price`.
+ 5 istanze on demand `m4.xlarge` in `us-east-1a` – `m4.xlarge` in `us-east-1a` è il prezzo più basso successivo, e ci sono 5 prenotazioni della capacità `m4.xlarge` disponibili inutilizzate
+ 5 istanze on demand `m4.2xlarge` in `us-east-1a` – `m4.2xlarge` in `us-east-1a` è il terzo prezzo più basso, e ci sono 5 prenotazioni della capacità `m4.2xlarge` disponibili inutilizzate

Dopo il lancio della flotta, puoi correre [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)a vedere quante prenotazioni di capacità non utilizzate sono rimaste. In questo esempio, dovresti vedere la seguente risposta, che mostra che tutti i Prenotazioni di capacità del pool sono stati utilizzati.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}

{
    "CapacityReservationId": "cr-222",
    "InstanceType": "m4.xlarge", 
    "AvailableInstanceCount": 0
}

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 0
}
```

## Esempio 6: Avvio di Istanze on demand utilizzando le prenotazioni della capacità obiettivo
<a name="ec2-fleet-config7"></a>

È possibile configurare un parco istanze affinché utilizzi prima le prenotazioni della capacità on demand `targeted` prima all’avvio di istanze on demand impostando la strategia di utilizzo per le prenotazioni della capacità su `use-capacity-reservations-first`. In questo esempio viene illustrato come avviare istanze on demand in prenotazione della capacità `targeted`, in cui gli attributi della prenotazione della capacità sono gli stessi ad eccezione delle relative zone di disponibilità (`us-east-1a` e `us-east-1b`). Viene inoltre illustrato come il parco istanze seleziona i pool di istanze in cui avviare le istanze on demand quando la capacità totale obiettivo supera il numero di prenotazioni della capacità inutilizzate disponibili.

In questo esempio, la configurazione del parco istanze è la seguente:
+ Capacità obiettivo: 10 istanze on demand
+ Prenotazioni della capacità `targeted` inutilizzate totali: 6 (meno della capacità obiettivo on demand del parco istanze di 10 istanze on demand)
+ Numero di prenotazioni della capacità per pool: 2 (`us-east-1a` e `us-east-1b`)
+ Numero di prenotazioni della capacità per pool: 3
+ Strategia di allocazione on demand: `lowest-price`. (Quando il numero di prenotazioni della capacità inutilizzate è inferiore alla capacità obiettivo on demand, il parco istanze determina i pool in cui avviare la capacità on demand rimanente in base alla strategia di allocazione on demand.)

  Tenere presente che è anche possibile utilizzare la strategia di allocazione `prioritized` invece della strategia di allocazione `lowest-price`.

Per una spiegazione passo per passo delle procedure che è necessario eseguire per riprodurre questo esempio, consultare [Tutorial: Configura un parco istanze EC2 per avviare istanze on demand utilizzando le prenotazioni della capacità obiettivo](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md).

**Prenotazioni di capacità**

L’account presenta le seguenti 6 prenotazioni della capacità inutilizzati in 2 diversi pool. In questo esempio, i pool differiscono per la zona di disponibilità. Il numero di Prenotazioni di capacità in ogni pool è indicato da `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1b", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Configurazione del parco istanze**

La seguente configurazione del parco istanze mostra solo le configurazioni pertinenti per questo esempio. La capacità obiettivo totale è 10 e il tipo di capacità obiettivo predefinito è `on-demand`. La strategia di allocazione on demand è `lowest-price`. La strategia di utilizzo per la prenotazione della capacità è `use-capacity-reservations-first`. 

In questo esempio, il prezzo dell’istanza on demand per `c5.xlarge` in `us-east-1` è 0,17 \$1 all’ora.

**Nota**  
Il tipo di parco istanze deve essere `instant`. Altri tipi di parchi istanze non supportano `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
               {
                   "InstanceType": "c5.xlarge",
                   "AvailabilityZone": "us-east-1a"
               },
               {
                    "InstanceType": "c5.xlarge",
                    "AvailabilityZone": "us-east-1b"
               }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
             "UsageStrategy": "use-capacity-reservations-first"
         }
    },
    "Type": "instant"
}
```

Dopo aver creato il parco istanze `instant` utilizzando la configurazione precedente, vengono avviate le seguenti 10 istanze per soddisfare la capacità obiettivo:
+ Le prenotazioni della capacità vengono prima utilizzate per avviare 6 istanze on demand nel modo seguente:
  + 3 istanze on demand vengono avviate in 3 prenotazioni della capacità `c5.xlarge` `targeted` in `us-east-1a`
  + 3 istanze on demand vengono avviate in 3 prenotazioni della capacità `c5.xlarge` `targeted` in `us-east-1b`
+ Per soddisfare la capacità obiettivo, vengono avviate 4 istanze on demand aggiuntive nella capacità on demand in base alla strategia di allocazione on demand che in questo esempio è `lowest-price`. Tuttavia, poiché i pool hanno lo stesso prezzo (poiché il prezzo è per Regione e non per zona di disponibilità), il parco istanze avvia le restanti 4 istanze on demand in uno dei pool.

Dopo il lancio della flotta, puoi correre [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)a vedere quante prenotazioni di capacità non utilizzate sono rimaste. In questo esempio, dovresti vedere la seguente risposta, che mostra che tutti i Prenotazioni di capacità del pool sono stati utilizzati.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "c5.xlarge",  
    "AvailableInstanceCount": 0
}

{
    "CapacityReservationId": "cr-222",
    "InstanceType": "c5.xlarge", 
    "AvailableInstanceCount": 0
}
```

## Esempio 7: Configurare il ribilanciamento della capacità per avviare la sostituzione delle istanze spot
<a name="ec2-fleet-config8"></a>

Nell’esempio seguente viene configurato EC2 Fleet affinché avvii un’istanza spot sostitutiva quando Amazon EC2 emette un suggerimento di ribilanciamento per un’istanza spot del parco istanze. Per configurare la sostituzione automatica delle istanze spot, per `ReplacementStrategy`, specificare `launch-before-terminate`. Per configurare il ritardo temporale dal momento in cui vengono avviate le nuove istanze spot sostitutive a quando le vecchie istanze spot vengono eliminate automaticamente, per `termination-delay`, specificare un valore in secondi. Per ulteriori informazioni, consulta [Opzioni di configurazione](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**Nota**  
Si consiglia di utilizzare `launch-before-terminate` solo se è possibile prevedere il tempo necessario per il completamento delle procedure di arresto dell’istanza in modo che le vecchie istanze vengano terminate solo dopo il completamento di queste procedure. Saranno addebitati i costi per entrambe le istanze durante la loro esecuzione.

L’efficacia della strategia di ribilanciamento della capacità dipende dal numero di pool di capacità spot specificati nella richiesta parco istanze EC2. Si consiglia di configurare il parco istanze con un insieme diversificato di tipi di istanza e zone di disponibilità e per `AllocationStrategy`, specificare `capacity-optimized`. Per ulteriori informazioni sugli aspetti da considerare durante la configurazione di un parco istanze EC2 per il ribilanciamento della capacità, consulta [Utilizza il ribilanciamento della capacità nel parco istanze EC2 e nel parco istanze spot per sostituire le istanze spot a rischio](ec2-fleet-capacity-rebalance.md).

```
{
    "ExcessCapacityTerminationPolicy": "termination",
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "LaunchTemplate",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5,
        "DefaultTargetCapacityType": "spot"
    },
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "MaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Esempio 8: Avviare le istanze spot in un parco istanze ottimizzato per la capacità
<a name="ec2-fleet-config9"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 con una strategia di allocazione spot che ottimizza la capacità. Per ottimizzare la capacità, è necessario impostare `AllocationStrategy` su `capacity-optimized`.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"

    }
}
```

## Esempio 9: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità
<a name="ec2-fleet-config10"></a>

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

Quando si utilizza la strategia di allocazione `capacity-optimized-prioritized`, è possibile utilizzare il parametro `Priority` per specificare le priorità dei pool di capacità spot, dove a un numero inferiore corrisponde la priorità più alta. È inoltre possibile impostare la stessa priorità per diversi pool di capacità spot, se si preferisce non applicare priorità differenti. Se non si imposta una priorità per un pool, il pool verrà considerato ultimo in termini di priorità.

Per assegnare priorità ai pool di capacità spot, è necessario impostare `AllocationStrategy` su `capacity-optimized-prioritized`. Il parco istanze EC2 ottimizzerà innanzitutto la capacità, ma rispetterà le priorità sulla base del miglior tentativo (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità del parco istanze EC2 di fornire capacità ottimale). Questa è una buona opzione per i carichi di lavoro in cui è necessario ridurre al minimo la possibilità di interruzioni e la preferenza per determinati tipi di istanza è importante.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. Ogni pool ha una priorità, dove a un numero inferiore corrisponde la priorità più alta. La capacità obiettivo è di 50 Istanze spot. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con la priorità più alta sulla base del miglior tentativo, ma prima ottimizza la capacità.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized-prioritized"
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                        {
                           "InstanceType": "r4.2xlarge",    
                           "Priority": 1,
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                  ] 
             }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"
}
```

## Esempio 10: avviare istanze Spot in un parco istanze price-capacity-optimized
<a name="ec2-fleet-config11"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 con una strategia di allocazione spot che ottimizza sia la capacità sia il prezzo più basso. Per ottimizzare la capacità tenendo conto del prezzo, è necessario impostare la `AllocationStrategy` spot su `price-capacity-optimized`.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando, scegliendo al contempo il pool con il prezzo più basso.

```
{
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized",
        "MinTargetCapacity": 2,
        "SingleInstanceType": true
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 50,
        "OnDemandTargetCapacity":0,
        "SpotTargetCapacity":50,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

## Esempio 11: configurazione della selezione del tipo di istanza basata su attributi
<a name="ec2-fleet-config12"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze EC2 in modo da utilizzare la selezione del tipo di istanza basata su attributi per identificare i tipi di istanza. Per specificare gli attributi di istanza richiesti, specifica gli attributi nella struttura `InstanceRequirements`.

Nell’esempio precedente, vengono specificati due attributi di istanza:
+ `VCpuCount`— È specificato un minimo di 2 vCPUs . Poiché non è specificato alcun massimo, non esiste un limite massimo.
+ `MemoryMiB`: viene specificato un minimo di 4 MiB di memoria. Poiché non è specificato alcun massimo, non esiste un limite massimo.

Verranno identificati tutti i tipi di istanza con 2 o più v CPUs e 4 MiB o più di memoria. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando il [parco istanze EC2 alloca le istanze](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Per un elenco e le descrizioni di tutti i possibili attributi che puoi specificare, consulta [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)*Amazon EC2 API* Reference.

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

# Configurazioni CLI di esempi per parco istanze spot
<a name="spot-fleet-examples"></a>

Puoi definire la configurazione di Spot Fleet in un file JSON e quindi fare riferimento a quel file utilizzando il [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) AWS CLI comando per creare la tua flotta, come segue:

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://file_name.json
```

I seguenti esempi illustrano le configurazioni di avvio per vari casi d’uso del parco istanze spot. Per ulteriori informazioni sui parametri di configurazione, consulta [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html). Per ulteriori informazioni sulla creazione del parco istanze spot, consulta [Creazione di un parco istanze Spot](create-spot-fleet.md).

**Nota**  
Per parco istanze spot, non è possibile specificare un ID di interfaccia di rete in un modello di avvio o in una specifica di avvio. Assicurati di omettere il parametro `NetworkInterfaceID` ne modello di avvio o nella specifica di avvio.

**Topics**
+ [

## Esempio 1: Avvia le Istanze spot utilizzando la zona di disponibilità con il prezzo più basso nella regione
](#fleet-config1)
+ [

## Esempio 2: Avvia le Istanze spot utilizzando la zona di disponibilità con il prezzo più basso da un elenco
](#fleet-config2)
+ [

## Esempio 3: Avvia le Istanze spot utilizzando il tipo di istanza con il prezzo più basso da un elenco
](#fleet-config3)
+ [

## Esempio 4. Sostituire il prezzo per la richiesta.
](#fleet-config4)
+ [

## Esempio 5: Avvia un parco istanze spot utilizzando la strategia di allocazione diversificata
](#fleet-config5)
+ [

## Esempio 6: Avvia un parco istanze spot utilizzando la ponderazione di istanza
](#fleet-config6)
+ [

## Esempio 7: Avvia un parco istanze spot usando la capacità on demand
](#fleet-config7)
+ [

## Esempio 8: Configura il ribilanciamento della capacità per avviare la sostituzione delle istanze spot
](#fleet-config8)
+ [

## Esempio 9: Avvia le istanze spot in un parco istanze ottimizzato per la capacità
](#fleet-config9)
+ [

## Esempio 10: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità
](#fleet-config10)
+ [

## Esempio 11: Avvia le istanze spot in un parco istanze priceCapacityOptimized
](#fleet-config11)
+ [

## Esempio 12: configurazione della selezione del tipo di istanza basata su attributi
](#fleet-config12)

## Esempio 1: Avvia le Istanze spot utilizzando la zona di disponibilità con il prezzo più basso nella regione
<a name="fleet-config1"></a>

L’esempio seguente indica una specifica di avvio singola senza una zona di disponibilità o una sottorete. Il parco istanze spot avvia le istanze nella zona di disponibilità con il prezzo più basso che ha una sottorete predefinita. Il prezzo che si paga non supera quello on-demand.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

## Esempio 2: Avvia le Istanze spot utilizzando la zona di disponibilità con il prezzo più basso da un elenco
<a name="fleet-config2"></a>

Gli esempi seguenti indicano due specifiche di avvio con zone di disponibilità o sottoreti diverse, ma con tipo di istanza e AMI uguali.

**Zone di disponibilità**

Il parco istanze spot avvia le istanze nella sottorete predefinita della zona di disponibilità specificata.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "Placement": {
              "AvailabilityZone": "us-west-2a, us-west-2b"
          },
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

**Sottoreti**

È possibile specificare sottoreti predefinite o sottoreti non predefinite. Queste ultime possono essere da un VPC predefinito o da un VPC non predefinito. Il servizio Spot avvia le istanze in qualsiasi sottorete si trovi nella zona di disponibilità con il prezzo più basso.

Non è possibile specificare sottoreti diverse dalla stessa zona di disponibilità in una richiesta di parco istanze spot.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "SubnetId": "subnet-a61dafcf, subnet-65ea5f08",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

Se le istanze vengono avviate in un VPC predefinito, per impostazione predefinita ricevono un indirizzo IPv4 pubblico. Se le istanze vengono avviate in un VPC non predefinito, per impostazione predefinita non ricevono un indirizzo pubblico IPv4 . Utilizza un'interfaccia di rete nella specifica di avvio per assegnare un IPv4 indirizzo pubblico alle istanze avviate in un VPC non predefinito. Quando si specifica un’interfaccia di rete, bisogna includere l’ID della sottorete e l’ID del gruppo di sicurezza utilizzando l’interfaccia di rete.

```
  ...       
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "InstanceType": "m3.medium",
          "NetworkInterfaces": [
              {
                  "DeviceIndex": 0,
                  "SubnetId": "subnet-1a2b3c4d",
                  "Groups": [ "sg-1a2b3c4d" ],
                  "AssociatePublicIpAddress": true
              }
          ],
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ...
```

## Esempio 3: Avvia le Istanze spot utilizzando il tipo di istanza con il prezzo più basso da un elenco
<a name="fleet-config3"></a>

Gli esempi seguenti indicano due configurazioni di avvio con tipi di istanza diversi, ma con AMI e zona di disponibilità o sottorete uguali. Il parco istanze spot avvia le istanze utilizzando il tipo di istanza specificato con il prezzo più basso.

**Zona di disponibilità**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "Placement": {
            "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Sottorete**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Esempio 4. Sostituire il prezzo per la richiesta.
<a name="fleet-config4"></a>

Consigliamo di utilizzare il prezzo massimo predefinito, ossia il prezzo on-demand. Se si preferisce, è possibile specificare un prezzo massimo per la richiesta del parco istanze e dei prezzi massimi per le specifiche di avvio singole.

Gli esempi seguenti specificano un prezzo massimo per la richiesta del parco istanze e dei prezzi massimi per due delle tre specifiche di avvio. Il prezzo massimo per la richiesta del parco istanze viene utilizzata per ogni specifica di avvio che non indica un prezzo massimo. Il parco istanze spot avvia le istanze utilizzando il tipo di istanza con il prezzo più basso.

**Zona di disponibilità**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
    ]
}
```

**Sottorete**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Esempio 5: Avvia un parco istanze spot utilizzando la strategia di allocazione diversificata
<a name="fleet-config5"></a>

L’esempio seguente utilizza la strategia di allocazione `diversified`. Le specifiche di avvio hanno tipi di istanza diversi ma AMI e zona di disponibilità o sottorete uguali. Il parco istanze spot distribuisce le 30 istanze tra le tre specifiche di avvio, in modo che ci siano 10 istanze di ogni tipo. Per ulteriori informazioni, consulta [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).

**Zona di disponibilità**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Sottorete**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        }
    ]
}
```

Una best practice per aumentare la possibilità che una richiesta spot venga soddisfatta dalla capacità EC2 nel caso si verifichi un’interruzione in una delle zone di disponibilità è diversificare e varie zone. Per questo scenario, includi ogni zona di disponibilità che hai a disposizione nella specifica di avvio. E, invece di utilizzare la stessa sottorete ogni volta, utilizza tre sottoreti univoche (ognuna che mappa a una zona diversa). 

**Zona di disponibilità**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2a"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2c"
          }
      }
  ]
}
```

**Sottorete**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-2a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-3a2b3c4d"
        }
    ]
}
```

## Esempio 6: Avvia un parco istanze spot utilizzando la ponderazione di istanza
<a name="fleet-config6"></a>

Gli esempi seguenti utilizzano la ponderazione d’istanza, il che significa che il prezzo è all’ora per unità anziché all’ora per istanza. Ogni configurazione di avvio elenca un tipo di istanza diverso e un peso diverso. Il parco istanze spot seleziona il tipo di istanza con il prezzo più basso all’ora per unità. Il parco istanze spot calcola il numero di istanze spot da avviare dividendo la capacità obiettivo per il peso dell’istanza. Se il risultato non è un numero intero, il Parco istanze spot lo arrotonda al numero intero successivo, in modo che la dimensione del parco istanze non sia inferiore alla sua capacità obiettivo.

Se la richiesta `r3.2xlarge` va a buon fine, lo Spot assegna 4 di queste istanze. Dividere 20 per 6 per un totale di 3,33 istanze, quindi arrotondare fino a 4 istanze.

Se la richiesta `c3.xlarge` va a buon fine, lo Spot assegna 7 di queste istanze. Dividere 20 per 3 per un totale di 6,66 istanze, quindi arrotondare fino a 7 istanze.

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

**Zona di disponibilità**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 3
      }
    ]
}
```

**Sottorete**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 3
      }
  ]
}
```

## Esempio 7: Avvia un parco istanze spot usando la capacità on demand
<a name="fleet-config7"></a>

Per assicurarsi di avere sempre capacità di istanza, è possibile includere una richiesta di capacità on demand nella richiesta del Parco istanze spot. La richiesta on-demand viene sempre soddisfatta se c’è capacità, mentre il saldo della capacità target viene soddisfatto come Spot se ci sono capacità e disponibilità.

L’esempio seguente specifica la capacità di destinazione desiderata come 10, di cui 5 deve essere capacità on-demand. La capacità spot non è specificata; è implicita nel rapporto tra la capacità obiettivo meno la capacità on demand. Amazon EC2 avvia 5 unità di capacità come on demand e 5 unità di capacità (10-5=5) come Spot se ci sono capacità e disponibilità Amazon EC2. 

```
{
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "AllocationStrategy": "lowestPrice",
  "TargetCapacity": 10,
  "SpotPrice": null,
  "ValidFrom": "2018-04-04T15:58:13Z",
  "ValidUntil": "2019-04-04T15:58:13Z",
  "TerminateInstancesWithExpiration": true,
  "LaunchSpecifications": [],
  "Type": "maintain",
  "OnDemandTargetCapacity": 5,
  "LaunchTemplateConfigs": [
    {
      "LaunchTemplateSpecification": {
        "LaunchTemplateId": "lt-0dbb04d4a6cca5ad1",
        "Version": "2"
      },
      "Overrides": [
        {
          "InstanceType": "t2.medium",
          "WeightedCapacity": 1,
          "SubnetId": "subnet-d0dc51fb"
        }
      ]
    }
  ]
}
```

## Esempio 8: Configura il ribilanciamento della capacità per avviare la sostituzione delle istanze spot
<a name="fleet-config8"></a>

Nell’esempio seguente viene configurato il parco istanze spot affinché avvii un’istanza spot sostitutiva quando Amazon EC2 emette un suggerimento di ribilanciamento per un’istanza spot del parco istanze. Per configurare la sostituzione automatica delle istanze spot, per `ReplacementStrategy`, specificare `launch-before-terminate`. Per configurare il ritardo temporale dal momento in cui vengono avviate le nuove istanze spot sostitutive a quando le vecchie istanze spot vengono eliminate automaticamente, per `termination-delay`, specificare un valore in secondi. Per ulteriori informazioni, consulta [Opzioni di configurazione](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**Nota**  
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. Saranno addebitati i costi per entrambe le istanze durante la loro esecuzione.

L’efficacia della strategia di ribilanciamento della capacità dipende dal numero di pool di istanze spot specificati nella richiesta del parco istanze spot. Si consiglia di configurare il parco istanze con un insieme diversificato di tipi di istanza e zone di disponibilità e per `AllocationStrategy`, specificare `capacityOptimized`. Per ulteriori informazioni sugli aspetti da considerare durante la configurazione di una serie di istanze spot per il ribilanciamento della capacità, consulta [Utilizza il ribilanciamento della capacità nel parco istanze EC2 e nel parco istanze spot per sostituire le istanze spot a rischio](ec2-fleet-capacity-rebalance.md).

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "LaunchTemplate",
                    "Version": "1"
                },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
        "TargetCapacity": 5,
        "SpotMaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Esempio 9: Avvia le istanze spot in un parco istanze ottimizzato per la capacità
<a name="fleet-config9"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze spot con una strategia di allocazione spot che ottimizza la capacità. Per ottimizzare la capacità, è necessario impostare `AllocationStrategy` su `capacityOptimized`.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. Il parco istanze spot tenta di avviare 50 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",  
                    "AvailabilityZone": "us-west-2a"
                },
                {
                    "InstanceType": "m4.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }, 
                {
                    "InstanceType": "c5.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Esempio 10: Avviare le istanze spot in un parco istanze ottimizzato per la capacità con priorità
<a name="fleet-config10"></a>

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

Quando si utilizza la strategia di allocazione `capacityOptimizedPrioritized`, è possibile utilizzare il parametro `Priority` per specificare le priorità dei pool di capacità spot, dove a un numero inferiore corrisponde la priorità più alta. È inoltre possibile impostare la stessa priorità per diversi pool di capacità spot, se si preferisce non applicare priorità differenti. Se non si imposta una priorità per un pool, il pool verrà considerato ultimo in termini di priorità.

Per assegnare priorità ai pool di capacità spot, è necessario impostare `AllocationStrategy` su `capacityOptimizedPrioritized`. Il parco istanze spot ottimizzerà innanzitutto la capacità, ma rispetterà le priorità sulla base del miglior tentativo (ad esempio, se il rispetto delle priorità non influirà in modo significativo sulla capacità del parco istanze spot di fornire capacità ottimale). Questa è una buona opzione per i carichi di lavoro in cui è necessario ridurre al minimo la possibilità di interruzioni e la preferenza per determinati tipi di istanza è importante.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. Ogni pool ha una priorità, dove a un numero inferiore corrisponde la priorità più alta. La capacità obiettivo è di 50 Istanze spot. Il parco istanze EC2 tenta di avviare 50 istanze spot nel pool di capacità spot con la priorità più alta sulla base del miglior tentativo, ma prima ottimizza la capacità.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimizedPrioritized"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",    
                   "Priority": 1,
                    "AvailabilityZone": "us-west-2a"
                },
                {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "AvailabilityZone": "us-west-2b"
                }, 
                {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Esempio 11: Avvia le istanze spot in un parco istanze priceCapacityOptimized
<a name="fleet-config11"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze spot con una strategia di allocazione spot che ottimizza sia la capacità sia il prezzo più basso. Per ottimizzare la capacità tenendo conto del prezzo, è necessario impostare la `AllocationStrategy` spot su `priceCapacityOptimized`.

Nell’esempio seguente, le tre specifiche di avvio specificano tre pool di capacità spot. La capacità obiettivo è di 50 Istanze spot. Il parco istanze spot tenta di avviare 50 istanze spot nel pool di capacità spot con capacità ottimale per il numero di istanze che si stanno avviando, scegliendo al contempo il pool con il prezzo più basso.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "OnDemandAllocationStrategy": "lowestPrice",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111111111111:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": [
                     {
                           "InstanceType": "r4.2xlarge",  
                           "AvailabilityZone": "us-west-2a"
                      },
                      {
                           "InstanceType": "m4.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }, 
                      {
                           "InstanceType": "c5.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }
                ]
            }
        ],
        "TargetCapacity": 50,
        "Type": "request"
    }
}
```

## Esempio 12: configurazione della selezione del tipo di istanza basata su attributi
<a name="fleet-config12"></a>

Nell’esempio seguente viene illustrato come configurare un parco istanze spot in modo da utilizzare la selezione del tipo di istanza basata su attributi per identificare i tipi di istanza. Per specificare gli attributi di istanza richiesti, specifica gli attributi nella struttura `InstanceRequirements`.

Nell’esempio precedente, vengono specificati due attributi di istanza:
+ `VCpuCount`— È specificato un minimo di 2 v. CPUs Poiché non è specificato alcun massimo, non esiste un limite massimo.
+ `MemoryMiB`: viene specificato un minimo di 4 MiB di memoria. Poiché non è specificato alcun massimo, non esiste un limite massimo.

Verranno identificati tutti i tipi di istanza con 2 o più v CPUs e 4 MiB o più di memoria. Tuttavia, la protezione dei prezzi e la strategia di allocazione potrebbero escludere alcuni tipi di istanze quando il [parco istanze spot alloca le istanze](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Per un elenco e le descrizioni di tutti i possibili attributi che puoi specificare, consulta [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)*Amazon EC2 API* Reference.

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

# Quote per il parco istanze EC2 e il parco istanze spot
<a name="fleet-quotas"></a>

Your Account AWS ha delle quote predefinite, precedentemente denominate limiti, per ogni servizio. AWS Salvo diversa indicazione, ogni quota si applica a una Regione specifica.

Alle istanze avviate da un parco istanze EC2 o da un parco istanze spot si applicano le consuete quote di Amazon EC2, ad esempio [limiti di istanze spot](using-spot-limits.md) e [limiti di volume](volume_limits.md).

Inoltre, hai le Account AWS seguenti quote relative a EC2 Fleet e Spot Fleet:


****  

| Descrizione della quota | Quota | 
| --- | --- | 
| Il numero di parchi istanze EC2 e di parchi istanze Spot per regione di tipo maintain e request negli stati active, deleted\$1running e cancelled\$1running | 1.000 ¹ ² ³ | 
| Il numero di parchi istanze EC2 di tipo instant | Illimitato | 
| Il numero di pool di capacità spot (combinazione univoca di tipo di istanza e sottorete) per i parchi istanze EC2 e i parchi istanze spot di tipo maintain e request | 300 ¹ | 
| Il numero di pool di capacità spot (combinazione univoca di tipo di istanza e sottorete) per i parchi istanze EC2 di tipo instant | Illimitato | 
| La dimensione dei dati utente in una specifica di avvio | 16 KB ² | 
| La capacità obiettivo per il parco istanze EC2 o la serie di istanze Spot | 10.000 | 
| La capacità obiettivo per tutti i parchi istanze EC2 e le serie di istanze Spot in una regione | 100.000 ¹ | 
|  Una richiesta di parco istanze EC2 o una richiesta di parco istanze spot non può comprendere Regioni diverse.  |  | 
| Una richiesta di parco istanze EC2 o una richiesta di parco istanze spot non può comprendere sottoreti diverse della stessa zona di disponibilità. |  | 

¹ Queste quote si applicano ai parchi istanze EC2 e alle serie di istanze Spot.

² Tali quote sono rigide. Non puoi richiedere l’aumento di queste quote.

³ Dopo aver eliminato un parco istanze EC2 o annullato una richiesta di serie di istanze Spot, e se hai specificato che il parco istanze *non* deve terminare le istanze spot quando hai eliminato o annullato la richiesta, la richiesta del parco istanze entra nello stato `deleted_running` (parco istanze EC2) o `cancelled_running` (serie di istanze Spot) e l’esecuzione delle istanze continua finché non viene interrotta o terminata manualmente. Se termini le istanze, la richiesta del parco istanze assume lo stato `deleted_terminating` (parco istanze EC2) o `cancelled_terminating` (serie di istanze Spot) e non conta ai fini di questa quota. Per ulteriori informazioni, consultare [Eliminazione di una richiesta del parco istanze EC2 e delle istanze nel parco istanze](delete-fleet.md) e [Annullare (eliminare) una richiesta di parco istanze spot](cancel-spot-fleet.md).

## Richiesta di un aumento della quota per la capacità obiettivo
<a name="fleet-quota-increase-request"></a>

Se hai bisogno di estendere la quota di default per la capacità obiettivo, puoi richiedere un aumento della quota.

**Come richiedere un aumento della quota per la capacità obiettivo**

1. Apri il modulo Supporto Center [Create case](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-fleet).

1. Selezionare **Service limit increase (Aumento limiti del servizio)**.

1. In **Limit type** (Tipo di limite), scegli **EC2 Fleet** (parco istanze EC2).

1. Per **Regione**, scegli la AWS regione in cui richiedere l'aumento della quota.

1. In **Limit** (Limite), scegli **Target Fleet Capacity per Fleet (in units)** (Capacità del parco istanze di destinazione per parco istanze [in unità]) oppure **Target Fleet Capacity per Region (in units)** (Capacità del parco istanze di destinazione per regione [in unità]), a seconda della quota che desideri aumentare.

1. In **New limit value** (Nuovo valore limite), inserisci il valore della nuova quota.

1. Per richiedere un aumento per un’altra quota, scegli **Add another request** (Aggiungi un’altra richiesta) e ripeti i passaggi da 4 a 6.

1. In **Use case description** (Descrizione del caso d’uso), inserisci il motivo della richiesta di aumento della quota.

1. In **Contact options** (Opzioni di contatto), specifica la lingua e il metodo di contatto preferiti.

1. Seleziona **Invia**.