Afficher le taux de préemption et les tarifs des VM Spot

Ce document explique comment afficher le taux de préemption et les tarifs des VM Spot.

Avant de créer des VM Spot, vous pouvez consulter les tarifs et les taux de préemption historiques et actuels pour le type de machine que vous souhaitez que vos VM Spot utilisent. L'affichage de ces données vous aide à comparer la stabilité et le coût de différents types de machines et emplacements pour trouver la solution la mieux adaptée à votre charge de travail et à votre budget.

Si vous souhaitez afficher des données en temps réel sur les VM Spot, consultez plutôt les ressources suivantes :

Limites

Vous ne pouvez pas afficher le taux de préemption ni la tendance des prix pour les types de machines N1 auxquels sont associés des GPU, les types de machines personnalisés ni les TPU.

Comprendre le taux de préemption et la tarification des VM Spot

Lorsque vous envoyez une requête à l'API advice.capacityHistory, les métriques suivantes s'affichent dans le résultat. En comprenant ces métriques, vous pouvez afficher et comparer la tendance du taux de préemption et la tendance des prix pour les types de machines et les zones, puis utiliser ces données pour prendre des décisions lorsque vous créez des VM Spot.

Taux de préemption historique

Le taux de préemption historique (preemptionHistory) indique les taux de préemption quotidiens pour le type de machine et la zone que vous avez spécifiés au cours des 30 derniers jours. Compute Engine définit les limites de données pour ce taux à minuit (heure du Pacifique). Le taux de préemption pour la journée en cours peut changer au cours de la journée.

Compute Engine calcule le taux de préemption en divisant le nombre de VM Spot préemptées en un jour sur Google Cloud par le nombre de VM Spot qui ont cessé de s'exécuter le même jour, comme indiqué dans la formule suivante. Ces arrêts incluent les cas où les utilisateurs ou les actions programmatiques (telles que les durées d'exécution limitées) suspendent, arrêtent ou suppriment des VM Spot, ou lorsque Compute Engine les préempte.

$${preemptionHistory}=\frac{\text{Total preempted Spot VMs in a day}}{\text{Total Spot VMs that stopped running in a day}}$$

Le taux de préemption varie de 0.00 à 1.00. Par exemple, un taux de 0.50 indique que, parmi les VM Spot d'un type de machine spécifique et dans une zone spécifique qui ont cessé de fonctionner ce jour-là sur Google Cloud, Compute Engine en a préempté 50 %.

Historique des prix

L'historique des tarifs (priceHistory) indique les variations de prix en USD pour le type de machine et la région que vous avez spécifiés au cours de l'année écoulée. Chaque entrée indique le prix horaire pour l'intervalle de temps où ce prix était actif. Compute Engine définit les changements de prix à minuit (00h00) heure du Pacifique. Si les données ne sont pas disponibles, les intervalles de temps comportent des lacunes.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour afficher le taux de préemption et le prix des VM Spot, demandez à votre administrateur de vous accorder le rôle IAM Lecteur de Compute (roles/compute.viewer) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour afficher le taux de préemption et le prix des VM Spot. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour afficher le taux de préemption et le prix des VM Spot :

  • Pour afficher le taux de préemption et le prix des VM Spot : compute.advice.capacityHistory sur le projet

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher le taux de préemption et les tarifs des VM Spot

Pour afficher le taux de préemption historique et les tarifs des VM Spot, vous devez spécifier le type de machine, ainsi que la région ou la zone dans lesquelles vous souhaitez créer des VM. En fonction des résultats, vous pouvez créer les VM Spot ou afficher le taux de préemption et la tarification dans un autre emplacement ou pour une autre machine.

Pour afficher le taux de préemption et la tarification des VM Spot, sélectionnez l'une des options suivantes :

Console

  1. Dans la console Google Cloud , accédez à la page Conseiller de capacité.

    Accéder au conseiller en capacité

  2. Dans le volet Filtres, procédez comme suit :

    1. Dans la section Emplacement, dans la liste Région, sélectionnez les régions dans lesquelles vous souhaitez créer des VM spot.

    2. Dans la section Spécifications de la machine, spécifiez la configuration de la machine et le nombre de VM Spot que vous souhaitez créer :

      1. Dans la liste Famille de machines, sélectionnez une famille de machines.

      2. Dans la liste Série, sélectionnez jusqu'à trois séries de machines.

      3. Dans la liste Type de machine, sélectionnez jusqu'à cinq types de machines.

      4. Dans le champ Nombre de VM, saisissez le nombre de VM Spot.

      5. Facultatif : Par défaut, les zones dont les ressources disponibles sont limitées sont masquées. Pour afficher ces zones, décochez la case Masquer les régions à disponibilité limitée.

    3. Cliquez sur  Rechercher.

  3. En fonction de votre cas d'utilisation, sélectionnez l'une des options suivantes :

    • Pour afficher les tarifs, la disponibilité et les taux de préemption pour un emplacement spécifique, procédez comme suit :

      1. Dans le volet Résultats pour le modèle de provisionnement, cliquez sur l'onglet Carte.

      2. Sur la carte, cliquez sur une région. Un volet affichant les tarifs et les taux de préemption zonaux pour cette région s'affiche.

    • Pour comparer l'historique des tarifs et des taux de préemption pour différents types de machines, procédez comme suit :

      1. Dans le volet Résultats pour le modèle de provisionnement, cliquez sur l'onglet Liste.

      2. Sélectionnez au moins deux lignes contenant les types de machines que vous souhaitez comparer.

      3. Cliquez sur Comparer les prix. Le volet Comparaison des types de machines s'affiche.

      4. Pour afficher les données tarifaires ou les taux de préemption, cliquez sur l'onglet Prix ou Préemption.

      5. Facultatif : Pour modifier les types de machines à comparer, procédez comme suit :

        • Pour ajouter un type de machine, cliquez sur Ajouter un type de machine, puis sélectionnez le type de machine que vous souhaitez ajouter.

        • Pour supprimer un type de machine, dans la colonne Actions du type de machine que vous souhaitez supprimer, cliquez sur Supprimer la ligne.

