使用 Compute Engine 在某個區域大量建立虛擬機器 (VM) 時,如果應用程式不限於單一機器類型,您可以設定執行個體彈性,提高佈建所需 VM 數量的成功率。執行個體彈性可讓您指定一或多個適合工作負載的機型。接著,Compute Engine 會根據容量和配額可用性,使用一或多個這類機器類型佈建 VM。單一大量插入要求可建立多種機型的 VM。
執行個體彈性可協助您在需求量暴增時,盡可能提高資源可用性、提升成本效益,並安全地採用最新硬體。詳情請參閱「最佳化運算資源佈建」。
本文說明大量建立的 VM 如何運用執行個體彈性,包括最低 CPU 平台和磁碟的執行個體屬性覆寫,以及限制。如要進一步瞭解如何設定執行個體彈性,請參閱「使用執行個體彈性大量建立 VM」。
使用執行個體彈性
如要設定執行個體彈性,請在區域大量插入要求中定義一或多個執行個體選取項目,列出合適的機型。舉例來說,在 REST 要求中,您會加入 instanceFlexibilityPolicy 物件,並在其中定義一或多個 instanceSelections 物件,每個物件都包含機器類型清單。
您也可以指定在不同 CPU 平台執行的機型、具有不同架構 (例如 x86 和 Arm),或具有不同磁碟需求的機型。如要使用硬體需求不同的機型,請透過執行個體選取項目,覆寫要求執行個體屬性 (instanceProperties) 中的對應屬性。詳情請參閱「執行個體選取項目中的執行個體屬性覆寫」。
Compute Engine 收到要求後,會先驗證機器類型及其區域相容性,排除無效項目。只要至少有一個有效設定,作業就會繼續。
Compute Engine 接著會根據可用的硬體、配額和預留項目,嘗試佈建 VM。如果您為執行個體選取項目設定等級,系統會優先處理等級較低的選取項目。在每個排名中,Compute Engine 會考量未使用的預留項目和 Spot VM 指引,選取先占機率較低的機器類型。
執行個體選取項目中的執行個體屬性覆寫
選取執行個體時,您可以指定其他執行個體屬性,例如最低 CPU 平台 (minCpuPlatform) 和磁碟 (disks),藉此覆寫或新增至您在要求執行個體屬性 (instanceProperties) 中定義的屬性。當 Compute Engine 從執行個體選取項目中選取機器類型來建立 VM 時,會使用您在該選取項目中指定的執行個體屬性。如果未指定任何執行個體選取項的覆寫,Compute Engine 會使用 instanceProperties 中的對應屬性,從該選取項建立 VM。
在執行個體選取層級覆寫執行個體屬性,可讓您在單一大量插入要求中使用不同硬體設定時,享有更多控制權和彈性。
最低 CPU 平台覆寫
您可以為 Compute Engine 根據執行個體選項中的機器類型建立的 VM,指定最低 CPU 平台 (minCpuPlatform)。這項覆寫功能可讓您混合不同的機器類型,並選擇性套用最低 CPU 平台。執行個體選取項目中的每個機型都必須支援有效的最低 CPU 平台,無論是在選取項目中指定,還是沿用自 instanceProperties。
或者,您也可以將 minCpuPlatform 欄位設為 AUTOMATIC。這項設定會覆寫 instanceProperties 中的 minCpuPlatform 值,並允許 Compute Engine 為執行個體選取項目中的機型使用任何相容的 CPU 平台。
如要混合使用機型,但只有一個系列支援特定 CPU 平台,請將這些機型放在不同的執行個體選項中。舉例來說,N4 機型支援 Intel Emerald Rapids 平台,而 vCPU 數量少於 96 個的 N2 機型則支援 Intel Ice Lake 和 Intel Cascade Lake。如要在大量插入要求中混合 N4 和 N2,並要求 N2 在 Intel Ice Lake 上執行,請按照下列方式設定兩個執行個體選項:
- N2 選取:將
minCpuPlatform欄位設為Intel Ice Lake。 - N4 選項:將
minCpuPlatform欄位設為未設定,或設為AUTOMATIC。
您可以為這兩種執行個體指派相同排名,表示對這兩種機型的偏好程度相同。
磁碟覆寫
您可以在執行個體選項中指定自訂磁碟設定,覆寫 instanceProperties 中指定的開機磁碟或額外磁碟,或連接額外磁碟。您可以使用這項覆寫功能,混合使用架構不同或支援不同磁碟類型的機型。您也可以指定各機型所需的開機映像檔或磁碟。
舉例來說,您可以使用不同的執行個體選項,覆寫不同需求的磁碟:
- 不同架構:您可以混用 C4 (x86 架構) 和 C4A (Arm 架構) 機型。x86 和 Arm 機器類型需要不同的開機映像檔,因此您可以覆寫開機磁碟,為各個架構指定相容的映像檔。
- 不同磁碟類型:您可以混用 N2 和 N4 機型。由於 N2 僅支援 Persistent Disk 做為開機磁碟,而 N4 僅支援 Google Cloud Hyperdisk,因此您可以覆寫磁碟設定,為每個機器系列指定支援的磁碟類型。
無論是哪種情況,您都可以為執行個體選項指派相同排名,為兩種機器類型設定相同的偏好設定。
如果執行個體選取項目中的磁碟有 deviceName,且與 instanceProperties 中的磁碟相符,Compute Engine 就會覆寫該磁碟的設定。如果 deviceName 與 instanceProperties 中的任何磁碟都不相符,Compute Engine 會將其附加為額外磁碟。您必須確保有效的磁碟設定與所選執行個體中的所有機型相容。
下圖說明 Compute Engine 如何合併 instanceProperties 和執行個體選取項目的磁碟設定:
如要瞭解如何大量建立 VM 時指定最低 CPU 平台和磁碟覆寫,請參閱「建立具有多個機型、最低 CPU 平台和磁碟覆寫的 VM」。
如要進一步瞭解使用例項選取覆寫時的限制,請參閱本文的「限制」一節。
範例:最低 CPU 平台和磁碟覆寫
您可以在執行個體彈性政策中使用覆寫,跨機器系列佈建 VM,這些機器系列需要不同的 CPU 平台、開機映像檔或磁碟類型。
假設大量插入要求採用下列基本 instanceProperties 設定,定義預設 pd-balanced 開機磁碟:
"instanceProperties": {
"disks": [
{
"autoDelete": true,
"deviceName": "boot-disk",
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "pd-balanced"
}
}
],
"networkInterfaces": [{}]
}
同一要求中的下列 instanceFlexibilityPolicy 設定會覆寫基本 instanceProperties 設定,方法是指定三個執行個體選取項目的最低 CPU 平台和磁碟設定:
"instanceFlexibilityPolicy": {
"instanceSelections": {
"first-preference": {
"rank": 1,
"machineTypes": ["n4-standard-4"],
"disks": [
{
"autoDelete": true,
"deviceName": "boot-disk",
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "hyperdisk-balanced"
}
}
]
},
"second-preference": {
"rank": 2,
"machineTypes": ["c4a-standard-4"],
"disks": [
{
"autoDelete": true,
"deviceName": "boot-disk",
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12-arm64",
"diskSizeGb": "10",
"diskType": "hyperdisk-balanced"
}
},
{
"autoDelete": true,
"deviceName": "data-disk",
"boot": false,
"initializeParams": {
"diskSizeGb": "100",
"diskType": "hyperdisk-balanced"
}
}
]
},
"third-preference": {
"rank": 3,
"machineTypes": ["n2-standard-4"],
"minCpuPlatform": "Intel Ice Lake",
"disks": [
{
"autoDelete": true,
"deviceName": "boot-disk",
"boot": true,
"initializeParams": {
"sourceImage": "projects/debian-cloud/global/images/family/debian-12",
"diskSizeGb": "10",
"diskType": "pd-ssd"
}
}
]
}
}
}
在本範例中,Compute Engine 會根據用於建立 VM 的執行個體選取項目,套用下列覆寫項目:
- 第一優先選項 (
first-preference):針對n4-standard-4VM,選取這個選項會覆寫boot-disk,改用hyperdisk-balanced磁碟,而非基本pd-balanced磁碟。 - 第二偏好設定 (
second-preference):對於c4a-standard-4(Arm) VM,這項選取項目會覆寫boot-disk,在hyperdisk-balanced磁碟上使用與 Arm 相容的開機映像檔 (debian-12-arm64),並連接額外的 100 GBhyperdisk-balanced磁碟,名為data-disk。 - 第三個偏好設定 (
third-preference):針對n2-standard-4VM,選取項目會將minCpuPlatform設為Intel Ice Lake,並覆寫boot-disk以使用pd-ssd磁碟。
定義目標分配型態時選取可用區
使用區域 bulkInsert 要求搭配執行個體彈性時,您可以指定目標分配型態,控管 VM 在區域各可用區的分配方式。Compute Engine 會根據這個形狀選取可用區,以佈建 VM,如下所示:
ANY_SINGLE_ZONE:Compute Engine 會選取單一可用區,該可用區具有偏好度較高的機器類型,且容量最大。BALANCED:Compute Engine 會盡可能在有可用資源的區域中平均分配 VM。在每個可用區中,Compute Engine 會優先使用偏好設定較高的機器類型。ANY:Compute Engine 會選取有可用資源的可用區。如果設定了排名,Compute Engine 會優先在可用區中佈建偏好度較高的機型 VM。
詳情請參閱「在區域中大量建立 VM」。
VM 佈建和執行個體彈性下限
如果您在 bulkInsert 要求中定義 VM 數量下限 (minCount),API 會嘗試建立至少該數量的 VM。如果 Compute Engine 無法佈建所需的最少 VM 數量 (minCount),整個作業就會失敗,且 Compute Engine 不會建立任何 VM。使用minCount搭配執行個體彈性時,Compute Engine 會優先根據可取得性而非等級佈建 VM,如下所示:
- Compute Engine 會優先佈建最多
count個 VM,即使這代表要使用偏好度較低的機器。舉例來說,如果您的要求指定至少需要一個 VM (minCount=1),最多 10 個 VM (count=10),且 Compute Engine 有容量可佈建一個偏好順序較高的 VM 或六個偏好順序較低的 VM,則 Compute Engine 會佈建六個偏好順序較低的 VM。 - 如果 Compute Engine 可以使用不同的執行個體選項,佈建最多
count個 VM,則會優先採用偏好設定較高的選項。舉例來說,如果您的要求指定至少需要一個 VM (minCount=1),最多 10 個 VM (count=10),且 Compute Engine 可以使用偏好順序較高或較低的執行個體選取項目,佈建六個 VM,則 Compute Engine 會從偏好順序較高的選取項目佈建六個 VM。
詳情請參閱 minCount 屬性。bulkInsert
大量插入驗證和錯誤情境
Compute Engine 會先驗證機型及其區域相容性,並排除任何無效項目。如果初始檢查後至少還有一項有效設定,Compute Engine 就會繼續建立 VM。
不過,只有在 Compute Engine 根據執行個體彈性政策和可用容量,選取要用於佈建的可用區和機器類型後,才能對設定進行部分驗證。如果在後續驗證階段,發現選擇佈建的特定機型和可用區組合無效,整個大量插入要求就會失敗,並顯示驗證錯誤。即使 instanceFlexibilityPolicy 內的其他設定一開始有效,仍可能發生這項失敗。
限制
使用執行個體彈性大量建立 VM 時,須遵守下列限制:
- 您只能為區域性
bulkInsert要求指定執行個體彈性,無法用於可用區要求。 - 執行個體彈性不支援彈性啟動型 VM 和未來預留項目。
- 執行個體彈性功能無法與 AI Hypercomputer 功能搭配使用,也不支援 A3 Ultra、A4 和更新的 GPU。
- 最多可以指定 10 種不同的機型,最多可選取 10 個不同的執行個體。
- 在執行個體選取項目中覆寫
minCpuPlatform或disks時,也適用下列限制:- 為執行個體選取項目設定
minCpuPlatform或disks時,也必須加入machineTypes欄位。如果省略machineTypes欄位,作業就會失敗並顯示錯誤。 - 只有可選擇本機 SSD 磁碟數量的機型,才能覆寫本機 SSD 磁碟。您無法為
-lssd機器類型變體覆寫本機 SSD 磁碟,因為這些變體會自動連結本機 SSD 磁碟。
- 為執行個體選取項目設定
後續步驟
- 瞭解如何使用執行個體彈性大量建立 VM。
- 如要瞭解彈性維度、用途和最佳做法,請參閱「最佳化運算佈建」。