本頁說明如何在支援的 Compute Engine 執行個體上,手動啟動主機維護事件。這項功能可讓您啟動維護事件,控管執行個體維護作業的時間。如果工作負載可能會受到效能降低或停機影響,且您需要維護期間在特定時間開始,這項功能就非常實用。
手動啟動維護事件時,主機維護作業會立即開始。您無法指定維護事件的開始日期或時間。如果未使用這項功能,維護事件就會在即將進行維護通知中顯示的時間發生。
如要先測試應用程式如何處理維護事件,可以模擬維護事件。
限制
您可以手動啟動主機維護事件,適用於使用下列機器類型的執行個體:
- 加速器最佳化機器系列: 
- 運算最佳化機器系列: 
- 一般用途機器家族: 
- 記憶體最佳化機器系列: 
- 儲存空間最佳化機器系列: 
事前準備
- 
  
  如果尚未設定驗證,請先完成設定。
  驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,可以選取下列任一選項,向 Compute Engine 進行驗證:
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
 
 
  
    
      Select the tab for how you plan to use the samples on this page: gcloud- 
 
 
  
  
   
   
  
   
   
  
   
   
     
   
  
  
   
   
  
   
   
  
   
   
  
 
 
   
   
      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI: gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。 
- Set a default region and zone.
 REST如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。 安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI: gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。 詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。 必要的角色如要取得管理 VM 維護作業所需的權限,請要求管理員授予您專案的 Compute 執行個體管理員 (v1) ( roles/compute.instanceAdmin.v1) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備管理 VM 維護作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分: 所需權限如要管理 VM 維護作業,您必須具備下列權限: - 
                如要取得運算執行個體的相關資訊:
                  compute.instances.get
 手動啟動主機維護事件Compute Engine 會透過多種方式傳送即將進行維護作業的通知。您可以根據通知中的資訊,決定手動啟動維護事件的時間範圍。 查看通知資訊您可以透過下列方式查看維護事件通知: 如果主機維護事件的通知包含 canReschedule=True和maintenanceStatus=Pending,您可以選擇在指定時間開始維護,或等待維護事件在windowStartTime指定的時間發生。如果沒有通知,且您嘗試手動啟動維護事件,系統會顯示以下訊息: There is no reschedulable upcoming maintenance.這則訊息表示系統未排定任何維護事件,因此您不需要採取任何行動。 啟動維護事件您可以選擇開始主機維護作業的時間,不必等待排定的時間。使用 Google Cloud CLI 或 REST 觸發維護事件,事件會立即啟動。 gcloud如要啟動維護事件,請使用 compute instances perform-maintenance指令。 輸入指令後,主機維護作業就會立即開始。gcloud compute instances perform-maintenance INSTANCE_NAME \ --zone=ZONE更改下列內容: - INSTANCE_NAME:運算執行個體的名稱。
- ZONE:執行個體所在的區域。
 回應類似以下內容: resourceStatus: upcomingMaintenance: canReschedule: false latestWindowStartTime: '2025-01-15T19:57:17Z' maintenanceStatus: ONGOING type: SCHEDULED windowEndTime: '2025-01-15T23:57:11Z' windowStartTime: '2025-01-15T19:57:16Z'在回應中, canReschedule會設為false,而maintenanceStatus會設為ONGOING,表示主機維護作業正在進行中。REST如要啟動維護事件,請使用 instances.performMaintenance方法建構POST要求。POST: https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME/performMaintenance 更改下列內容: - PROJECT_NAME:專案名稱
- ZONE:運算執行個體所在的可用區
- INSTANCE_NAME:執行個體名稱
 回應的形式如下所示: upcomingMaintenance:{ "canReschedule":false "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"ONGOING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }在回應中, canReschedule會設為false,而maintenanceStatus會設為ONGOING,表示主機維護作業正在進行中。後續步驟- 瞭解如何模擬主機維護事件。
- 瞭解如何取得即時遷移通知。
- 瞭解如何設定主機維護通知的快訊。
 除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。 上次更新時間:2025-10-20 (世界標準時間)。 -