gcloud

Pour afficher le taux de préemption et la tarification des VM Spot, utilisez la commande gcloud beta compute advice capacity-history.

En fonction de votre cas d'utilisation, incluez les indicateurs suivants :

  • Pour afficher le taux de préemption et les tarifs dans une région, incluez les indicateurs --types=PREEMPTION,PRICE et --region :

    gcloud beta compute advice capacity-history \
        --provisioning-model=SPOT \
        --machine-type=MACHINE_TYPE \
        --types=PREEMPTION,PRICE \
        --region=REGION
    
  • Pour afficher le taux de préemption dans une zone, incluez les indicateurs --types=PREEMPTION et --zone :

    gcloud beta compute advice capacity-history \
        --provisioning-model=SPOT \
        --machine-type=MACHINE_TYPE \
        --types=PREEMPTION \
        --zone=ZONE
    

Remplacez les éléments suivants :

  • MACHINE_TYPE : type de machine que vous souhaitez que vos VM spot utilisent.

  • REGION : région dans laquelle vous souhaitez créer des VM Spot.

  • ZONE : zone dans laquelle vous souhaitez créer des VM spot.

Le résultat ressemble à ce qui suit :

location: https://compute.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
machineType: n2-standard-32
preemptionHistory:
- interval:
    endTime: "2026-04-21T07:00:00Z"
    startTime: "2026-04-20T07:00:00Z"
  preemptionRate: 0.52
- interval:
    endTime: "2026-04-22T07:00:00Z"
    startTime: "2026-04-21T07:00:00Z"
  preemptionRate: 0.64
...
priceHistory:
- interval:
    endTime: "2026-05-11T07:00:00Z"
    startTime: "2026-04-27T07:00:00Z"
  listPrice:
    currencyCode: "USD"
    nanos: "478720000"
- interval:
    endTime: "2026-05-12T07:00:00Z"
    startTime: "2026-05-11T07:00:00Z"
  listPrice:
    currencyCode: "USD"
    nanos: "502720000"
...

REST

Pour afficher le taux de préemption et la tarification des VM Spot, envoyez une requête POST à la méthode advice.capacityHistory bêta.

Selon votre cas d'utilisation, envoyez l'une des requêtes suivantes :

  • Pour afficher le taux de préemption et les tarifs dans une région, envoyez la requête suivante :

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacityHistory
    
    {
      "types": [
        "PREEMPTION",
        "PRICE"
      ],
      "instanceProperties": {
        "scheduling": {
          "provisioningModel": "SPOT"
        },
        "machineType": "MACHINE_TYPE"
      }
    }
    
  • Pour afficher le taux de préemption dans une zone, envoyez la requête suivante :

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacityHistory
    
    {
      "types": [
        "PREEMPTION"
      ],
      "instanceProperties": {
        "scheduling": {
          "provisioningModel": "SPOT"
        },
        "machineType": "MACHINE_TYPE"
      },
      "locationPolicy": {
        "location": "zones/ZONE"
      }
    }
    

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.

  • REGION : région dans laquelle vous souhaitez créer des VM Spot.

  • MACHINE_TYPE : type de machine que vous souhaitez que vos VM spot utilisent.

  • ZONE : zone, qui doit se trouver dans REGION, dans laquelle vous souhaitez créer des VM Spot.

Le résultat ressemble à ce qui suit :

{
  "machineType": "n2-standard-32",
  "location": "https://compute.googleapis.com/compute/beta/projects/example-project/regions/us-central1",
  "preemptionHistory": [
    {
      "interval": {
        "startTime": "2026-04-20T07:00:00Z",
        "endTime": "2026-04-21T07:00:00Z"
      },
      "preemptionRate": 0.52
    },
    {
      "interval": {
        "startTime": "2026-04-21T07:00:00Z",
        "endTime": "2026-04-22T07:00:00Z"
      },
      "preemptionRate": 0.64
    },
    ...
  ],
  "priceHistory": [
    {
      "interval": {
        "startTime": "2026-04-27T07:00:00Z",
        "endTime": "2026-05-11T07:00:00Z"
      },
      "listPrice": {
        "currencyCode": "USD",
        "nanos": "478720000"
      }
    },
    {
      "interval": {
        "startTime": "2026-05-11T07:00:00Z",
        "endTime": "2026-05-12T07:00:00Z"
      },
      "listPrice": {
        "currencyCode": "USD",
        "nanos": "502720000"
      }
    },
    ...
  ]
}

Étapes suivantes