查看 Compute Engine 執行個體中的正常關機

本文說明如何查看 Compute Engine 執行個體正常關機的設定和進度。

查看運算執行個體的詳細資料時,您可以執行下列操作:

  • 查看正常關機設定:檢查是否已啟用正常關機,如果是,請查看時間長度上限。

  • 監控正常關機:如果正在正常關機,您可以查看剩餘時間,以及 Compute Engine 是否正在停止或刪除運算執行個體。

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

事前準備

  • 如果尚未設定驗證,請先完成設定。驗證程序會確認您的身分,以便授予 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 進行驗證」一節。

必要的角色

如要取得查看運算執行個體正常關機所需的權限,請要求管理員在專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備查看運算執行個體正常關機所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

必須具備下列權限,才能查看運算執行個體的正常關機設定:

  • 如要查看運算執行個體的詳細資料: compute.instances.get 專案
  • 如要查看運算執行個體清單,請在專案上執行 compute.instances.list
  • 如要查看全球 Compute Engine 作業清單: compute.globalOperations.list 專案
  • 如要查看特定區域的 Compute Engine 作業清單,請執行下列操作: compute.regionOperations.list 專案
  • 如要查看可用區中的 Compute Engine 作業清單: compute.zoneOperations.list 專案
  • 如要查看記錄清單,請在專案中執行 logging.logEntries.list

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

查看正常關機設定

如要查看運算執行個體的正常關機設定,請選取下列其中一個選項:

控制台

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

    前往 VM 執行個體

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

  3. 如要查看正常關機設定,請在「Availability policies」(可用性政策) 區段中,查看「Graceful shutdown maximum duration」(正常關機時間長度上限) 欄位的值。這個欄位會顯示正常關機期間。如果顯示連字號 (-),表示正常關機功能已停用。

gcloud

如要查看運算執行個體的正常關機設定,請使用 gcloud compute instances describe 指令:

gcloud compute instances describe INSTANCE_NAME \
    --zone=ZONE

更改下列內容:

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

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

如果已啟用正常關機功能,輸出內容會與下列內容相似:

...
scheduling:
  ...
  gracefulShutdown:
    enabled: true
    maxDuration:
      seconds: 'MAX_DURATION'
  ...
...

輸出內容包含 MAX_DURATION 值,表示正常關機的最長持續時間 (以秒為單位)。如果您在啟用正常關機時未指定自訂時間長度,Compute Engine 會省略 maxDuration 欄位,並使用預設時間長度 10 分鐘。

REST

如要查看運算執行個體的正常關機設定,請向 instances.get 方法發出 GET 要求:

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

更改下列內容:

  • PROJECT_ID:您建立運算執行個體的專案 ID。

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

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

如果已啟用正常關機功能,輸出內容會與下列內容相似:

{
  ...
  "scheduling": {
    ...
    "gracefulShutdown": {
      "enabled": true,
      "maxDuration": {
        "seconds": "MAX_DURATION"
      }
    }
  },
  ...
}

輸出內容包含 MAX_DURATION 值,表示正常關機的最長持續時間 (以秒為單位)。如果您在啟用正常關機時未指定自訂時間長度,Compute Engine 會省略 maxDuration 欄位,並使用預設時間長度 10 分鐘。

監控正常關機

如要監控運算執行個體中正在進行的正常關機程序,請使用下列其中一種方法:

使用 Cloud de Confiance 控制台、gcloud CLI 或 REST API 監控正常關機

Compute Engine 停止或刪除運算執行個體,並開始正常關機後,您可以查看運算執行個體的詳細資料,監控正常關機的開始和完成時間。

如要使用Cloud de Confiance 控制台、gcloud CLI 或 REST API,監控運算執行個體中正在進行的正常關機作業,請選取下列其中一個選項:

控制台

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

    前往 VM 執行個體

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

  3. 如果正在正常關機,請查看「Basic information」(基本資訊) 區段中的下列欄位:

    • 狀態:顯示運算執行個體的狀態。正常關機期間,系統會顯示「Pending stop」(待停止),並顯示倒數計時器,指出正常關機何時結束。

    • 目標狀態:顯示 Compute Engine 是否正在停止 (Stopped) 或刪除 (Deleted) 運算執行個體。

gcloud

如要監控運算執行個體中正在進行的正常關機程序,請使用 gcloud compute instances describe 指令:

gcloud compute instances describe INSTANCE_NAME \
    --zone=ZONE

更改下列內容:

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

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

如果正在正常關機,輸出內容會與下列內容相似:

