本文說明如何查看 Spot VM 的搶占率和價格。
建立Spot VM 之前,您可以查看 Spot VM 要使用的機型歷來和目前的先占率與價格。查看這項資料有助於比較不同機器類型和位置的穩定性和成本,找出最符合工作負載和預算的選項。
如要查看 Spot VM 的即時資料,請參閱下列內容:
如要查看 Spot VM 目前的費用,請參閱 Spot VM 定價。
如要查看您想建立 Spot VM 的區域是否有可用容量,請參閱「查看 Spot VM 的可用性」。
限制
如果 N1 機器類型附加 GPU、自訂機器類型或 TPU,您就無法查看其搶占率和價格趨勢。
瞭解 Spot VM 的先占率和價格
向 advice.capacityHistory API 傳送要求時,輸出結果會顯示下列指標。瞭解這些指標後,您就能查看及比較各機器類型和區域的搶占率趨勢和價格趨勢,然後在建立 Spot VM 時,根據這些資料做出決策。
歷來先占率
歷史搶占率 (preemptionHistory) 會顯示過去 30 天內,指定機型和可用區的每日搶占率。Compute Engine 會在太平洋時間 (PT) 午夜設定此費率的資料界線。當天的優先順序可能會隨時變更。
Compute Engine 會將一天內遭先占的 Spot VM 數量除以當天停止執行的 Spot VM 數量,藉此計算先占率,如下列公式所示。 Google Cloud 這類停止作業包括使用者或程式化動作 (例如有限的執行階段) 暫停、停止或刪除 Spot VM,或 Compute Engine 先占 Spot VM。
先占率範圍為 0.00 至 1.00。舉例來說,0.50 表示在特定可用區中,具有特定機型且於當天停止運作的 Spot VM 中,有 50% 遭到 Compute Engine 搶占。 Google Cloud
歷來價格
歷史價格 (priceHistory) 會顯示過去一年內,指定機型和區域的美元價格變化。每個項目都代表該價格有效時的時間間隔每小時價格。Compute Engine 會在太平洋時間午夜 (凌晨 00:00) 調整價格。如果沒有資料,時間間隔就會有間隙。
事前準備
advice.capacityHistoryAPI 的輸出內容預設包含 AI 可用區。如要確保 API 建議在 AI 區域建立 VM 時,您可以在這些區域建立 Spot VM,請 確認專案已啟用 AI 區域。-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得查看 Spot VM 搶占率和價格所需的權限,請要求管理員授予您專案的 Compute 檢視者 (roles/compute.viewer) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備查看 Spot VM 先占率和價格所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要查看 Spot VM 的先占率和價格,必須具備下列權限:
-
如要查看 Spot VM 的先占率和價格:
compute.advice.capacityHistory在專案中
查看 Spot VM 的先占率和價格
如要查看 Spot VM 的歷來先占率和價格,請指定要建立 VM 的機型和區域/可用區。根據結果,您可以建立 Spot VM,或查看其他位置或不同機器的搶占率和價格。
如要查看 Spot VM 的先占率和價格,請選取下列其中一個選項:
控制台
前往 Google Cloud 控制台的「容量建議」頁面。
在「篩選器」窗格中,完成下列步驟:
在「Location」(位置) 部分的「Region」(區域) 清單中,選取要建立 Spot VM 的區域。
在「機器規格」部分,指定要建立的機器設定和 Spot VM 數量:
在「機器家族」清單中,選取機器家族。
在「系列」清單中,選取最多三個機器系列。
在「機型」清單中,選取最多五種機型。
在「Number of VMs」(VM 數量) 欄位中,輸入 Spot VM 的數量。
選用:預設會隱藏資源有限的區域。如要查看這些區域,請取消勾選「隱藏可用性受限的區域」核取方塊。
按一下「搜尋」。
根據您的用途,選取下列其中一個選項:
如要查看特定位置的價格、供應情形和搶占率,請完成下列步驟:
在「佈建模式結果」窗格中,按一下「對應」分頁標籤。
在地圖上按一下區域。系統會顯示窗格,其中列出該區域的價格和可用區搶占率。
如要比較不同機器類型的歷來價格和先占率,請完成下列步驟:
在「佈建模式結果」窗格中,按一下「清單」分頁標籤。
選取包含要比較機器類型的兩列或多列。
按一下「比較價格」。系統會顯示「機型比較」窗格。
如要查看價格資料或搶占率,請按一下「價格」或「搶占」分頁標籤。
選用:如要變更要比較的機器類型,請執行下列任一操作:
如要新增機型,請按一下「新增機型」,然後選取要新增的機型。
如要移除機型,請在要移除的機型所對應的「動作」欄中,按一下 「移除列」。
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 的先占率和價格,請對 beta 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:要建立 Spot VM 的區域。MACHINE_TYPE:您希望 Spot VM 使用的機型。ZONE:可用區,必須位於REGION內,您要在該處建立 Spot VM。
輸出結果會與下列內容相似:
{
"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 最佳做法。