執行個體群組是虛擬機器 (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 中的執行個體,並提供彈性的發布情境支援範圍,例如滾動式更新和初期測試更新。您可以控制部署的速度和範圍,以及服務中斷的層級。
- 支援有狀態的工作負載。您可以使用 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 NEXT 2018 年大會,其中包含了示範實例和最佳做法,說明如何使用 Compute Engine MIG 來設定、執行及更新可擴充的高可用性部署作業。
您可以從影片中瞭解如何將容器部署至 MIG、設定自動修復政策、使用地區群組防止發生區域故障情形、設定自動調度資源功能以符合 CPU 目標和佇列工作的需求,以及管理初期測試和滾動式更新。
非代管執行個體群組
非代管執行個體群組可包含異質執行個體,這類執行個體可以在群組中任意新增或移除。非代管執行個體群組不支援自動調度資源、自動修復、滾動式更新功能和多區域支援,也不能使用執行個體範本。因此,如果您要部署高可用性的可擴充工作負載,建議您不要使用這類執行個體。只有當您必須將負載平衡套用至異質執行個體群組,或是必須自行管理執行個體時,才建議使用非代管執行個體群組。您最多可以將 2,000 個 VM 新增至群組。如要將超過 2,000 部虛擬機新增至群組,請與支援團隊聯絡。
如果您必須建立非代管執行個體群組,請參閱非代管執行個體群組。
定價
使用受管理或非受管理的執行個體群組不會產生額外費用。系統會根據群組使用的資源收取費用。 如需 Compute Engine 的定價資訊,請參閱「定價」一文。
後續步驟
進一步瞭解建立 MIG 的基本情境。
瞭解如何更新 MIG,以便使用新的設定。
參加教學課程: