Spot VM のプリエンプション率と料金を表示する

このドキュメントでは、Spot VM のプリエンプション率と料金を表示する方法について説明します。

Spot VMを作成する前に、 Spot VM で使用するマシンタイプの 過去と現在のプリエンプション率と料金を確認できます。このデータを表示すると、さまざまなマシンタイプとロケーションの安定性とコストを比較して、ワークロードと予算に最適なものを見つけることができます。

Spot VM に関するリアルタイム データを表示する場合は、代わりに次のものをご覧ください。

制限事項

GPU が接続されている N1 マシンタイプ、カスタム マシンタイプ、TPU のプリエンプション率と料金の推移を表示することはできません。

Spot VM のプリエンプション率と料金について

advice.capacityHistory API にリクエストを送信すると、出力に次の指標が表示されます。これらの指標を理解することで、マシンタイプとゾーン全体のプリエンプション率の推移と料金の推移を表示して比較し、このデータを使用して Spot VM の作成時の意思決定に役立てることができます。

過去のプリエンプション率

過去のプリエンプション率(preemptionHistory)には、指定したマシンタイプとゾーンの過去 30 日間の 1 日あたりのプリエンプション率が表示されます。 Compute Engine では、このレートのデータ境界は太平洋時間(PT)の午前 0 時に設定されます。当日のプリエンプション率は、1 日を通して変化する可能性があります。

Compute Engine は、次の式に示すように、1 日にプリエンプトされた Spot VM の数 を、その日に実行を停止した Spot VM の数 で割ってプリエンプション率を計算します。 Google Cloud これらの停止には、ユーザーまたはプログラムによるアクション(実行時間の制限など)によって Spot VM が一時停止、停止、削除された場合や、Compute Engine によってプリエンプトされた場合が含まれます。

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

プリエンプション率は 0.00 から 1.00 の範囲です。たとえば、レートが 0.50 の場合、特定のマシンタイプ と特定のゾーンでその日に実行を停止した Spot VM のうち、50% が Compute Engine Google Cloudによってプリエンプトされたことを示します。

過去の料金

過去の料金(priceHistory)には、指定したマシンタイプとリージョンの過去 1 年間の米ドルでの料金の変動が表示されます。各エントリは、その料金が有効だった時間間隔の 1 時間あたりの料金を示します。 Compute Engine では、料金の変更は PT 午前 0 時(00:00)に設定されます。データが利用できない場合、時間間隔にギャップが生じます。

始める前に

必要なロール

Spot VM のプリエンプション率と料金を表示するために必要な権限を取得するには、プロジェクトに対するCompute 閲覧者 roles/compute.viewer)IAM ロールを付与するように管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには Spot VM のプリエンプション率と料金を表示するために必要な権限が含まれています。必要とされる正確な権限については、必要な権限セクションを開いてご確認ください。

必要な権限

Spot VM のプリエンプション率と料金を表示するには、次の権限が必要です。

  • Spot VM のプリエンプション率と料金を表示する: compute.advice.capacityHistory プロジェクトに対する

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Spot VM のプリエンプション率と料金を表示する

Spot VM の過去のプリエンプション率と料金を表示するには、VM を作成するマシンタイプとリージョンまたはゾーンを指定する必要があります。結果に基づいて、結果に基づいて、 Spot VM を作成するか、別の ロケーションまたは別のマシンのプリエンプション率と料金を表示できます。

Spot VM のプリエンプション率と料金を表示するには、次のいずれかのオプションを選択します。

コンソール

  1. コンソールで、[**容量アドバイザー**] ページに移動します。 Google Cloud

    容量アドバイザーに移動

  2. [フィルタ] ペインで、次の操作を行います。

    1. [ロケーション] セクションの [リージョン] リストで、Spot VM を作成するリージョンを選択します。

    2. [マシンの仕様] セクションで、作成する Spot VM のマシン構成と数を指定します。

      1. [**マシン ファミリー**] リストで、 マシン ファミリーを選択します。

      2. [シリーズ] リストで、最大 3 つのマシンシリーズを選択します。

      3. [マシンタイプ] リストで、最大 5 つのマシンタイプを選択します。

      4. [VM の数] フィールドに、Spot VM の数を入力します。

      5. 省略可: デフォルトでは、使用可能なリソースが限られているゾーンは非表示になっています。これらのゾーンを表示するには、[在庫僅少のリージョンを非表示にする] チェックボックスをオフにします。

    3. [検索] をクリックします。

  3. ユースケースに応じて、次のいずれかのオプションを選択します。

    • 特定のロケーションの料金、可用性、プリエンプション率を表示するには、次の操作を行います。

      1. [プロビジョニング モデルの結果] ペインで、[地図] タブをクリックします。

      2. 地図でリージョンをクリックします。そのリージョンの料金とゾーンのプリエンプション率を示すペインが表示されます。

    • さまざまなマシンタイプの過去の料金とプリエンプション率を比較するには、次の操作を行います。

      1. [プロビジョニング モデルの結果] ペインで、[リスト] タブをクリックします。

      2. 比較するマシンタイプを含む行を 2 つ以上選択します。

      3. [Compare prices] をクリックします。[マシンタイプの比較] ペインが表示されます。

      4. 料金データまたはプリエンプション率を表示するには、[料金] タブまたは [プリエンプション] タブをクリックします。

      5. 省略可: 比較するマシンタイプを変更するには、次のいずれかの操作を行います。

        • マシンタイプを追加するには、[マシンタイプを追加] をクリックし、 追加するマシンタイプを選択します。

        • マシンタイプを削除するには、削除するマシンタイプの [操作] 列で、 [行を削除] をクリックします。

gcloud

Spot VM のプリエンプション率と料金を表示するには、 gcloud beta compute advice capacity-history コマンドを使用します。

ユースケースに応じて、次のフラグを指定します。

  • リージョンのプリエンプション率と料金を表示するには、--types=PREEMPTION,PRICE フラグと --region フラグを指定します。

    gcloud beta compute advice capacity-history \
        --provisioning-model=SPOT \
        --machine-type=MACHINE_TYPE \
        --types=PREEMPTION,PRICE \
        --region=REGION
    
  • ゾーンのプリエンプション率を表示するには、--types=PREEMPTION フラグと --zone フラグを指定します。

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

次のように置き換えます。

  • MACHINE_TYPE: Spot VM で使用するマシンタイプ。

  • REGION: Spot VM を作成するリージョン。

  • ZONE: Spot VM を作成するゾーン。

出力は次のようになります。

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

Spot VM のプリエンプション率と料金を表示するには、ベータ版の POST メソッドに リクエストを送信します。advice.capacityHistory

ユースケースに応じて、次のいずれかのリクエストを行います。

  • リージョンのプリエンプション率と料金を表示するには、次のリクエストを行います。

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/advice/capacityHistory
    
    {
      "types": [
        "PREEMPTION",
        "PRICE"
      ],
      "instanceProperties": {
        "scheduling": {
          "provisioningModel": "SPOT"
        },
        "machineType": "MACHINE_TYPE"
      }
    }
    
  • ゾーンのプリエンプション率を表示するには、次のリクエストを行います。

    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"
      }
    }
    

次のように置き換えます。

  • PROJECT_ID: 実際のプロジェクトの ID。

  • REGION: Spot VM を作成するリージョン。

  • MACHINE_TYPE: Spot VM で使用するマシンタイプ。

  • ZONE: Spot VM を作成するゾーン。REGION 内にある必要があります。

出力は次のようになります。

{
  "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"
      }
    },
    ...
  ]
}

次のステップ