

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Calculez le score de placement Spot
<a name="work-with-spot-placement-score"></a>

Vous pouvez calculer un score de placement Spot en fonction d’exigences spécifiques en matières de capacité cible et de calcul. Pour de plus amples informations, veuillez consulter [Fonctionnement du score de placement Spot](how-sps-works.md).

**Autorisations nécessaires**  
Assurez-vous que vous disposez des autorisations requises. Pour de plus amples informations, veuillez consulter [Autorisations requises pour le score de placement Spot](sps-iam-permission.md).

**Topics**
+ [Calculer à l’aide des attributs d’instance](#sps-specify-instance-attributes-console)
+ [Calculer à l’aide des types d’instances](#sps-specify-instance-types-console)
+ [Calculez à l'aide du AWS CLI](#calculate-sps-cli)

**À la recherche une solution automatisée ?** Au lieu de suivre les étapes manuelles décrites dans ce guide de l'utilisateur, vous pouvez créer un tableau de bord de suivi des scores de placement Spot qui capture et stocke automatiquement les scores sur Amazon CloudWatch. Pour plus d'informations, consultez la section [Conseils pour la création d'un tableau de bord de suivi du score de placement Spot sur AWS](https://aws.amazon.com/solutions/guidance/building-a-spot-placement-score-tracker-dashboard-on-aws/).

## Calculer à l’aide des attributs d’instance
<a name="sps-specify-instance-attributes-console"></a>

**Pour calculer un score de placement Spot en spécifiant des attributs d’instance**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Cliquez sur la flèche vers le bas à côté de **Demander des instances Spot**, puis choisissez **Calculer le score de placement Spot**.

1. Choisissez **Enter requirements** (Saisir les exigences).

1. Pour **Capacité cible**, entrez la capacité souhaitée en termes de nombre d'**instances** ou de **v CPUs**, ou de quantité de **mémoire (MiB**).

1. Pour **Instance type requirements** (Exigences du type d’instance), pour spécifier vos exigences de calcul et permettre à Amazon EC2 d’identifier les types d’instances optimaux selon ces exigences, choisissez **Specify instance attributes that match your compute requirements** (Spécifier les attributs d’instance qui correspondent à vos exigences de calcul).

1. Pour **v CPUs**, entrez le nombre minimum et maximum de v souhaitésCPUs. Pour ne définir aucune limite, sélectionnez **Pas de minimum**, **Pas de maximum**, ou les deux.

1. Pour **Memory (GiB)** (Mémoire (Gio)), saisissez la quantité minimale et maximale de mémoire souhaitée. Pour ne spécifier aucune limite, sélectionnez **No minimum** (Pas de minimum), **No maximum** (Pas de maximum), ou les deux.

1. Pour **CPU architecture** (Architecture du processeur), sélectionnez l’architecture d’instance requise.

1. (Facultatif) Pour **Additional instance attributes** (Attributs d’instance supplémentaires), vous pouvez éventuellement spécifier un ou plusieurs attributs pour exprimer vos exigences de calcul plus en détail. Chaque attribut supplémentaire ajoute une contrainte supplémentaire à votre demande. Vous pouvez omettre les attributs supplémentaires. Lorsque ces attributs sont omis, les valeurs par défaut sont utilisées. Pour une description de chaque attribut et de leurs valeurs par défaut, consultez [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

1. (Facultatif) Pour afficher les types d’instance avec vos attributs spécifiés, développez **Preview matching instance types** (Aperçu des types d’instance correspondants). Pour empêcher des types d’instances d’être utilisés dans l’évaluation du placement, sélectionnez les instances, puis choisissez **Eclude selected instance types** (Exclure les types d’instances sélectionnés).

1. Choisissez **Load placement scores** (Charger les scores de placement) et vérifiez les résultats.

1. (Facultatif) Pour afficher le score de placement Spot pour des régions spécifiques, pour **Regions to evaluate** (Régions à évaluer), sélectionnez les régions à évaluer, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

1. (Facultatif) Pour afficher le score de placement Spot pour les zones de disponibilité dans les régions affichées, cochez la case **Fournir des scores de placement par zone de disponibilité**. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité.

1. (Facultatif) Pour modifier vos exigences de calcul et obtenir un nouveau score de placement, choisissez **Edit** (Modifier), effectuez les ajustements nécessaires, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

## Calculer à l’aide des types d’instances
<a name="sps-specify-instance-types-console"></a>

**Pour calculer un score de placement Spot en spécifiant des types d’instance**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Demandes Spot**.

1. Cliquez sur la flèche vers le bas à côté de **Demander des instances Spot**, puis choisissez **Calculer le score de placement Spot**.

1. Choisissez **Enter requirements** (Saisir les exigences).

1. Pour **Capacité cible**, entrez la capacité souhaitée en termes de nombre d'**instances** ou de **v CPUs**, ou de quantité de **mémoire (MiB**).

1. Pour **Instance type requirements** (Exigences de type d’instance), afin de spécifier les types d’instance à utiliser, choisissez **Manually select instance types** (Sélection manuelle des types d’instance).

1. Choisissez **Select instance types** (Sélectionner les types d’instance), sélectionnez les types d’instance à utiliser, puis choisissez **Select** (Sélectionner). Pour trouver rapidement des types d’instance, vous pouvez utiliser la barre de filtre afin de filtrer les types d’instance selon différentes propriétés.

1. Choisissez **Load placement scores** (Charger les scores de placement) et vérifiez les résultats.

1. (Facultatif) Pour afficher le score de placement Spot pour des régions spécifiques, pour **Regions to evaluate** (Régions à évaluer), sélectionnez les régions à évaluer, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

1. (Facultatif) Pour afficher le score de placement Spot pour les zones de disponibilité dans les régions affichées, cochez la case **Fournir des scores de placement par zone de disponibilité**. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité.

1. (Facultatif) Pour modifier la liste des types d’instance et obtenir un nouveau score de placement, choisissez **Edit** (Modifier), effectuez les ajustements nécessaires, puis choisissez **Calculate placement scores** (Calculer les scores de placement).

## Calculez à l'aide du AWS CLI
<a name="calculate-sps-cli"></a>

**Pour calculer le score de placement Spot**

1. (Facultatif) Pour générer tous les paramètres possibles pouvant être spécifiés pour la configuration du score de placement Spot, utilisez la [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)commande et le `--generate-cli-skeleton` paramètre.

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

   Voici un exemple de sortie.

   ```
   {
       "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. Créez un fichier de configuration JSON à l’aide de la sortie de l’étape précédente et configurez-le comme suit :

   1. Pour`TargetCapacity`, entrez la capacité Spot souhaitée en termes de nombre d'instances ou de vCPUs, ou de quantité de mémoire (MiB).

   1. Pour `TargetCapacityUnitType`, saisissez l’unité correspondant à la capacité cible. Si vous omettez ce paramètre, `units` est utilisé par défaut.

      Valeurs valides : `units` (qui se traduit par le nombre d’instances) \$1 `vcpu` \$1 `memory-mib`

   1. Pour `SingleAvailabilityZone`, spécifiez `true` pour une réponse qui renvoie une liste de zones de disponibilité évaluées. Une liste de zones de disponibilité évaluées est utile si vous souhaitez lancer toute votre capacité Spot dans une seule zone de disponibilité. Si vous omettez ce paramètre, `false` est utilisé par défaut et la réponse renvoie une liste des régions notées.

   1. (Facultatif) Pour `RegionNames`, spécifiez les régions à utiliser comme filtre. Vous devez spécifier le code de région, par exemple, `us-east-1`.

      Avec un filtre de région, la réponse renvoie uniquement les régions que vous spécifiez. Si vous avez spécifié `true` pour `SingleAvailabilityZone`, la réponse renvoie uniquement les zones de disponibilité dans les régions spécifiées.

   1. Vous pouvez inclure `InstanceTypes` ou `InstanceRequirements`, mais pas les deux dans la même configuration.

      Spécifiez l’un des éléments suivants dans votre configuration JSON :
      + Pour spécifier une liste de types d’instances, spécifiez les types d’instances dans le paramètre `InstanceTypes`. Spécifiez au moins trois types d’instance différents. Si vous ne spécifiez qu’un ou deux types d’instance, le score de placement Spot renvoie un score faible. Pour accéder à la liste des types d’instance, consultez [Types d’instances Amazon EC2](https://aws.amazon.com/ec2/instance-types/).
      + Pour spécifier les attributs d’instance afin qu’Amazon EC2 identifie les types d’instance qui correspondent à ces attributs, spécifiez les attributs situés dans la structure `InstanceRequirements`.

        Vous devez fournir des valeurs pour `VCpuCount`, `MemoryMiB` et `CpuManufacturers`. Vous pouvez omettre les autres attributs. Lorsqu’ils sont omis, les valeurs par défaut sont utilisées. Pour une description de chaque attribut et de leurs valeurs par défaut, consultez [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

      Pour obtenir des exemples de configuration, consultez [Exemples de configuration](#sps-example-configs).

1. Pour obtenir le score de placement Spot correspondant aux exigences que vous avez spécifiées dans le fichier JSON, utilisez la [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html)commande et spécifiez le nom et le chemin d'accès à votre fichier JSON à l'aide du `--cli-input-json` paramètre.

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

   Exemple de sortie si `SingleAvailabilityZone` est défini sur `false` ou omis (si omis, la valeur par défaut est `false`) : une liste de régions notées est renvoyée.

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

   Exemple de sortie si `SingleAvailabilityZone` est défini sur `true` : une liste notée des zones de disponibilité est renvoyée.

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

### Exemples de configuration
<a name="sps-example-configs"></a>

Lorsque vous utilisez le AWS CLI, vous pouvez utiliser les exemples de configuration suivants.

**Topics**
+ [Exemple : spécifier les types d’instance et la capacité cible](#example-config-instance-type-override)
+ [Exemple : spécifier les types d’instance et la capacité cible en termes de mémoire](#example-config-instance-type-memory-unit-override)
+ [Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs](#example-config-attribute-based-instance-type-selection)
+ [Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs et renvoyer une liste de zones de disponibilité évaluées](#example-config-sps-singleAZ)

#### Exemple : spécifier les types d’instance et la capacité cible
<a name="example-config-instance-type-override"></a>

L’exemple de configuration suivant spécifie trois types d’instance différents et une capacité Spot cible de 500 instances Spot.

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

#### Exemple : spécifier les types d’instance et la capacité cible en termes de mémoire
<a name="example-config-instance-type-memory-unit-override"></a>

L’exemple de configuration suivant spécifie trois types d’instance différents et une capacité Spot cible de 500 000 Mio de mémoire, où le nombre d’instances Spot à lancer doit fournir un total de 500 000 Mio de mémoire.

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

#### Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs
<a name="example-config-attribute-based-instance-type-selection"></a>

L’exemple de configuration suivant est configuré pour la sélection du type d’instance basé sur des attributs et est suivi d’une explication textuelle.

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

****`InstanceRequirementsWithMetadata`****  
Pour utiliser la sélection du type d’instance basée sur les attributs, vous devez inclure la structure `InstanceRequirementsWithMetadata` dans votre configuration et spécifier les attributs souhaités pour les instances Spot.

Dans l’exemple précédent, les attributs d’instance obligatoires suivants sont spécifiés :
+ `ArchitectureTypes` – le type d’architecture des types d’instance doit être `arm64`.
+ `VirtualizationTypes` – le type de virtualisation des types d’instance doit être `hvm`.
+ `VCpuCount`— Les types d'instance doivent avoir un minimum de 1 et un maximum de 12 CPUs v.
+ `MemoryMiB` : les types d’instance doivent avoir un minimum de 512 Mio de mémoire. En omettant le paramètre `Max`, vous indiquez qu’il n’y a pas de limite maximale.

Notez qu’il existe plusieurs autres attributs facultatifs que vous pouvez spécifier. Pour la liste des attributs, voir [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

**`TargetCapacityUnitType`**  
Le paramètre `TargetCapacityUnitType` spécifie l’unité de la capacité cible. Dans l'exemple, la capacité cible est `5000` et le type d'unité de capacité cible est`vcpu`, ce qui indique ensemble une capacité cible souhaitée de 5 000 VCPUs, le nombre d'instances ponctuelles à lancer devant fournir un total de 5 000 CPUs V.

#### Exemple : spécifier des attributs pour la sélection du type d’instance basée sur des attributs et renvoyer une liste de zones de disponibilité évaluées
<a name="example-config-sps-singleAZ"></a>

L’exemple de configuration suivant est configuré pour la sélection du type d’instance basée sur des attributs. En spécifiant `"SingleAvailabilityZone": true`, la réponse renverra une liste des zones de disponibilité évaluées.

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