本文說明如何查看 Compute Engine 執行個體中的正常關機設定和進度。如要進一步瞭解正常關機,請參閱「正常關機總覽」。
查看執行個體詳細資料時,您可以執行下列操作:
查看正常關機設定。你可以確認是否已啟用正常關機功能,以及關機時間長度。
監控正常關機。正常關機程序進行中時,您可以檢查下列事項:
正常關機程序逾時。
如果正在進行停止或刪除作業。
事前準備
-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上的分頁,瞭解如何使用範例:
控制台
使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。
gcloud
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
- 設定預設地區和區域。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得查看運算執行個體正常關機所需的權限,請要求系統管理員授予您專案的「Compute 執行個體管理員 (v1) 」(roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備專案的 compute.instances.get 權限,可查看運算執行個體的正常關機程序。
查看正常關機設定
如要查看運算執行個體中的正常關機設定,請選取下列其中一個選項:
控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在「Name」(名稱) 欄中,按一下執行個體的名稱。
執行個體的詳細資料頁面會在「詳細資料」分頁中開啟。
如要檢查正常關機設定,請在「可用性政策」部分,查看「正常關機最長持續時間」欄位的值。這個欄位會顯示正常關機時間。如果顯示連字號 (-),表示已停用正常關機。
gcloud
如要查看執行個體中的正常關機設定,請使用 gcloud beta compute instances describe 指令:
gcloud beta 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
如要在執行個體中查看正常關機設定,請對 Beta 版 instances.get 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/beta/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 分鐘。
監控正常關機
如要監控運算執行個體中進行中的正常關機作業,請選取下列其中一個選項:
控制台
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
在「Name」(名稱) 欄中,按一下執行個體的名稱。
執行個體的詳細資料頁面會在「詳細資料」分頁中開啟。
如果正在執行正常關機程序,請在「基本資訊」部分檢查下列欄位:
狀態:這個欄位會顯示執行個體的狀態。在正常關機期間,這個欄位會顯示「Pending stop」(停止中)和倒數計時器。計時器會倒數計時,直到正常關機結束為止。
目標狀態:這個欄位會顯示 Compute Engine 是否正在停止 (已停止) 或刪除 (已刪除) 執行個體。
gcloud
如要監控執行個體中進行中的正常關機作業,請使用 gcloud beta compute instances describe 指令:
gcloud beta 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:正常關機期間的長度 (以秒為單位)。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 會先將 status 欄位設為 TERMINATE,然後刪除 shutdownDetails 欄位。
REST
如要監控執行個體中進行中的正常關機程序,請對 beta instances.get 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/beta/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:正常關機期間的長度 (以秒為單位)。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 會先將 status 欄位設為 TERMINATE,然後刪除 shutdownDetails 欄位。
中繼資料伺服器
連線至執行個體。
查詢中繼資料伺服器:
curl "http://metadata.google.internal/computeMetadata/v1/instance/shutdown-details/?recursive=true?alt=json" \-H "Metadata-Flavor: Google"如果正在進行正常關機,輸出內容會類似如下:
{ "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) 執行個體。