...
resourceStatus:
  ...
  shutdownDetails:
    maxDuration:
      seconds: 'MAX_DURATION'
    requestTimestamp: 'REQUEST_TIMESTAMP'
    stopState: STOP_STATE
    targetState: TARGET_STATE
...
status: PENDING_STOP
...

這項輸出內容包含下列值:

  • MAX_DURATION:正常關機的最長持續時間,以秒為單位。當 STOP_STATE 變更為 STOPPING 時,Compute Engine 會刪除 maxDuration 欄位。

  • REQUEST_TIMESTAMP:表示 STOP_STATE 啟動時間的時間戳記。

  • STOP_STATE:運算執行個體的停止階段。可能的值如下:

    • PENDING_STOP:Compute Engine 已開始正常關機。運算執行個體會維持這個狀態,直到您手動結束正常關機程序,或計時器到時為止。

    • STOPPING:正常關機程序已結束,Compute Engine 會繼續執行停止或刪除作業。

  • TARGET_STATE:Compute Engine 是否正在停止 (STOPPED) 或刪除 (DELETED) 運算執行個體。

Compute Engine 停止運算執行個體後,會將運算執行個體的狀態變更為 TERMINATE,並刪除 shutdownDetails 欄位。

REST

如要監控運算執行個體中正在進行的正常關機程序,請向 instances.get 方法發出 GET 要求:

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

更改下列內容:

  • PROJECT_ID:您建立運算執行個體的專案 ID。

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

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

如果正在正常關機,輸出內容會與下列內容相似:

