

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

# Calcolo del punteggio di posizionamento spot
<a name="work-with-spot-placement-score"></a>

Puoi calcolare un punteggio di posizionamento spot in base alla capacità di destinazione e ai requisiti di calcolo. Per ulteriori informazioni, consulta [Come funziona il punteggio di posizionamento spot](how-sps-works.md).

**Autorizzazioni richieste**  
Assicurati di disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta [Autorizzazioni necessarie per il punteggio di posizionamento spot](sps-iam-permission.md).

**Topics**
+ [Calcolo utilizzando gli attributi dell'istanza](#sps-specify-instance-attributes-console)
+ [Calcolo utilizzando i tipi di istanza](#sps-specify-instance-types-console)
+ [Calcola usando AWS CLI](#calculate-sps-cli)

**Cerchi una soluzione automatizzata?** Invece di seguire i passaggi manuali di questa guida per l'utente, puoi creare una dashboard di monitoraggio dei punteggi di posizionamento Spot che acquisisca e memorizzi automaticamente i punteggi in Amazon. CloudWatch Per ulteriori informazioni, consulta [Guidance for Building a Spot Placement Score Tracker Dashboard on AWS](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/).

## Calcolo utilizzando gli attributi dell'istanza
<a name="sps-specify-instance-attributes-console"></a>

**Come calcolare un punteggio di posizionamento spot specificando gli attributi di istanza**

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. Scegli la freccia rivolta verso il basso accanto a **Richiedi istanze spot** e quindi **Calcola punteggio di posizionamento spot**.

1. Scegliere **Enter requirements (Inserisci i requisiti)**.

1. Per **Capacità target**, inserisci la capacità desiderata in termini di numero di **istanze** o **v CPUs** o quantità di **memoria (MiB)**.

1. Per **Instance type requirements (Requisiti per il tipo di istanza)**, per specificare i requisiti di calcolo e consentire ad Amazon EC2 di identificare i tipi di istanza ottimali con questi requisiti, 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. Per **Architettura della CPU**, seleziona l'architettura dell'istanza desiderata.

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 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 che i tipi di istanza vengano utilizzati nella valutazione del posizionamento, selezionare le istanze e quindi scegliere**Escludi tipi di istanze**.

1. Scegliere **Load placement scores (Carica punteggi di posizionamento)** e controllare i risultati.

1. (Facoltativo) Per visualizzare il punteggio di posizionamento spot per regioni specifiche, per **Regions to evaluate (Regioni da valutare)**, selezionare le regioni da valutare, quindi scegliere **Calculate placement scores (Calcola punteggi di posizionamento)**.

1. (Facoltativo) Per visualizzare il punteggio di posizionamento spot per le zone di disponibilità nelle regioni visualizzate, seleziona la casella di controllo **Fornisci punteggi di posizionamento per zona di disponibilità**. Un elenco delle zone di disponibilità con punteggio è utile se si desidera avviare tutta la tua capacità spot in una singola zona di disponibilità.

1. (Facoltativo) Per modificare i requisiti di calcolo e ottenere un nuovo punteggio di posizionamento, scegliere **Edit (Modifica)**, apportare le modifiche necessarie e quindi scegliere **Calculate placement scores (Calcola punteggi di posizionamento)**.

## Calcolo utilizzando i tipi di istanza
<a name="sps-specify-instance-types-console"></a>

**Come calcolare un punteggio di posizionamento spot specificando i tipi di istanza**

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. Scegli la freccia rivolta verso il basso accanto a **Richiedi istanze spot** e quindi **Calcola punteggio di posizionamento spot**.

1. Scegliere **Enter requirements (Inserisci i requisiti)**.

1. Per **Capacità target**, inserisci la capacità desiderata in termini di numero di **istanze** o **v CPUs** o quantità di **memoria (MiB)**.

1. Per **Instance type requirements (Requisiti del tipo di istanza)**, per specificare i tipi di istanza da utilizzare, scegliere **Manually select instance types (Seleziona manualmente i tipi di istanza)**.

1. Scegliere **Select instance types (Seleziona tipi di istanza)**, selezionare i tipi di istanza da utilizzare e quindi scegliere **Select (Seleziona)**. Per trovare rapidamente i tipi di istanza, è possibile utilizzare la barra del filtro per filtrare i tipi di istanza in base a proprietà diverse.

1. Scegliere **Carica punteggi di posizionamento** e controllare i risultati.

1. (Facoltativo) Per visualizzare il punteggio di posizionamento spot per regioni specifiche, per **Regions to evaluate (Regioni da valutare)**, selezionare le regioni da valutare, quindi scegliere **Calculate placement scores (Calcola punteggi di posizionamento)**.

1. (Facoltativo) Per visualizzare il punteggio di posizionamento spot per le zone di disponibilità nelle regioni visualizzate, seleziona la casella di controllo **Fornisci punteggi di posizionamento per zona di disponibilità**. Un elenco delle zone di disponibilità con punteggio è utile se si desidera avviare tutta la tua capacità spot in una singola zona di disponibilità.

1. (Facoltativo) Per modificare l'elenco dei tipi di istanze e ottenere un nuovo punteggio di posizionamento, scegliere **Edit (Modifica)**, apportare le modifiche necessarie e quindi scegliere **Calculate placement scores (Calcola punteggi di posizionamento)**.

## Calcola usando AWS CLI
<a name="calculate-sps-cli"></a>

**Come calcolare il punteggio di posizionamento spot**

1. (Facoltativo) Per generare tutti i possibili parametri che possono essere specificati per la configurazione del punteggio di posizionamento Spot, utilizzate il [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)comando e il `--generate-cli-skeleton` parametro.

   ```
   aws ec2 get-spot-placement-scores \
       --region {{us-east-1}} \
       --generate-cli-skeleton
   ```

   Di seguito è riportato un output di esempio.

   ```
   {
       "InstanceTypes": [
           ""
       ],
       "TargetCapacity": 0,
       "TargetCapacityUnitType": "vcpu",
       "SingleAvailabilityZone": true,
       "RegionNames": [
           ""
       ],
       "InstanceRequirementsWithMetadata": {
           "ArchitectureTypes": [
               "x86_64_mac"
           ],
           "VirtualizationTypes": [
               "hvm"
           ],
           "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": "excluded",
               "BurstablePerformance": "excluded",
               "RequireHibernateSupport": true,
               "NetworkInterfaceCount": {
                   "Min": 0,
                   "Max": 0
               },
               "LocalStorage": "included",
               "LocalStorageTypes": [
                   "hdd"
               ],
               "TotalLocalStorageGB": {
                   "Min": 0.0,
                   "Max": 0.0
               },
               "BaselineEbsBandwidthMbps": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorTypes": [
                   "fpga"
               ],
               "AcceleratorCount": {
                   "Min": 0,
                   "Max": 0
               },
               "AcceleratorManufacturers": [
                   "amd"
               ],
               "AcceleratorNames": [
                   "vu9p"
               ],
               "AcceleratorTotalMemoryMiB": {
                   "Min": 0,
                   "Max": 0
               }
           }
       },
       "DryRun": true,
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. Creare un file di configurazione JSON utilizzando l’output del passaggio precedente e configurarlo come segue:

   1. Ad esempio`TargetCapacity`, inserisci la capacità Spot desiderata in termini di numero di istanze o v CPUs o quantità di memoria (MiB).

   1. Per `TargetCapacityUnitType`, inserire l'unità per la capacità di destinazione. Se si omette questo parametro, verrà utilizzato il parametro di default `units`.

      Valori validi: `units` (che si traduce in numero di istanze) \| `vcpu` \| `memory-mib`

   1. Per `SingleAvailabilityZone`, specificare `true` per una risposta che restituisce un elenco di zone di disponibilità con punteggio. Un elenco delle zone di disponibilità con punteggio è utile se si desidera avviare tutta la tua capacità spot in una singola zona di disponibilità. Se si omette questo parametro, verrà utilizzato il parametro di default `false` e la risposta restituirà un elenco di regioni con punteggio.

   1. (Facoltativo) Per `RegionNames`, specificare le regioni da utilizzare come filtro. È necessario specificare il codice regione, ad esempio, `us-east-1`.

      Con un filtro regione, la risposta restituisce solo le regioni specificate. Se si è specificato `true` per `SingleAvailabilityZone`, la risposta restituisce solo le zone di disponibilità nelle regioni specificate.

   1. È possibile includere `InstanceTypes` o `InstanceRequirements`, ma non entrambi nella stessa configurazione.

      Specificare una delle seguenti opzioni nella configurazione JSON:
      + Per specificare un elenco di tipi di istanze, specificare i tipi di istanza nel parametro `InstanceTypes`. Specificare almeno tre tipi di istanza diversi. Se si specificano solo uno o due tipi di istanza, il punteggio di posizionamento spot sarà un punteggio basso. Per l'elenco dei tipi di istanza, consultare [Tipi di istanza di Amazon EC2](https://aws.amazon.com/ec2/instance-types/).
      + Per specificare gli attributi dell'istanza in modo che Amazon EC2 identifichi i tipi di istanza che corrispondono a tali attributi, specificare gli attributi che si trovano nella struttura `InstanceRequirements`.

        È necessario fornire valori per `VCpuCount`, `MemoryMiB` e `CpuManufacturers`. È 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. [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)

      Per gli esempi di configurazione, consulta [Configurazioni di esempio](#sps-example-configs).

1. Per ottenere il punteggio di posizionamento Spot per i requisiti specificati nel file JSON, utilizzate il [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)comando e specificate il nome e il percorso del file JSON utilizzando il `--cli-input-json` parametro.

   ```
   aws ec2 get-spot-placement-scores \
       --region {{us-east-1}} \
       --cli-input-json file://{{file_name}}.json
   ```

   Output di esempio se `SingleAvailabilityZone` è impostato su `false` oppure omesso (se omesso, viene utilizzato il valore predefinito `false`): viene restituito un elenco di Regioni con punteggio.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "Score": 7
       },
       {
           "Region": "us-west-1",
           "Score": 5
       },  
      ...
   ```

   Output di esempio se `SingleAvailabilityZone` è impostato su `true`: viene restituito un elenco di zone di disponibilità con punteggio.

   ```
   "SpotPlacementScores": [
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "use1-az1",
           "Score": 8
       },
       {
           "Region": "us-east-1",
           "AvailabilityZoneId": "usw2-az3",
           "Score": 6
       },
      ...
   ```

### Configurazioni di esempio
<a name="sps-example-configs"></a>

Quando si utilizza AWS CLI, è possibile utilizzare le seguenti configurazioni di esempio.

**Topics**
+ [Esempio: specifica dei tipi di istanza e della capacità di destinazione](#example-config-instance-type-override)
+ [Esempio: specifica dei tipi di istanza e della capacità di destinazione in termini di memoria](#example-config-instance-type-memory-unit-override)
+ [Esempio: specifica degli attributi per la selezione del tipo di istanza basata su attributi](#example-config-attribute-based-instance-type-selection)
+ [Esempio: specifica degli attributi per la selezione del tipo di istanza basata su attributi e restituzione di un elenco di zone di disponibilità con punteggio](#example-config-sps-singleAZ)

#### Esempio: specifica dei tipi di istanza e della capacità di destinazione
<a name="example-config-instance-type-override"></a>

La configurazione di esempio seguente specifica tre diversi tipi di istanza e una capacità spot di destinazione di 500 istanze spot.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500
}
```

#### Esempio: specifica dei tipi di istanza e della capacità di destinazione in termini di memoria
<a name="example-config-instance-type-memory-unit-override"></a>

Il seguente esempio di configurazione specifica tre diversi tipi di istanza e una capacità spot di destinazione di 500.000 MiB di memoria, in cui il numero di istanze spot da avviare deve fornire un totale di 500.000 MiB di memoria.

```
{
    "InstanceTypes": [
        "m5.4xlarge",
        "r5.2xlarge",
        "m4.4xlarge"
    ], 
    "TargetCapacity": 500000,
    "TargetCapacityUnitType": "memory-mib"
}
```

#### Esempio: specifica degli attributi per la selezione del tipo di istanza basata su attributi
<a name="example-config-attribute-based-instance-type-selection"></a>

La seguente configurazione di esempio è configurata per la selezione del tipo di istanza basata su attributi ed è seguita da una spiegazione della configurazione di esempio.

```
{
    "TargetCapacity": 5000,
    "TargetCapacityUnitType": "vcpu",
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```

****`InstanceRequirementsWithMetadata`****  
Per utilizzare la selezione dell'istanza basata su attributi, è necessario includere la struttura `InstanceRequirementsWithMetadata` nella configurazione e specificare gli attributi desiderati per le istanze spot.

Nell'esempio precedente, vengono specificati i seguenti attributi di istanza:
+ `ArchitectureTypes`: il tipo di architettura dei tipi di istanza deve essere `arm64`.
+ `VirtualizationTypes`: il tipo di virtualizzazione dei tipi di istanza deve essere `hvm`.
+ `VCpuCount`— I tipi di istanza devono avere un minimo di 1 e un massimo di 12 vCPUs.
+ `MemoryMiB`: i tipi di istanza devono avere un minimo di 512 MiB di memoria. Omettendo il parametro `Max`, si sta indicando che non esiste un limite massimo.

Si noti che sono disponibili diversi altri attributi facoltativi che è possibile specificare. Per l'elenco degli attributi, vedere [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

**`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 5000 vCPUs, laddove il numero di istanze Spot da avviare deve fornire un totale di 5000 vCPUs.

#### Esempio: specifica degli attributi per la selezione del tipo di istanza basata su attributi e restituzione di un elenco di zone di disponibilità con punteggio
<a name="example-config-sps-singleAZ"></a>

La seguente configurazione di esempio è configurata per la selezione del tipo di istanza basata su attributi. Specificando `"SingleAvailabilityZone": true`, la risposta restituirà un elenco di zone di disponibilità con punteggio.

```
{
    "TargetCapacity": 1000,
    "TargetCapacityUnitType": "vcpu",
    "SingleAvailabilityZone": true,
    "InstanceRequirementsWithMetadata": {
        "ArchitectureTypes": ["arm64"],
        "VirtualizationTypes": ["hvm"],
        "InstanceRequirements": {
            "VCpuCount": {
                "Min": 1,
                "Max": 12
            },
            "MemoryMiB": {
                "Min": 512
            }
        }
    }
}
```