先占 VM 執行個體


本頁介紹的是先占虛擬機器 (VM) 執行個體。如要瞭解如何建立先占執行個體,請參閱「建立及使用先占 VM」一文。如要進一步瞭解執行個體的一般資訊,請參閱虛擬機器執行個體說明文件。

什麼是先占執行個體?

與標準 VM 價格相比,先占 VM 執行個體的價格大幅降低,折扣幅度高達 60% 至 91%。不過,如果 Compute Engine 需要回收運算容量,以便分配給其他 VM,可能就會停止 (先占) 這些執行個體。先占執行個體會使用額外的 Compute Engine 容量,因此其供應情形會隨用量而異。

如果您的應用程式具備容錯能力,且能承受執行個體可能遭到先占的影響,那麼先占執行個體就可大幅節省您的 Compute Engine 費用。例如可在先占執行個體上執行批次處理工作。如果部分執行個體在處理過程中停止,那麼工作執行速度會變慢,但並不會完全停止。先占執行個體不會對現有執行個體造成額外的工作負載,就能完成批次處理工作,且不用全額購買更多一般執行個體。

先占執行個體限制

先占執行個體的功能與一般執行個體類似,但有以下限制:

  • Compute Engine 可能會因系統事件的緣故,隨時停止先占執行個體。一般而言,Compute Engine 因系統事件而終止先占執行個體的可能性很低,但仍需視當前狀況,每天和不同區域間都可能有所差異。
  • 先占執行個體執行 24 小時後,Compute Engine 會一律將之終止。某些操作會重設此 24 小時計數器。
  • 先占執行個體為有限的 Compute Engine 資源,因此可能無法隨時供應。
  • 發生維護事件時,先占執行個體無法即時遷移至一般 VM 執行個體,也無法設為自動重新啟動
  • 由於有上述限制,先占執行個體並不在任何服務水準協議的涵蓋範圍內,且已排除在 Compute Engine 服務水準協議之外。
  • Compute Engine 的 Google Cloud 免費方案抵免額不適用於先占執行個體。

先占 VM 的先占

本節說明 Compute Engine 如何先占先占 VM,以及哪些 VM 會被選為先占對象。

先占程序

Compute Engine 會執行下列步驟以先占執行個體:

  1. Compute Engine 以 ACPI G2 Soft Off 信號形式,向執行個體傳送先占通知。您可以使用關機指令碼來處理先占通知,並在執行個體停止前完成清除動作。先占通知的關閉期間為盡力以最佳方式執行,最多 30 秒。
  2. 如果執行個體未在先占通知的關機期間停止,Compute Engine 就會向作業系統傳送 ACPI G3 Mechanical Off 信號。
  3. Compute Engine 將執行個體轉換為 TERMINATED 狀態。

您可藉由停止執行個體,來模擬執行個體先占行為。

遭到先占的執行個體仍會顯示在您的專案中,但只要執行個體仍處於 TERMINATED 狀態,就不會向您收取執行個體的時數費用。您可以存取和還原執行個體所連接的永久磁碟內的資料,但除非刪除磁碟,否則磁碟仍會產生儲存費用。與一般執行個體相同,當您刪除先占執行個體時,亦會刪除標示為自動刪除的永久磁碟。只要有足夠的容量,您可以隨意重新啟動預取執行個體。重新啟動可搶佔的執行個體會重設可搶佔程序。

如果 Compute Engine 在建立先占執行個體後不到一分鐘便將其終止,就不會向您收取該 VM 執行個體的使用費。這樣可確保您不會為先占執行個體付費,除非它們有時間完成大量工作。不過,系統仍會照常計算付費作業系統的費用。

先占選擇

請參閱最佳做法,瞭解如何降低優先權率。請注意,如果執行個體在開始執行後的第一分鐘內即已先占,則 Compute Engine 不會向您收取執行個體的費用。

某些操作會重設先占執行個體的 24 小時計數器。具體來說,在您停止啟動執行個體時,Compute Engine 會因執行個體轉換為 TERMINATED 狀態而重設計數器。不過,當執行個體仍處於 RUNNING 狀態時,其他操作並不會重設計數器,例如重設或重新啟動執行個體

定價

先占 VM 會使用 Spot 價格,與 Spot VM 採用相同的定價模式。如要進一步瞭解先佔 VM 的定價,請參閱Spot VM 定價

搭配使用 Compute Engine 與先占 VM

