在區域代管執行個體群組 (MIG) 中,如要在地區的所選區域間維持平均個數的虛擬機器 (VM) 執行個體,請使用主動式執行個體重新分配功能。這項設定選項可在發生區域層級的故障時,最大化應用程式的可用性。
根據預設,系統會啟用地區性 MIG 的主動式執行個體重新分配功能。停用主動式執行個體重新分配功能後,群組就不會嘗試主動重新分配區域間的 VM。如果您需要執行下列操作,停用主動式執行個體重新分配功能就非常實用:
- 刪除或捨棄群組中的 VM,但不影響其他正在執行的 VM。舉例來說,您可以在工作完成後刪除相關批次工作站 VM,而不影響其他工作站。
- 避免主動式重新分配功能不小心自動刪除了有狀態工作負載 VM。
- 將 MIG 的目標分配型態設為
BALANCED
或ANY_SINGLE_ZONE
。
建立地區代管執行個體群組時,您可以停用主動式執行個體重新分配功能。您也可以為現有的區域性 MIG 啟用或停用這項功能。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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」。
建立停用主動式執行個體重新分配功能的群組
如要建立停用主動式執行個體重新分配功能的區域 MIG,請使用 Google Cloud console、gcloud CLI、Terraform 或 REST。
主控台
- 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
- 按一下 [Create Instance Group] (建立執行個體群組) 以建立新的執行個體群組。
- 指定執行個體群組的名稱,並自行選擇是否提供相關說明。
- 為執行個體群組選擇執行個體範本,或建立新的範本。
- 指定這個群組中的 VM 數量。對於高可用性工作負載,請記得佈建足夠的 VM,以在發生區域失敗時支援您的應用程式。
- 在「Location」(位置) 下,選取 [Multiple zones] (多區域)。
- 選擇區域,並選取您要使用的可用區。
- 如要停用主動式執行個體重新分配,請在「Instance redistribution」(執行個體重新分配) 之下,取消選取「Allow instance redistribution」(允許重新分配執行個體) 核取方塊。
- 繼續進行其餘的 MIG 建立程序。
gcloud
如要建立不執行主動式執行個體重新分配功能的新地區 MIG,請使用
gcloud compute instance-groups managed create
指令,並將--instance-redistribution-type
旗標設為NONE
。gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE_NAME \ --size TARGET_SIZE \ --zones ZONES \ --instance-redistribution-type NONE
更改下列內容:
INSTANCE_GROUP_NAME
:MIG 的名稱INSTANCE_TEMPLATE_NAME
:要用於群組的執行個體範本名稱TARGET_SIZE
:群組的目標大小ZONES
:您要部署 VM 所在單一地區內的區域清單
例如:
gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --instance-redistribution-type NONE
Terraform
如果您尚未建立執行個體範本,指定 MIG 中每個 VM 要使用的機型、開機磁碟映像檔、網路和其他 VM 屬性,請建立執行個體範本。
如要建立區域 MIG,請使用
google_compute_region_instance_group_manager
資源。如要在區域 MIG 中停用主動式執行個體重新分配功能,請加入
update_policy
區塊,並將instance_redistribution_type
欄位設為NONE
。如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如要建立不執行主動式執行個體重新分配的非自動調度資源地區 MIG,請向
regionInstanceGroupManagers.insert
方法發出POST
要求。在要求主體中加入updatePolicy
屬性,並將其instanceRedistributionType
欄位設為NONE
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME", "targetSize": TARGET_SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE"}, {"zone": "zones/ZONE"} ] }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
更改下列內容:
PROJECT_ID
:這項要求的專案 IDREGION
:執行個體群組的所在地區INSTANCE_GROUP_NAME
:MIG 的名稱INSTANCE_TEMPLATE_NAME
:要用於群組的執行個體範本名稱TARGET_SIZE
:執行個體群組的目標大小ZONE
:您要部署 VM 所在單一地區內的特定區域名稱
停用主動式執行個體重新分配功能
如要停用或重新啟用主動式執行個體重新分配功能,請使用Google Cloud console、gcloud CLI 或 REST。
主控台
- 前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
- 在清單的「Name」(名稱) 欄底下,按一下要修改的執行個體群組名稱。
- 按一下「編輯」,修改這個代管執行個體群組。
- 在「Instance redistribution」(執行個體重新分配) 之下,取消選取「Allow instance redistribution」(允許執行個體重新分配功能) 核取方塊。
- 按一下 [儲存]。
gcloud
如要停用主動式執行個體重新分配功能,請使用
compute instance-groups managed update
指令,並將--instance-redistribution-type
旗標設為NONE
,如下所示:gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --instance-redistribution-type NONE \ --region REGION
更改下列內容:
INSTANCE_GROUP_NAME
:MIG 的名稱REGION
:執行個體群組的所在地區
REST
如要停用主動式執行個體重新分配功能,請使用
regionInstanceGroupManagers.patch
方法,並將instanceRedistributionType
欄位設為NONE
,如下所示:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "instanceRedistributionType": "NONE" } }
更改下列內容:
PROJECT_ID
:這項要求的專案 IDREGION
:執行個體群組的所在地區INSTANCE_GROUP_NAME
:MIG 的名稱
啟用主動式執行個體重新分配功能
如要啟用主動式執行個體重新分配功能,請使用與停用主動式執行個體重新分配功能類似的指令,但將執行個體重新分配類型設為
PROACTIVE
。如果您手動刪除或捨棄部分代管執行個體,因而造成地區間 VM 分布不均的狀態,那麼您必須先手動重新平衡群組,才能重新啟用主動式執行個體重新分配功能。任兩個區域之間的 VM 數量不應相差超過 1 個 VM。
如果 VM 在各個可用區的分布不均 (兩個可用區之間的 VM 數量相差 2 個以上),區域性 MIG 就不允許啟用主動式執行個體重新分配。這是為了防止系統從含有較多 VM 的區域意外自動刪除 VM (系統會觸發這項作業來達成分布均勻的狀態)。
後續步驟
- 瞭解如何查看 MIG 和 VM 的相關資訊。
- 瞭解如何在 MIG 中使用 VM,包括新增、重新建立及移除執行個體。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-08 (世界標準時間)。
-