本文說明如何增加執行個體彈性,讓您在 MIG 中設定多種機器類型。
您可以在建立 MIG 或編輯現有 MIG 時,新增執行個體彈性。如要增加彈性,請在 MIG 中設定執行個體彈性政策。這項政策會覆寫執行個體範本中指定的機器類型。每次 MIG 建立虛擬機器 (VM) 執行個體時,系統會根據資源可用性自動選取您在政策中列出的其中一個機器類型。您也可以為機器類型清單指派排名,以表示偏好順序。
如要瞭解執行個體彈性在 MIG 中的運作方式,請參閱「關於執行個體彈性」。
事前準備
- 請務必選擇 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
點選「建立執行個體群組」。
在「Name」欄位中,輸入 MIG 的名稱。
在「Instance template」(執行個體範本) 清單中,選取要用於 MIG 的執行個體範本。
您必須先完成下列操作,才能指定「執行個體數量」並新增「執行個體選項」:
設定位置如下:
捲動至「Location」(位置) 專區,然後選取「Multiple zones」(多可用區)。
在「區域」和「可用區」下拉式選單中,選取要建立 MIG 中的 VM 的區域和可用區。如果您選取區域執行個體範本,系統會預設選取該範本的區域。
在「Target distribution shape」(目標分配型態)欄位中,選取「Balanced」(平衡)或「Any single zone」(任何單一可用區)。
在隨即開啟的對話方塊中,按一下「Disable instance redistribution」。
刪除自動調度資源設定的方式如下:
在「Autoscaling」(自動調度資源) 部分,從「Autoscaling mode」(自動調度資源模式) 下拉式選單中,按一下「Delete autoscaling configuration」(刪除自動調度資源設定)。
在隨即開啟的對話方塊中,按一下「刪除」。
捲動回「Number of instances」欄位。
在「Number of instances」(執行個體數) 欄位中,指定群組中所需的 VM 數量。
在「Instance selections」(執行個體選項) 部分,按一下「Add instance selections」(新增執行個體選項)。
「Instance selections」視窗隨即開啟。
按一下「新增執行個體選取項目」。
在「New instance selection」(新執行個體選取) 部分執行下列操作:
在「Name」欄位中,輸入要選取的執行個體名稱。
在「Machine types」部分,按一下「Add machine type」,選取要新增至執行個體選項的機器類型,然後按一下「Done」。
針對要新增至執行個體選取項目的每個機器類型重複執行這項步驟。
將機器類型新增至執行個體選項後,請按一下「完成」。
在「Instance selections」視窗中,按一下「Done」。
其他欄位則保留預設設定,或視需要進行修改。
按一下 [建立]。
INSTANCE_GROUP_NAME
:MIG 名稱。REGION
:要建立 MIG 的區域。TARGET_SIZE
:您希望 MIG 建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL
:您要在 MIG 中用來建立 VM 的執行個體範本網址。網址可以包含執行個體範本的ID 或名稱。請指定下列其中一個值:- 區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 區域執行個體範本:
SHAPE
:目標分配型態。這個值可以是balanced
或any-single-zone
。不支援其他目標發布形狀。MACHINE_TYPE
:您要在 MIG 中設定的機器類型,例如n1-standard-16,n2-standard-16,e2-standard-16
。PROJECT_ID
:您的專案 ID。REGION
:要建立 MIG 的區域。INSTANCE_GROUP_NAME
:MIG 名稱。TARGET_SIZE
:您希望 MIG 建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL
:您要在 MIG 中用來建立 VM 的執行個體範本網址。網址可以包含執行個體範本的ID 或名稱。請指定下列其中一個值:- 區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 區域執行個體範本:
SHAPE
:目標分配型態。這個值可以是BALANCED
或ANY_SINGLE_ZONE
。不支援其他目標發布形狀。INSTANCE_SELECTION
:機器類型清單的名稱。MACHINE_TYPE
:您要在 MIG 中設定的機器類型,例如"n1-standard-16","n2-standard-16","e2-standard-16"
。前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
點選「建立執行個體群組」。
在「Name」欄位中,輸入 MIG 的名稱。
在「Instance template」(執行個體範本) 清單中,選取要用於 MIG 的執行個體範本。
您必須先完成下列操作,才能指定「執行個體數量」並新增「執行個體選項」:
設定位置如下:
捲動至「Location」(位置) 專區,然後選取「Multiple zones」(多可用區)。
在「區域」和「可用區」下拉式選單中,選取要建立 MIG 中的 VM 的區域和可用區。如果您選取區域執行個體範本,系統會預設選取該範本的區域。
在「Target distribution shape」(目標分配型態)欄位中,選取「Balanced」(平衡)或「Any single zone」(任何單一可用區)。
在隨即開啟的對話方塊中,按一下「Disable instance redistribution」。
刪除自動調度資源設定的方式如下:
在「Autoscaling」(自動調度資源) 部分,從「Autoscaling mode」(自動調度資源模式) 下拉式選單中,按一下「Delete autoscaling configuration」(刪除自動調度資源設定)。
在隨即開啟的對話方塊中,按一下「刪除」。
捲動回「Number of instances」欄位。
在「Number of instances」(執行個體數) 欄位中,指定群組中所需的 VM 數量。
在「Instance selections」(執行個體選項) 部分,按一下「Add instance selections」(新增執行個體選項)。
「Instance selections」視窗隨即開啟。針對您要新增至 MIG 的每個執行個體選取項目,重複執行下列步驟。
按一下「新增執行個體選取項目」。
在「New instance selection」(新執行個體選取) 部分執行下列操作:
在「Name」欄位中,輸入要選取的執行個體名稱。
在「Rank」欄位中,輸入您為 MIG 新增的執行個體選項中偏好的順序。
在「Machine types」部分,按一下「Add machine type」,選取要新增至執行個體選項的機器類型,然後按一下「Done」。
針對要新增至執行個體選取項目的每個機器類型重複執行這項步驟。
將機器類型新增至執行個體選項後,請按一下「完成」。
新增執行個體選項後,請按一下「完成」。
其他欄位則保留預設設定,或視需要進行修改。
按一下 [建立]。
INSTANCE_GROUP_NAME
:MIG 名稱。REGION
:要建立 MIG 的區域。TARGET_SIZE
:您希望 MIG 建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL
:您要在 MIG 中用來建立 VM 的執行個體範本網址。網址可以包含執行個體範本的ID 或名稱。請指定下列其中一個值:- 區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 區域執行個體範本:
SHAPE
:目標分配型態。這個值可以是balanced
或any-single-zone
。不支援其他目標發布形狀。INSTANCE_SELECTION
:機器類型清單的名稱。您可以新增多份清單,並設定不同的偏好設定。MACHINE_TYPE
:您要在 MIG 中設定的機器類型。PROJECT_ID
:您的專案 ID。REGION
:要建立 MIG 的區域。INSTANCE_GROUP_NAME
:MIG 名稱。TARGET_SIZE
:您希望 MIG 建立及維護的 VM 數量。INSTANCE_TEMPLATE_URL
:您要在 MIG 中用來建立 VM 的執行個體範本網址。網址可以包含執行個體範本的ID 或名稱。請指定下列其中一個值:- 區域執行個體範本:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- 全域執行個體範本:
INSTANCE_TEMPLATE_ID
- 區域執行個體範本:
SHAPE
:目標分配型態。這個值可以是BALANCED
或ANY_SINGLE_ZONE
。ZONE
:要建立 MIG 的可用區。如果您想在特定可用區中建立區域性 MIG,請使用這個欄位。否則,您可以略過這個欄位。INSTANCE_SELECTION
:機器類型清單的名稱。您可以新增多份清單,並設定不同的偏好設定。MACHINE_TYPE
:您要在 MIG 中設定的機器類型。RANK
:代表偏好順序的數字。值越低,表示偏好程度越高。前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要設定多個機器類型的 MIG 名稱。
按一下 [編輯]。
在「Instance selections」(執行個體選項) 部分,按一下「Add instance selections」(新增執行個體選項)。
「Instance selections」視窗隨即開啟。
按一下「新增執行個體選取項目」。
在「New instance selection」(新執行個體選取) 部分執行下列操作:
在「Name」欄位中,輸入要選取的執行個體名稱。
在「Machine types」部分,按一下「Add machine type」,選取要新增至執行個體選項的機器類型,然後按一下「Done」。
針對要新增至執行個體選取項目的每個機器類型重複執行這項步驟。
將機器類型新增至執行個體選項後,請按一下「完成」。
在「Instance selections」視窗中,按一下「Done」。
按一下 [儲存]。
INSTANCE_GROUP_NAME
:您要新增執行個體彈性功能的 MIG 名稱。REGION
:MIG 所在的區域。MACHINE_TYPE
:您要在 MIG 中設定的機器類型,例如n1-standard-16,n2-standard-16,e2-standard-16
。PROJECT_ID
:您的專案 ID。REGION
:MIG 所在的地區。INSTANCE_GROUP_NAME
:您要新增執行個體彈性功能的 MIG 名稱。INSTANCE_SELECTION
:機器類型清單的名稱。MACHINE_TYPE
:您要在 MIG 中設定的機器類型,例如"n1-standard-16","n2-standard-16","e2-standard-16"
。RANK
:代表偏好順序的數字。值越低,表示偏好程度越高。前往 Google Cloud 控制台的「Instance groups」(執行個體群組) 頁面。
按一下要設定多個機器類型的 MIG 名稱。
按一下 [編輯]。
在「Instance selections」(執行個體選項) 部分,按一下「Add instance selections」(新增執行個體選項)。
「Instance selections」視窗隨即開啟。針對您要新增至 MIG 的每個執行個體選取項目,重複執行下列步驟。
按一下「新增執行個體選取項目」。
在「New instance selection」(新執行個體選取) 部分執行下列操作:
在「Name」欄位中,輸入要選取的執行個體名稱。
在「Rank」欄位中,輸入您為 MIG 新增的執行個體選項中偏好的順序。
在「Machine types」部分,按一下「Add machine type」,選取要新增至執行個體選項的機器類型,然後按一下「Done」。
針對要新增至執行個體選取項目的每個機器類型重複執行這項步驟。
將機器類型新增至執行個體選項後,請按一下「完成」。
新增執行個體選項後,請按一下「完成」。
按一下 [儲存]。
INSTANCE_GROUP_NAME
:您要新增執行個體彈性功能的 MIG 名稱。REGION
:MIG 所在的區域。INSTANCE_SELECTION
:機器類型清單的名稱。您可以新增多份清單,並設定不同的偏好設定。MACHINE_TYPE
:您要在 MIG 中設定的機器類型。PROJECT_ID
:您的專案 ID。REGION
:MIG 所在的區域。INSTANCE_GROUP_NAME
:MIG 名稱。INSTANCE_SELECTION
:機器類型清單的名稱。您可以新增多份清單,並設定不同的偏好設定。MACHINE_TYPE
:您要在 MIG 中設定的機器類型。
Terraform
如要在本機開發環境中使用本頁面的 Terraform 範例,請先安裝並初始化 gcloud CLI,然後使用您的使用者憑證設定應用程式預設憑證。
詳情請參閱 Set up authentication for a local development environment。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證 REST 使用權」。
建立具備執行個體彈性的 MIG
建立 MIG 前,如果您還沒有執行個體範本,請先建立執行個體範本。接著,您可以建立具備執行個體彈性的 MIG,以便覆寫執行個體範本中指定的機器類型。
您可以透過下列任一方式,建立具備彈性執行個體的 MIG:
建立含有多種機器類型的 MIG
主控台
gcloud
如要建立含有多種機器類型的區域 MIG,請使用
instance-groups managed create
指令,如下所示:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --region REGION \ --size TARGET_SIZE \ --template INSTANCE_TEMPLATE_URL \ --target-distribution-shape SHAPE \ --instance-redistribution-type none \ --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
區域性 MIG 不支援彈性執行個體。不過,如果您想在單一可用區中建立 MIG,請將目標分配型態設為
any-single-zone
。此外,如果您想要特定區域,請使用any-single-zone
分佈形狀,並加入--zones ZONE
標記。更改下列內容:
Terraform
如果您尚未建立執行個體範本 (用於指定 MIG 中每個 VM 的 VM 屬性),請建立執行個體範本。
如要建立區域性 MIG 並包含多種機器類型,請使用
google_compute_region_instance_group_manager
資源。如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如要建立含有多個機器類型的區域性 MIG,請向
regionInstanceGroupManagers.insert
方法發出POST
要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": TARGET_SIZE, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "distributionPolicy": { "targetShape": "SHAPE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2", ... ] } } } }
區域性 MIG 不支援彈性執行個體。不過,如果您想在單一可用區中建立 MIG,請將目標分配型態設為
ANY_SINGLE_ZONE
。此外,如果您想要指定區域,請使用ANY_SINGLE_ZONE
分布形狀,並在要求中加入distributionPolicy.zones[].zone
欄位。更改下列內容:
建立含有多個機器類型和偏好的 MIG
主控台
gcloud
如要建立區域性 MIG,並設定多個機器類型和偏好設定,請使用
instance-groups managed create
指令。gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --region REGION \ --size TARGET_SIZE \ --template INSTANCE_TEMPLATE_URL \ --target-distribution-shape SHAPE \ --instance-redistribution-type none \ --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \ --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"
區域性 MIG 不支援彈性執行個體。不過,如果您想在單一可用區中建立 MIG,請將目標分配型態設為
any-single-zone
。此外,如果您想要特定區域,請使用any-single-zone
分佈形狀,並加入--zones ZONE
標記。更改下列內容:
Terraform
如果您尚未建立執行個體範本 (用於指定 MIG 中每個 VM 的 VM 屬性),請建立執行個體範本。
如要建立區域性 MIG,並設定多個機器類型和偏好設定,請使用
google_compute_region_instance_group_manager
資源。如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
REST
如要建立區域性 MIG,並設定多個機型和偏好設定,請向
regionInstanceGroupManagers.insert
方法發出POST
要求。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": TARGET_SIZE, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "distributionPolicy": { "targetShape": "SHAPE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION_1": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2", ... ], "rank": RANK_1 }, "INSTANCE_SELECTION_2": { "machineTypes": [ "MACHINE_TYPE_3", "MACHINE_TYPE_4", ... ], "rank": RANK_2 }, ... } } }
區域性 MIG 不支援彈性執行個體。不過,如果您想在單一可用區中建立 MIG,請將目標分配型態設為
ANY_SINGLE_ZONE
。此外,如果您想要指定區域,請使用ANY_SINGLE_ZONE
分布形狀,並在要求中加入distributionPolicy.zones[].zone
欄位。更改下列內容:
為現有 MIG 新增彈性執行個體
您可以為現有的 MIG 新增彈性執行個體。您可以設定多個機器類型,並為特定機器類型設定偏好設定。
如果 MIG 中已有 VM,這些 VM 會繼續使用執行個體範本中指定的機器類型。如果您希望 MIG 中的現有 VM 使用執行個體彈性政策中的機器類型,請在新增政策後刪除現有 VM,然後調整 MIG 大小至所需的 VM 數量。調整大小時,新的 VM 會使用政策中的機器類型。
如要在現有的彈性執行個體政策中新增所選執行個體,請參閱「變更彈性執行個體設定」。
請透過下列其中一種方式,為 MIG 新增彈性執行個體:
新增多個機器類型
主控台
gcloud
如要在現有的 MIG 中加入多種機器類型,請使用
instance-groups managed update
指令。gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --region REGION \ --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
更改下列內容:
REST
如要在現有 MIG 中新增多個機器類型,請向
regionInstanceGroupManagers.patch
方法發出PATCH
要求。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2" ... ] } } } }
更改下列內容:
新增多個機型和偏好設定
主控台
gcloud
如要在現有 MIG 中新增多個機器類型和偏好設定,請使用
instance-groups managed update
指令gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --region REGION \ --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \ --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"
更改下列內容:
REST
如要在現有 MIG 中新增多個機器類型和偏好設定,請向
regionInstanceGroupManagers.patch
方法發出PATCH
要求。PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION_1": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2" ], "rank": RANK_1 }, "INSTANCE_SELECTION_2": { "machineTypes": [ "MACHINE_TYPE_3", "MACHINE_TYPE_4" ], "rank": RANK_2 } } } }
更改下列內容:
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-19 (世界標準時間)。
-