執行個體群組是虛擬機器 (VM) 執行個體的集合,您可以將此群組做為單一實體進行管理。
Compute Engine 提供了兩種 VM 執行個體群組,分別為代管和非代管:
代管執行個體群組 (MIG) 可讓您在多個相同的 VM 上執行應用程式。您可以利用自動調度資源、自動修復、地區 (多區域) 部署以及自動更新等自動化 MIG 服務,讓工作負載具有可擴充性和高可用性。
非代管執行個體群組可讓您透過自行管理的一批 VM 達到負載平衡。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 Compute Engine 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 Compute Engine代管執行個體群組 (MIG)
在下列情境中,請使用代管執行個體群組 (MIG):
- 無狀態提供工作負載,例如網站前端
- 無狀態批次作業、高效能運算或高總處理量運算工作負載,例如佇列中的圖片處理作業
- 有狀態應用程式,例如資料庫、舊版應用程式,以及具有檢查點的長時間批次運算
Compute Engine 會根據您在執行個體範本和選用具狀態設定中指定的設定,維護 MIG 的每個代管執行個體。
如要瞭解如何建立 MIG,請參閱建立代管執行個體群組。
優點
MIG 具備下列優勢:
- 高可用性。
- 自動修復失敗的 VM。如果群組中的 VM 停止運作、當機、遭到先占 (Spot VM),或因 MIG 未啟動的動作而遭刪除,MIG 會根據原始設定 (相同 VM 名稱、相同範本) 自動重新建立該 VM,讓 VM 繼續運作。
- 以應用程式為基礎的自動修復功能:您也可以設定以應用程式為基礎的健康狀態檢查,定期確認應用程式在每個 MIG 執行個體上是否能正常回應。如果 VM 上的應用程式沒有回應,MIG 就會自動為您重新建立該 VM。比起只確認 VM 是否已啟動並順利運作,檢查應用程式有無回應的做法更為精確。
- 地區 (多區域) 涵蓋範圍:區域性 MIG 能讓您將應用程式負載分散至多個可用區,這種複製機制能防止區域性故障。如果發生這種情況,您的應用程式可以繼續透過在同一地區其他可用區域中執行的執行個體提供流量。
- 負載平衡。代管執行個體群組可搭配負載平衡服務一起使用,將流量分散至群組中的所有執行個體。
- 擴充性。當您的應用程式需要額外的運算資源時,設定自動調整資源的 MIG 可依據需求自動增加群組中的執行個體數量。當需求降低時,設定自動調度資源功能的 MIG 可自動縮減執行個體數量,以降低成本。
- 自動更新:MIG 自動更新程式可讓您安全地將新版軟體部署至 MIG 中的執行個體,並提供彈性的發布情境支援範圍,例如滾動式更新和初期測試更新。您可以控制部署的速度和範圍,以及服務中斷的層級。
- 支援有狀態工作負載。您可以使用 MIG 建構高可用性部署作業,並自動執行應用程式作業,這些應用程式具有有狀態的資料或設定,例如資料庫、DNS 伺服器、舊版單體式應用程式,或是具有檢查點的長時間批次運算。有狀態的 MIG 會在機器重新啟動、重新建立、自動修復和更新事件發生時,保留每個執行個體的專屬狀態 (例如執行個體名稱、連接的永久磁碟和中繼資料)。
- 一次建立多個 GPU VM。如果您有需要確切 GPU VM 數量的批次工作 (例如 AI 或 ML 訓練),在 MIG 中建立大小調整要求,有助於一次建立所有 VM。您可以指定 VM 的執行時間,藉此提高 GPU 等高需求資源的取得機率。
自動修復和自動修復
代管執行個體群組會主動讓執行個體保持可用狀態,以便維持應用程式的高可用性。MIG 會自動重建故障的執行個體,藉此修復問題。
您可能也想在應用程式停止運作、當機或記憶體耗盡時修復執行個體。以應用程式為基礎的自動修復功能會依賴健康狀態檢查訊號來改善應用程式的可用性,健康狀態檢查可偵測應用程式特定問題,例如停止運作、當機或超載。如果健康狀態檢查確定 VM 的應用程式失敗,群組會自動重新建立該 VM 執行個體。
詳情請參閱「關於修復 MIG 中的 VM」一文。
健康狀態檢查
用於監控 MIG 的健康狀態檢查與用於負載平衡的健康狀態檢查類似,但行為上有些許差異。負載平衡健康狀態檢查可協助流量避開無回應的執行個體,並導向健康狀態良好的執行個體;這些健康狀態檢查不會使 Compute Engine 重新建立執行個體。另一方面,代管執行個體群組健康狀態檢查會主動傳送訊號,以刪除並重新建立狀態變為 UNHEALTHY
的執行個體。
在大多數情況下,請分別針對負載平衡和自動修復使用不同的健康狀態檢查。用於負載平衡的健康狀態檢查可以也應該更為嚴格,因為這些健康狀態檢查將決定執行個體是否接收使用者流量。由於顧客可能依賴您的服務,因此您會希望能快速掌握無回應的執行個體,以在必要時重新導向流量。相較之下,自動修復健康狀態檢查會使 MIG 主動替換故障的執行個體,因此這類健康狀態檢查應比負載平衡健康狀態檢查保守。
詳情請參閱「設定應用程式健康狀態檢查和自動修復」。
地區或區域群組
您可以建立下列兩種類型的 MIG:
這兩種類型都提供 MIG 的所有優勢。地區性 MIG 會在多個區域之間散布應用程式負載,藉此提供更高的可用性,並防止工作負載發生區域故障情形;同時,地區性 MIG 也能提供更多容量。根據預設,您可以在區域性 MIG 中建立最多 2,000 個 VM,在可用區 MIG 中建立最多 1,000 個 VM。如需更多 VM,可以提高 MIG 的大小限制,或與支援團隊聯絡。
負載平衡
Google Cloud 負載平衡功能可使用執行個體群組提供流量。根據您選擇的負載平衡器類型,您可以將執行個體群組新增至目標集區或後端服務。
詳情請參閱「將執行個體群組新增至負載平衡器」。
自動調度資源
MIG 支援自動調度資源功能,可根據負載的增減,動態新增或移除群組中的 VM 執行個體。您可以設定自動調度資源政策,指定您需要的群組資源調度方式。在自動調度資源政策中,您可以設定一或多個信號,根據 CPU 使用率、負載平衡容量、Cloud Monitoring 指標、排程,或 (如果是區域性 MIG) 根據佇列工作負載 (如 Pub/Sub) 調度群組資源。
詳情請參閱自動調度執行個體群組資源。
自動更新
您可以輕鬆安全地將新版軟體部署至 MIG 中的執行個體。系統可根據您的規格自動發布更新:您可以控制更新發布作業的速度和範圍,盡可能降低應用程式發生中斷的情形。您可以選擇執行部分允許進行初期測試的發布項目。
請參閱「更新 MIG」。
支援有狀態工作負載
您可以使用有狀態代管執行個體群組 (有狀態 MIG),在 VM 上建構有狀態工作負載的高可用性部署作業。有狀態工作負載包括具有有狀態資料或設定的應用程式,例如資料庫、舊版單體式應用程式,以及具有檢查點的長時間執行批次運算。
您可以透過自動修復、受控更新和多區域部署,延長這類應用程式的運作時間並提高應變能力,同時保留每個執行個體的專屬狀態,包括可自訂的執行個體名稱、永久磁碟和中繼資料。
詳情請參閱「有狀態的 MIG」。
一次建立多個 GPU VM
您可以在具有 GPU VM 的 MIG 中建立大小調整要求,當要求的容量可用時,一次建立要求的 VM。在 MIG 中建立大小調整要求時,Compute Engine 會根據要求的 VM 數量、要求的執行時間長度,以及 MIG 可用區中要求的資源,排定 VM 建立作業。然後,在排定的資源交付時間,MIG 會一次建立要求數量的 VM。VM 會持續執行,直到執行時間結束或您刪除 VM 為止。
詳情請參閱關於 MIG 中的大小調整要求。
先占執行個體群組
對於降低成本比執行速度更為重要的工作負載來說,您可以透過在執行個體群組中使用先占 VM 執行個體來降低工作負載成本。先占執行個體的效期最多可達 24 小時,且採用安全先占方式,即您的應用程式有 30 秒的時間正確結束。系統可能隨時刪除先占執行個體,但自動修復功能會在先占容量再次變為可用時重新建立這些執行個體。
容器
如果您要簡化應用程式部署作業,可以將容器部署至代管執行個體群組中的執行個體。當您在執行個體範本中指定容器映像檔,並使用該範本建立代管執行個體群組時,系統會使用包含 Docker 的 Container-Optimized OS 建立每個 VM,並自動啟動該群組中每個 VM 上的容器。請參閱在 VM 和 MIG 上部署容器。
網路和子網路
建立代管執行個體群組時,您必須參照現有的執行個體範本。執行個體範本會定義成員執行個體使用的虛擬私有雲網路和子網路。如果您省略虛擬私有雲網路,Google Cloud 會嘗試使用名為 default
的虛擬私有雲網路,以及範本中指定區域內自動建立的子網路。
詳情請參閱「網路和子網路」。
如要讓代管執行個體群組包含使用 IPv6 位址的 VM 執行個體,您必須在建立執行個體範本時使用雙重堆疊設定。詳情請參閱「建立具有 IPv6 位址的執行個體範本」。
MIG 功能示範實例
下列這部 45 分鐘的影片簡報拍攝自 Google Cloud 2018 年 Next 大會,其中包含了示範實例和最佳做法,說明如何使用 Compute Engine MIG 來設定、執行及更新可擴充的高可用性部署作業。
影片:瞭解如何將容器部署至 MIG、設定自動修復政策、使用地區群組防止發生區域故障情形、設定自動調度資源功能以符合 CPU 目標和佇列工作的需求,以及管理初期測試和滾動式更新。
非代管執行個體群組
非代管執行個體群組可包含異質執行個體,這類執行個體可以在群組中任意新增或移除。非代管執行個體群組不支援自動調度資源、自動修復、滾動式更新功能和多區域支援,也不能使用執行個體範本。因此,如果您要部署高可用性的可擴充工作負載,建議您不要使用這類執行個體。只有當您必須將負載平衡套用至異質執行個體群組,或是必須自行管理執行個體時,才建議使用非代管執行個體群組。一個群組最多可新增 2,000 個 VM。如要將超過 2,000 部 VM 新增至群組,請與支援團隊聯絡。
如果您必須建立非代管執行個體群組,請參閱非代管執行個體群組一文。
定價
使用代管或非代管執行個體群組不會產生額外費用。系統會根據群組使用的資源向您收費。 如需 Compute Engine 定價資訊,請參閱「定價」。
後續步驟
進一步瞭解建立 MIG 的基本情境。
瞭解如何更新 MIG,以使用新的設定。
參加教學課程: