このドキュメントでは、Spot VM のプリエンプション率と料金を表示する方法について説明します。
Spot VM を作成する前に、Spot VM で使用するマシンタイプの過去と現在のプリエンプション率と料金を確認できます。このデータを表示すると、さまざまなマシンタイプとロケーションの安定性と費用を比較して、ワークロードと予算に最適なマシンタイプとロケーションを見つけることができます。
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 の数( Google Cloud )を、同じ日に実行を停止した Spot VM の数で割って、プリエンプション率を計算します。これらの停止には、ユーザーまたはプログラムによるアクション(実行時間の制限など)によって Spot VM が一時停止、停止、削除された場合や、Compute Engine によってプリエンプトされた場合が含まれます。
プリエンプション率は 0.00~1.00 の範囲です。たとえば、0.50
のレートは、特定のマシンタイプで
特定のゾーンにある Spot VM のうち、その日に実行を停止した VM の Google Cloud50% が Compute Engine によってプリエンプトされたことを示します。
過去の価格
過去の料金(priceHistory)には、指定したマシンタイプとリージョンの過去 1 年間の料金の変動が米ドルで表示されます。各エントリは、その価格が有効だった時間間隔の 1 時間あたりの価格を示します。Compute Engine では、太平洋時間(PT)の午前 0 時(00:00)に料金変更が設定されます。データが利用できない場合、時間間隔にギャップが生じます。
始める前に
advice.capacityHistoryAPI の出力には、デフォルトで AI ゾーンが含まれています。API がこれらのゾーンのいずれかに VM を作成することを推奨している場合に、AI ゾーンに Spot VM を作成できるようにするには、 プロジェクトで AI ゾーンが有効になっていることを確認します。-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
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 のプリエンプション率と料金を表示するには、次のいずれかのオプションを選択します。
コンソール
Google Cloud コンソールで、[容量アドバイザー] ページに移動します。
[フィルタ] ペインで、次の操作を行います。
[ロケーション] セクションの [リージョン] リストで、Spot VM を作成するリージョンを選択します。
[マシンの仕様] セクションで、作成するマシン構成と Spot VM の数を指定します。
[マシン ファミリー] リストで、[マシン ファミリー] を選択します。
[シリーズ] リストで、最大 3 つのマシンシリーズを選択します。
[マシンタイプ] リストで、最大 5 つのマシンタイプを選択します。
[VM の数] フィールドに、Spot VM の数を入力します。
省略可: デフォルトでは、使用可能なリソースが制限されているゾーンは非表示になっています。これらのゾーンを表示するには、[在庫僅少のリージョンを非表示にする] チェックボックスをオフにします。
[検索] をクリックします。
ユースケースに応じて、次のいずれかのオプションを選択します。
特定のロケーションの料金、可用性、プリエンプション率を表示する手順は次のとおりです。
[プロビジョニング モデルの結果] ペインで、[地図] タブをクリックします。
地図上でリージョンをクリックします。そのリージョンの料金とゾーンのプリエンプション率を示すペインが表示されます。
異なるマシンタイプ間で過去の料金とプリエンプション率を比較する手順は次のとおりです。
[プロビジョニング モデルの結果] ペインで、[リスト] タブをクリックします。
比較するマシンタイプを含む行を 2 つ以上選択します。
[価格を比較] をクリックします。[マシンタイプの比較] ペインが表示されます。
料金データまたはプリエンプション率を表示するには、[料金] タブまたは [プリエンプション] タブをクリックします。
省略可: 比較するマシンタイプを変更するには、次のいずれかを行います。
マシンタイプを追加するには、[マシンタイプを追加] をクリックし、追加するマシンタイプを選択します。
マシンタイプを削除するには、削除するマシンタイプの [アクション] 列で、 [行を削除] をクリックします。
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: スポット 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 のプリエンプション率と料金を表示するには、ベータ版の advice.capacityHistory メソッドに POST リクエストを送信します。
ユースケースに基づいて、次のいずれかのリクエストを行います。
リージョンのプリエンプション率と料金を表示するには、次のリクエストを行います。
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: スポット 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"
}
},
...
]
}
次のステップ
Spot VM を作成して使用する方法を学習する。
Spot VM のベスト プラクティスの詳細を確認する。