

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

# 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": ""
}
```