{
  ...
  "resourceStatus": {
    ...
    "shutdownDetails": {
      "maxDuration": {
        "seconds": "MAX_DURATION"
      },
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
  },
  ...
  "status": "PENDING_STOP",
  ...
}

這項輸出內容包含下列值:

  • MAX_DURATION:正常關機的最長持續時間,以秒為單位。當 STOP_STATE 變更為 STOPPING 時,Compute Engine 會刪除 maxDuration 欄位。

  • REQUEST_TIMESTAMP:表示 STOP_STATE 啟動時間的時間戳記。

  • STOP_STATE:運算執行個體的停止階段。可能的值如下:

    • PENDING_STOP:Compute Engine 已開始正常關機。運算執行個體會維持這個狀態,直到您手動結束正常關機程序,或計時器到時為止。

    • STOPPING:正常關機程序已結束,Compute Engine 會繼續執行停止或刪除作業。

  • TARGET_STATE:Compute Engine 是否正在停止 (STOPPED) 或刪除 (DELETED) 運算執行個體。

Compute Engine 停止運算執行個體後,會將運算執行個體的狀態變更為 TERMINATE,並刪除 shutdownDetails 欄位。

查詢中繼資料伺服器,監控正常關機程序

如要透過查詢中繼資料伺服器,監控正在進行的正常關機作業,請使用下列其中一個選項。如要進一步瞭解如何查看及查詢運算執行個體的中繼資料,請參閱「查看及查詢 VM 中繼資料」。

Linux

  1. 連線至 Linux 運算執行個體。

  2. 如要查詢 shutdown-details 中繼資料金鑰,請使用 curl 工具執行下列指令:

    user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details
    

    如果正在正常關機,輸出內容會與下列內容相似:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    輸出內容包含下列值:

    • MAX_DURATION:正常關機時間長度,以秒為單位。Compute Engine 將 STOP_STATE 設為 STOPPING 後,會刪除 maxDuration 欄位。

    • REQUEST_TIMESTAMP:STOP_STATE 開始的時間戳記。

    • STOP_STATE:運算執行個體的停止階段。可能的值如下:

      • PENDING_STOP:Compute Engine 已開始正常關機。運算執行個體會維持這個狀態,直到您手動結束正常關機程序,或計時器到期為止。

      • STOPPING:正常關機程序已結束,Compute Engine 繼續執行停止或刪除作業。

    • TARGET_STATE:Compute Engine 是否正在停止 (STOPPED) 或刪除 (DELETED) 運算執行個體。

Windows

  1. 連線至 Windows Compute 執行個體。

  2. 如要查詢 shutdown-details 中繼資料鍵,請使用 Invoke-RestMethod Cmdlet:

    PS C:\> 
    $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details")
    $value
    

    如果正在正常關機,輸出內容會與下列內容相似:

    {
      "maxDuration": "MAX_DURATION",
      "requestTimestamp": "REQUEST_TIMESTAMP",
      "stopState": "STOP_STATE",
      "targetState": "TARGET_STATE"
    }
    

    輸出內容包含下列值:

    • MAX_DURATION:正常關機時間長度,以秒為單位。Compute Engine 將 STOP_STATE 設為 STOPPING 後,會刪除 maxDuration 欄位。

    • REQUEST_TIMESTAMP:STOP_STATE 開始的時間戳記。

    • STOP_STATE:運算執行個體的停止階段。可能的值如下:

      • PENDING_STOP:Compute Engine 已開始正常關機。運算執行個體會維持這個狀態,直到您手動結束正常關機程序,或計時器到期為止。

      • STOPPING:正常關機程序已結束,Compute Engine 繼續執行停止或刪除作業。

    • TARGET_STATE:Compute Engine 是否正在停止 (STOPPED) 或刪除 (DELETED) 運算執行個體。

查看稽核記錄,監控正常關機作業

Compute Engine 停止或刪除運算執行個體,並開始正常關機後,Compute Engine 會建立 Cloud 稽核記錄,追蹤正常關機程序。您可以查看這些記錄,追蹤正常關機的開始和完成時間。

如要使用 Cloud 稽核記錄監控正常關機,請選取下列其中一個選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Logs Explorer」頁面。

    前往 Logs Explorer

  2. 在查詢窗格中輸入下列查詢:

    resource.type="gce_instance"
    protoPayload.serviceName="compute.googleapis.com"
    protoPayload.methodName:"compute.instances.gracefulShutdown"
    
  3. 點選「執行查詢」。

gcloud

如要在正常關機程序啟動後查看 Cloud 稽核記錄,請使用下列其中一個 gcloud logging read 指令:

  • 如要監控所有正常關機的運算執行個體,請執行下列指令:

    gcloud logging read 'resource.type="gce_instance" AND protoPayload.serviceName="compute.googleapis.com" AND protoPayload.methodName:"compute.instances.gracefulShutdown"'
    
  • 如要監控單一運算執行個體的正常關機程序,請執行下列指令:

    gcloud logging read 'resource.type="gce_instance" AND protoPayload.serviceName="compute.googleapis.com" AND protoPayload.methodName:"compute.instances.gracefulShutdown" AND "INSTANCE_NAME"'
    

    將 INSTANCE_NAME 替換為運算執行個體的名稱。

輸出結果會與下列內容相似:

insertId: -gvb9n5drmdg
labels:
  compute.googleapis.com/root_trigger_id: e23093bc-2c55-4ee4-b7cf-ea8b295f0d9a
logName: projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event
operation:
  id: gracefulShutdown-1783417965660-656025a544aa5-0eefacb0-38dc7152
  last: true
  producer: compute.instances.gracefulShutdown
protoPayload:
  '@type': type.googleapis.com/google.cloud.audit.AuditLog
  authenticationInfo:
    principalEmail: system@google.com
  methodName: compute.instances.gracefulShutdown
  request:
    '@type': type.googleapis.com/compute.instances.gracefulShutdown
  resourceName: projects/example-project/zones/us-central1-a/instances/vm-01
  serviceName: compute.googleapis.com
  status:
    message: Instance graceful shutdown completed.
receiveTimestamp: '2026-07-07T10:04:06.109088155Z'
resource:
  labels:
    instance_id: '4210316577417032387'
    project_id: example-project
    zone: us-central1-a
  type: gce_instance
severity: INFO
timestamp: '2026-07-07T10:04:05.846992Z'

REST

如要在正常關機程序啟動後查看 Cloud 稽核記錄,請向 entries.list 方法發出 POST 要求:

POST https://logging.googleapis.com/v2/entries:list

{
  "resourceNames": [
    "projects/PROJECT_ID"
  ],
  "filter": "resource.type=\"gce_instance\" AND protoPayload.serviceName=\"compute.googleapis.com\" AND protoPayload.methodName:\"compute.instances.gracefulShutdown\""
}

將 PROJECT_ID 替換為運算執行個體所在專案的 ID。

輸出結果會與下列內容相似:

{
  "insertId": "-gvb9n5drmdg",
  "labels": {
    "compute.googleapis.com/root_trigger_id": "e23093bc-2c55-4ee4-b7cf-ea8b295f0d9a"
  },
  "logName": "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event",
  "operation": {
    "id": "gracefulShutdown-1783417965660-656025a544aa5-0eefacb0-38dc7152",
    "last": true,
    "producer": "compute.instances.gracefulShutdown"
  },
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "authenticationInfo": {
      "principalEmail": "system@google.com"
    },
    "methodName": "compute.instances.gracefulShutdown",
    "request": {
      "@type": "type.googleapis.com/compute.instances.gracefulShutdown"
    },
    "resourceName": "projects/example-project/zones/us-central1-a/instances/vm-01",
    "serviceName": "compute.googleapis.com",
    "status": {
      "message": "Instance graceful shutdown completed."
    }
  },
  "receiveTimestamp": "2026-07-07T10:04:06.109088155Z",
  "resource": {
    "labels": {
      "instance_id": "4210316577417032387",
      "project_id": "example-project",
      "zone": "us-central1-a"
    },
    "type": "gce_instance"
  },
  "severity": "INFO",
  "timestamp": "2026-07-07T10:04:05.846992Z"
}

