安全關機總覽


本文將概要說明 Compute Engine 執行個體中的正常關機程序。如要進一步瞭解執行個體在生命週期中可能經歷的狀態,請參閱「Compute Engine 執行個體生命週期」。

停止或刪除執行個體時,Compute Engine 會允許短暫時間,讓客體 OS 完全關機。如果客體 OS 未在此時間內完成執行工作,Compute Engine 會強制關機,這可能會導致資料遺失或檔案系統損毀。

如要避免這些問題,可以在執行個體中啟用正常關機。啟用這項設定後,客體作業系統最多有一小時的時間完成執行工作,之後 Compute Engine 就會關閉客體作業系統。如果您想達成下列目標,安全關機就非常實用:

  • 允許高效能運算 (HPC) 工作完全關閉。

  • 允許資料庫完成提交進行中的交易。

  • 允許電子郵件伺服器在關機前完成處理程序。

  • 讓多人遊戲工作階段完成執行。

關於安全關機

以下各節說明正常關機的運作方式。

關閉期限

在運算執行個體中,安全關機功能預設為停用。您可以在建立或更新執行個體時啟用這項功能。啟用正常關機程序後,您可以指定關機時間,方法如下:

  • 預設時間:如未指定關機時間,Compute Engine 會使用 10 分鐘的預設時間。

  • 自訂時間:從 1 秒到 1 小時。

建議選擇的關機時間應足以讓應用程式完成執行工作。舉例來說,如果您預估應用程式需要 10 分鐘才能完成執行工作,建議指定 15 分鐘的關機時間。這種做法可避免工作遭到強制停止,以及資料可能損毀的問題。客層 OS 中的所有工作執行完畢後,您可以手動結束正常關機程序,以節省費用,詳情請參閱下一節。

關機程序

如果您停止或刪除已啟用正常關機的運算執行個體,或是 Compute Engine 為了排定的停止或刪除作業而停止或刪除執行個體,執行個體狀態會變更為 PENDING_STOP。系統會開始正常關機,讓應用程式完成執行工作。

如果正常關機期間逾時,或您手動結束正常關機程序,Compute Engine 就會結束執行個體的正常關機程序。手動結束正常關機程序的方法如下:

  • 從客體 OS 內。使用客體 OS 的關機指令停止執行個體,例如 sudo shutdown -h now

  • 從 Google Cloud。您可以使用下列其中一種方法停止或刪除執行個體:

    • Google Cloud 控制台:完成下列步驟:

      1. 前往「VM instances」(VM 執行個體) 頁面。

      2. 選取執行個體,然後按一下 「停止」「刪除」。如果沒有「停止」或「刪除」選項,請依序點按「更多動作」 >「停止」或「刪除」

      3. 在隨即顯示的對話方塊中,選取「Skip graceful shutdown (if applicable)」(略過正常關機 (如適用)) 核取方塊,然後確認停止或刪除執行個體。

    • Google Cloud CLI:在指令中加入 --no-graceful-shutdown 標記。

    • REST API:在要求網址中加入 noGracefulShutdown=true 查詢參數。

正常關機程序結束後,Compute Engine 會將進階設定和電源介面 (ACPI) G2 Soft Off 信號傳送至客體 OS,將執行個體狀態設為 STOPPING,然後繼續執行停止或刪除作業。

停止或刪除,但未安全關機

在執行個體中啟用正常關機後,您仍可停止或刪除執行個體,不必經過正常關機程序。舉例來說,如果您不需要在特定日期正常關閉執行個體,或是執行個體上執行的工作負載已變更,這種做法有助於節省成本。

如要略過正常關機程序,請採取下列任一步驟:

限制

正常關機具有下列限制:

  • 您無法在下列運算執行個體中啟用正常關機:

    • 屬於代管執行個體群組 (MIG) 的執行個體。

    • 指定有限執行階段的執行個體。

  • 在執行個體中啟用正常關機後,您就無法執行下列操作:

    • 您無法更新需要重新啟動的執行個體屬性。

    • 如果執行個體是 TPU VM,則無法模擬主機維護事件。

  • 如果正常關機程序正在進行 (PENDING_STOP),則無法執行下列操作:

    • 您無法更新執行個體屬性。

    • 如果執行個體正在刪除,您就無法啟用或停用防刪除功能

  • 如果發生下列情況,執行個體不會正常關機,或正常關機程序會中斷:

    • Spot VM 或先占執行個體遭到先占

    • 執行個體的主機維護政策設為 TERMINATE,且 Compute Engine 因主機事件停止執行個體。

  • 您一次最多只能正常關閉並刪除 8,000 個執行個體,且每項專案和每個區域皆適用此限制。

  • 只有在 Compute Engine 完成建立所有執行個體後,您才能為大量建立的執行個體正常關機或修改正常關機設定。

定價

在運算執行個體中啟用或停用正常關機功能,都不會產生費用。 不過,如果您停止或刪除已啟用正常關機的執行個體,系統仍會繼續向您收取執行個體的費用。當正常關機期間結束,且執行個體狀態變更為 STOPPING 時,這些費用就會停止。

如需詳細的定價資訊,請參閱 VM 執行個體定價

後續步驟