在 Compute Engine 執行個體中停用正常關機功能

本文說明如何在現有的 Compute Engine 執行個體中停用正常關機功能。

如要加快停止或刪除作業,並避免產生不必要的費用,您可以停用運算執行個體的正常關機功能。這項操作會設定運算執行個體,在停止或刪除作業開始後,立即轉換為 STOPPING 狀態。您不必等待正常關機計時器到期,也不必手動結束正常關機。

如要進一步瞭解正常關閉運算執行個體時適用的規定和限制,請參閱「關於正常關機」。

事前準備

  • 如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 Cloud de Confiance by S3NS 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    請根據您打算如何使用本頁範例,選取對應的分頁標籤:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,您不需要設定驗證機制。

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。

必要的角色

如要取得停用運算執行個體正常關機功能所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備運算執行個體的 compute.instances.update 權限,可停用運算執行個體的正常關機功能。

您或許還可透過自訂角色或其他預先定義的角色取得這項權限。

停用運算執行個體的正常關機功能

您可以在運算執行個體中停用正常關機功能,而不必重新啟動運算執行個體。不過,如果運算執行個體正在正常關機 (PENDING_STOP),則必須先結束正常關機,才能停用。

如要停用運算執行個體的正常關機功能,請選取下列其中一個選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 在「Name」(名稱) 欄中,按一下運算執行個體的名稱。運算執行個體的詳細資料頁面會在「Details」(詳細資料) 分頁中開啟。

  3. 按一下「Edit」(編輯)。

  4. 在「Management」(管理) 區段中,取消勾選「Gracefully shut down the VM」(按適當流程關閉 VM) 核取方塊。

  5. 按一下 [儲存]。

gcloud

如要停用運算執行個體的正常關機功能,請使用 gcloud compute instances update 指令並加上 --no-graceful-shutdown 旗標:

gcloud compute instances update INSTANCE_NAME \
    --no-graceful-shutdown \
    --zone=ZONE

更改下列內容:

  • INSTANCE_NAME:運算執行個體的名稱。

  • ZONE:運算執行個體所在的可用區。

REST

  1. 建立空白 JSON 檔案。

  2. 如要查看現有運算執行個體的屬性,請向 instances.get 方法發出 GET 要求:

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    更改下列內容:

    • PROJECT_ID:運算執行個體所在的專案 ID。

    • ZONE:運算執行個體所在的可用區。

    • INSTANCE_NAME:現有運算執行個體的名稱。

  3. 在先前步驟建立的空白 JSON 檔案中,執行下列操作:

    1. 輸入 GET 要求的輸出內容中的運算執行個體設定詳細資料。

    2. 找出 gracefulShutdown.enabled 欄位,然後將值變更為 false:

      {
        ...
        "scheduling": {
          ...
          "gracefulShutdown": {
            "enabled": false
          }
        },
        ...
      }
      
  4. 如要更新運算執行個體,請向 instances.update 方法發出 PUT 要求。包含下列項目:

    • 在要求網址中,加入 mostDisruptiveAllowedAction 查詢參數。

    • 在要求主體中,加入您在先前步驟建立及更新的 JSON 檔案中的運算執行個體屬性。

    更新運算執行個體的 PUT 要求大致如下:

    PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION
    
    {
      ...
      "scheduling": {
        ...
        "gracefulShutdown": {
          "enabled": false
        }
      },
      ...
    }
    

    將 ALLOWED_ACTION 替換為下列其中一個值:

    • NO_EFFECT:要求會檢查更新要求是否有效,以及資源是否可用,但不會更新運算執行個體。

    • REFRESH:如果修改後的屬性不需要重新啟動運算執行個體,Compute Engine 就會更新運算執行個體。

如要進一步瞭解如何更新運算執行個體的屬性,請參閱「更新執行個體屬性」。

後續步驟