Compute Engine 執行個體生命週期

從建立到刪除,Compute Engine 執行個體會經歷不同狀態。本文將說明運算執行個體生命週期,協助您排解問題、管理資源、規劃遷移作業,以及瞭解費用。

如要查看運算執行個體的目前狀態,請參閱下列文章:

運算執行個體狀態

建立運算執行個體時,執行個體會先處於 PROVISIONING 狀態,接著移至 STAGING 狀態,然後進入 RUNNING 狀態。彈性啟動虛擬機器 (VM) 執行個體 (等待時間 requestValidForDuration),並改為在 PENDING 狀態啟動 TPU 執行個體。從 RUNNING 狀態,您可以將運算執行個體移至 SUSPENDEDTERMINATED 狀態,也可以刪除執行個體。

下圖顯示 Compute Engine 可將運算執行個體設為的不同狀態:

運算執行個體不同狀態的流程圖。

上圖顯示的狀態說明如下:

PENDING

建立運算執行個體後,如果執行個體屬於下列其中一種,就會進入 PENDING 狀態。否則,運算執行個體會直接轉換為 PROVISIONING 狀態。

  • 等待時間 (requestValidForDuration) 達 90 秒以上的彈性啟動型 VM

  • 獨立 TPU 執行個體。

  • 屬於代管執行個體群組 (MIG) 的彈性啟動型 VM 或 TPU 執行個體,除非 MIG 已停用建立重試

PENDING 狀態下,Compute Engine 會嘗試取得啟動運算執行個體所需的資源,直到等待時間結束為止。如果 Compute Engine 在這段時間內取得資源,且您有足夠的資源配額,則運算執行個體狀態會變更為 PROVISIONING。否則會發生錯誤,Compute Engine 會刪除運算執行個體。如果不再需要運算執行個體,您可以在等待時間結束前選擇刪除。

PROVISIONING

建立、重新啟動或恢復運算執行個體後,Compute Engine 會開始為運算執行個體分配資源,並將其狀態設為 PROVISIONING。Compute Engine 完成資源分配後,運算執行個體會轉換為 STAGING 狀態。

STAGING

STAGING 狀態下,Compute Engine 會因下列其中一個原因,準備首次啟動的運算執行個體:

  • Compute Engine 仍在建立及設定運算執行個體。

  • 您或排定的作業重新啟動或繼續執行運算執行個體。

在這個狀態下,運算執行個體尚未執行。開始執行或啟動時,運算執行個體會進入 RUNNING 狀態。

RUNNING

RUNNING 狀態下,Compute Engine 會啟動運算執行個體,或運算執行個體正在執行。根據採取的動作、系統事件或運算執行個體設定,運算執行個體可以從 RUNNING 狀態轉換為 PENDING_STOPSTOPPINGSUSPENDINGREPAIRING

PENDING_STOP

PENDING_STOP 狀態下,運算執行個體會開始安全地關機。只有在啟用正常關機時,才會執行這項關機程序。如果您停止或刪除運算執行個體,或 Compute Engine 因排定停止或刪除作業而自動執行這項操作,運算執行個體就會進入這個狀態。發生下列任一情況時,運算執行個體狀態會變更為 STOPPING

  • 您手動結束正常關機程序。

  • 正常關機時間長度已逾時。如果仍有工作在執行,Compute Engine 會強制停止這些工作。

STOPPING

STOPPING 狀態下,運算執行個體會關閉客體 OS。在下列情況中,系統會執行這項程序:

  • 您或排定的作業停止或刪除運算執行個體。

  • 發生主機錯誤。

除非您將運算執行個體設定為略過客層 OS 關機,否則關機時間取決於運算執行個體類型。不過,如果運算執行個體因主機錯誤而停止,關機時間可能會與預期長度不同。訪客 OS 關機後,進行中的停止或刪除作業會依下列方式結束:

  • 停止作業:運算執行個體狀態會變更為 TERMINATED

  • 刪除作業:Compute Engine 會永久刪除運算執行個體和所有附加資源。

TERMINATED

當運算執行個體進入 TERMINATED 狀態時,Compute Engine 會完成停止作業。除非您或排定的作業重新啟動或刪除運算執行個體,否則該執行個體會維持 TERMINATED 狀態。如果您要求重新啟動運算執行個體,但 Compute Engine 無法分配您要求的資源,則重新啟動要求會失敗,且運算執行個體會維持在 TERMINATED 狀態。否則,重新啟動要求會成功,且運算執行個體狀態會變更為 PROVISIONING

REPAIRING

REPAIRING 狀態下,Compute Engine 會對運算執行個體啟動修復作業。 如果 Compute Engine 遇到內部錯誤,或執行個體的主機伺服器因維護作業而無法使用,就會修復運算執行個體。在運算執行個體維修期間,會發生下列情況:

如果 Compute Engine 成功修復運算執行個體,系統會將運算執行個體狀態還原為修復作業開始前的狀態。這個狀態可以是 STAGINGRUNNINGSUSPENDINGSTOPPING。如果您的運算執行個體設定為在修復作業完成後自動重新啟動 (automaticRestart),您可以在修復過程中選擇停止運算執行個體。這項動作可防止運算執行個體在修復完成後自動重新啟動,並將運算執行個體維持在 TERMINATED 狀態。

SUSPENDING

SUSPENDING 狀態下,Compute Engine 會啟動運算執行個體的暫停作業。您只能暫停特定運算執行個體。暫停作業完成後,運算執行個體狀態會變更為 SUSPENDED

SUSPENDED

SUSPENDED 狀態下,Compute Engine 會完成暫停作業。您可以繼續或刪除運算執行個體。如果您要求恢復運算執行個體,但 Compute Engine 無法分配您要求的資源,則恢復要求會失敗,且運算執行個體會維持在 SUSPENDED 狀態。否則,繼續要求會成功,且運算執行個體狀態會變更為 PROVISIONING

運算執行個體最多可在 SUSPENDED 狀態中保留 60 天。之後,Compute Engine 會將運算執行個體狀態變更為 TERMINATED

運算執行個體定價

在運算執行個體生命週期內,您需支付運算執行個體費用,如下所示:

  • 如果運算執行個體處於下列狀態,您需要支付 CPU 使用量費用:

    • RUNNING

    • PENDING_STOP

  • 如果運算執行個體處於下列狀態,您需要支付記憶體用量費用:

    • RUNNING

    • PENDING_STOP

    • SUSPENDING

    • SUSPENDED

  • 對於磁碟或外部 IP 位址等附加資源,只要資源存在,您就必須支付費用,與運算執行個體狀態無關。

詳情請參閱運算執行個體定價

後續步驟