詳情請參閱「查看稽核記錄」。

查看 Compute Engine 作業,監控正常關機程序

Compute Engine 停止或刪除運算執行個體,並開始正常關機後,您可以查看執行中的停止或刪除作業,監控正常關機程序。

如要查看 Compute Engine 作業,藉此監控正常關機程序,請選取下列其中一個選項:

控制台

  1. 前往 Cloud de Confiance 控制台的「Operations」(作業) 頁面。

    前往「Operations」

  2. 選用:如要縮小作業清單範圍,只顯示特定區域或可用區中正在進行的正常關機作業,請在 「Filter」(篩選器) 欄位中輸入下列其中一個篩選器:

    • 如要查看某個區域的所有作業,請使用下列篩選器:

      Target:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION
      
    • 如要查看單一可用區中的所有作業,請使用下列篩選器:

      Target:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE
      

    更改下列內容:

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

    • REGION:運算執行個體所在的區域。

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

  3. 如要查看特定作業的詳細資料,請在「Operation summary」(作業摘要) 欄中,按一下作業摘要。系統會開啟作業詳細資料頁面。

gcloud

如要查看專案中運算執行個體所有進行中或已完成的正常關機作業,請使用下列 gcloud compute operations list 指令:

gcloud compute operations list \
    --filter="operationType=compute.instances.gracefulShutdown"

輸出結果會與下列內容相似:

NAME: operation-1782409401831-65517873d8fe0-76bb4c47-978a64be
TYPE: compute.instances.gracefulShutdown
TARGET: vm-01
HTTP_STATUS: 200
STATUS: RUNNING
TIMESTAMP: 2026-07-07T10:04:05.846992Z

NAME: operation-1783420590456-656035b8e9fa0-84dc2a39-1b9c83fe
TYPE: compute.instances.gracefulShutdown
TARGET: vm-02
HTTP_STATUS: 200
STATUS: RUNNING
TIMESTAMP: 2026-07-07T10:04:05.846992Z

如要查看特定區域或可用區中正在進行的正常關機作業,請使用相同指令,並加上 --regions 或 --zones 旗標。

REST

如要查看專案中運算執行個體的所有進行中或已完成正常關機,請提出下列其中一項要求:

  • 如要查看所有區域和可用區中,所有進行中或已完成的正常關機作業,請向 globalOperations.list 方法發出 GET 要求:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/operations?filter=operationType=compute.instances.gracefulShutdown
    
  • 如要查看某個區域內所有進行中或已完成的正常關機作業,請向 regionOperations.list 方法發出 GET 要求:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/operations?filter=operationType=compute.instances.gracefulShutdown
    
  • 如要查看單一可用區中所有進行中或已完成的正常關機作業,請向 zoneOperations.list 方法發出 GET 要求:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations?filter=operationType=compute.instances.gracefulShutdown
    

更改下列內容:

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

  • REGION:運算執行個體所在的區域。

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

輸出結果會與下列內容相似:

{
  "kind": "compute#operationList",
  "id": "projects/example-project/zones/us-central1-a/operations",
  "items": [
    {
      "kind": "compute#operation",
      "id": "4210316577417032387",
      "name": "operation-1782409401831-65517873d8fe0-76bb4c47-978a64be",
      "operationType": "compute.instances.gracefulShutdown",
      "targetLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instances/vm-01",
      "status": "RUNNING",
      "user": "system@google.com",
      "progress": 0,
      "insertTime": "2026-07-07T10:04:05.846992Z",
      "startTime": "2026-07-07T10:04:05.846992Z",
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/operations/operation-1782409401831-65517873d8fe0-76bb4c47-978a64be"
    },
    ...
  ]
}

詳情請參閱「查看 Compute Engine 作業」。

後續步驟