本節提供有關先占 VM 與其他 Compute Engine 產品搭配使用的相關資訊。瞭解如何搭配代管執行個體群組、高級作業系統、本機 SSD 和 GPU 使用先占 VM。此外,請瞭解先占 VM 如何影響 Compute Engine 資源的配額。

代管執行個體群組中的先占執行個體

您可在代管執行個體群組中,建立先占執行個體。請在執行個體範本中指定先占選項,然後再建立或更新群組。

只在有額外的 Compute Engine 資源可供使用時,代管執行個體群組才可建立或新增先占執行個體。如果這些資源受到限制,代管執行個體群組就無法調整規模大小,也無法自動調整群組中的先占執行個體數量。

代管執行個體群組會一直嘗試維持目標大小,或是維持該群組以自動配置器指定的大小。如果 Compute Engine 終止了代管執行個體群組中的先占執行個體,則群組會重複嘗試使用指定的執行個體範本,來重新建立該執行個體。只要重新供應必要資源,群組就會重新建立執行個體並維持目標群組大小。

先占執行個體的付費作業系統

先占執行個體不會降低付費作業系統的費用,也不會改變使用這些作業系統時的計費方式。如果 Compute Engine 終止的是執行付費作業系統的先占執行個體,則會依您自行終止執行個體的收費方式,向您收取該作業系統的費用。您仍需支付基本費用,而系統仍會將用量依計費單位進位成整數,以計算付費作業系統的費用。

在執行付費作業系統的先占執行個體上,機器類型的費用一律會按秒數收費,並以 VM 執行個體定價頁面上列出的價格為準。

先占執行個體上的本機 SSD

如果您啟動具有本機 SSD 磁碟的 Spot VM 或先占 VM,Compute Engine 會以折扣的Spot 價格收取本機 SSD 的使用費。連接至 Spot VM 或先占 VM 的本機 SSD 磁碟會像一般本機 SSD 磁碟一樣運作,保留相同的資料保存特性,並在 VM 存留期間保持連線。

如果 VM 在開始執行後的一分鐘內即已先占,Compute Engine 就不會向您收取 Spot VM 或先占 VM 的本機 SSD 磁碟使用費。

先占執行個體上的 GPU

您可以用較低的 GPU Spot 價格,將 GPU 新增至先占 VM 執行個體。連接至先占執行個體的 GPU,在運作方式上就如同一般的 GPU,但僅會在執行個體的可用期限內保留。具有 GPU 的先占執行個體,其先占程序與其他所有先占執行個體均相同。

建議您申請專屬的 Preemptible GPU 配額,以便在先占執行個體上使用 GPU。詳情請參閱「先占 VM 執行個體配額」一文。

在維護作業期間,根據預設會先占具有 GPU 的先占執行個體,且這類執行個體無法自動重新啟動。如要重新建立已先占的執行個體,請使用代管執行個體群組。代管執行個體群組會在 vCPU、記憶體和 GPU 資源可供使用時,重新建立執行個體。

如果您想在執行個體遭到先占前收到警告,或是想將執行個體設為在維護作業過後自動重新啟動,請使用具有 GPU 的標準執行個體。針對含有 GPU 的標準執行個體,Google 會在先占此類執行個體的一小時前預先通知

如果 GPU 的執行個體在其開始執行後的一分鐘內即已先占,則 Compute Engine 不會向您收取 GPU 的使用費。

如需自動重新啟動標準執行個體的步驟,請參閱「更新執行個體的選項」一節。

如要瞭解如何建立附加 GPU 的先占執行個體,請參閱「建立附加 GPU 的 VM」一文。

先占 VM 執行個體的配額

與其他 VM 一樣,先占 VM 需要可用的 CPU 配額。此外,如果您打算使用先占 VM 搭配本機 SSD 或 GPU,先占 VM 也需要分別有磁碟配額GPU 配額

如果您使用先占 VM 搭配這些資源,但未要求先占配額,則先占 VM 會消耗這些資源的標準配額。如果您打算使用先占 VM,請考慮為這些資源申請先占配額,以免先占 VM 耗用您的配額。

當 Compute Engine 授予您某個地區的先占配額後,該地區的所有先占 VM (以及任何 Spot VM) 都會計入該配額。該地區的所有標準 VM 仍會計入標準配額。在未提供先占配額的區域,您可以使用標準配額啟用先占 VM。

除非 Compute Engine 已授予配額,否則先占配額不會顯示在 gcloud CLI 或 Google Cloud 控制台配額頁面中。詳情請參閱「先占資源的分配配額」。

後續步驟

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Compute Engine 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用 Compute Engine