執行個體群組數

執行個體群組是虛擬機器 (VM) 執行個體的集合,您可以將此群組做為單一實體進行管理。

Compute Engine 提供了兩種 VM 執行個體群組,分別為代管和非代管:

  • 代管執行個體群組 (MIG) 可讓您在多個相同的 VM 上執行應用程式。您可以利用自動調度資源、自動修復、地區 (多區域) 部署以及自動更新等自動化 MIG 服務,讓工作負載具有可擴充性和高可用性。
  • 非代管執行個體群組可讓您透過自行管理的一批 VM 達到負載平衡。

代管的執行個體群組 (MIG)

代管執行個體群組 (MIG) 適用於無狀態提供工作負載 (例如網站前端),也適用於批次作業、高效能運算或高總處理量運算工作負載 (例如佇列中的圖片處理作業)。

MIG 中的每個 VM 執行個體都採用執行個體範本建立而成。

如要瞭解如何建立代管執行個體群組,請參閱建立代管執行個體群組

優勢

MIG 具備下列優勢:

  • 高可用性
    • 讓執行個體持續運作:如果群組中的某個執行個體停止運作、當機,或遭到執行個體群組管理指令以外的操作刪除 (例如蓄意縮小規模),則 MIG 會自動依照原本的執行個體規格 (使用相同的執行個體名稱和相同的範本) 重新建立該執行個體,讓該執行個體可以繼續運作。
    • 自動修復:您也可以設定自動修復政策,該政策會利用以應用程式為基礎執行的健康狀態檢查,定期確認在 MIG 每個執行個體上的應用程式是否如預期回應。如果執行個體上的應用程式未回應,則系統會自動重新建立該執行個體。相較於只確認執行個體是否處於啟動並執行的狀態,檢查應用程式是否有回應的做法更為精確。
    • 地區 (多區域) 涵蓋範圍:地區代管執行個體群組可讓您跨多個區域散布應用程式負載。這種複製機制能防止區域性故障。如果發生這種情況,您的應用程式可以繼續透過在同一地區其他可用區域中執行的執行個體提供流量。
    • 負載平衡:代管執行個體群組可搭配負載平衡服務一起使用,將流量分散至群組中的所有執行個體。
  • 擴充性:當您的應用程式需要額外的運算資源時,設定自動調整資源的 MIG 可依據需求自動增加群組中的執行個體數量。當需求降低時,設定自動調度資源功能的 MIG 可自動縮減執行個體數量,以降低成本。
  • 自動更新:代管執行個體群組的自動更新程式可讓您安全地將新版軟體部署至 MIG 中的執行個體,並提供彈性的發布情境支援範圍,例如滾動式更新和初期測試更新。您可以控制部署的速度和範圍,以及服務中斷的層級。
MIG 功能和一般工作負載總覽

自動修復

這類群組會主動讓執行個體保持可用 (即處於 RUNNING 狀態),以維持應用程式的高可用性,代管執行個體群組會自動重新建立未處於 RUNNING 狀態的執行個體。但是,只依賴執行個體狀態可能不夠。您可能想在應用程式停止運作、當機或記憶體耗盡時重新建立執行個體。

以應用程式為基礎的自動修復功能會依賴健康狀態檢查訊號來改善應用程式的可用性,健康狀態檢查可偵測應用程式特定問題,例如停止運作、當機或超載。如果健康狀態檢查確定執行個體的應用程式失敗,群組會自動重新建立該執行個體。

健康狀態檢查

用於監控代管執行個體群組的健康狀態檢查與用於負載平衡的健康狀態檢查類似,但行為上有些許差異。負載平衡健康狀態檢查可協助流量避開無回應的執行個體,並導向健康狀態良好的執行個體;這些健康狀態檢查不會使 Compute Engine 重新建立執行個體。另一方面,代管執行個體群組健康狀態檢查會主動傳送訊號,以刪除並重新建立狀態變為 UNHEALTHY 的執行個體。

在大多數情況下,請分別針對負載平衡和自動修復使用不同的健康狀態檢查。用於負載平衡的健康狀態檢查可以也應該更為嚴格,因為這些健康狀態檢查將決定執行個體是否接收使用者流量。由於客戶可能依賴您的服務,因此您會希望能快速掌握無回應的執行個體,以在必要時重新導向流量。相對來說,用於自動修復的健康狀態檢查將使 MIG 主動替換故障的執行個體,因此這類健康狀態檢查應比負載平衡健康狀態檢查保守。

詳情請參閱為代管執行個體群組設定健康狀態檢查與自動修復一文。

地區或區域群組

您可以建立下列兩種類型的代管執行個體群組:

這兩種類型都提供代管執行個體群組的所有優勢。地區性 MIG 會在多個區域之間散布應用程式負載,藉此提供更高的可用性,並防止工作負載發生區域故障情形;同時,地區性 MIG 也能提供更多容量,每個地區群組中最多可包含 2000 個執行個體。

負載平衡

GCP 負載平衡功能可使用執行個體群組提供流量。根據您選擇的負載平衡器類型,您可以將執行個體群組新增至目標集區或後端服務。

詳情請參閱將執行個體群組新增至負載平衡器

自動調度資源

代管執行個體群組支援自動調度資源功能,可根據負載的增減,動態新增或移除代管執行個體群組中的執行個體。您可以開啟自動調度資源功能,並設定自動調度資源政策,指定您需要的群組資源調度方式。自動調度資源政策包括根據 CPU 使用率、負載平衡容量、Stackdriver Monitoring 指標調度資源;如果是區域性 MIG,則可根據佇列工作負載 (如 Cloud Pub/Sub) 進行資源調度。

詳情請參閱自動調度執行個體群組資源

自動更新

您可以輕鬆安全地將新版軟體部署至代管執行個體群組中的執行個體。系統可根據您的規格自動發布更新:您可以控制更新發布作業的速度和範圍,盡可能降低應用程式發生中斷的情形。您可以選擇執行部分允許進行初期測試的發布項目。

請參閱更新代管執行個體群組一文。

先占執行個體群組

對於降低成本比執行速度更為重要的工作負載來說,您可以透過在執行個體群組中使用先占 VM 執行個體來降低工作負載成本。先占執行個體的效期最多可達 24 小時,且採用安全先占方式,即您的應用程式有 30 秒的時間正確結束。系統可能隨時刪除先占執行個體,但自動修復功能會在先占容量再次變為可用時重新建立這些執行個體。

容器

如果您要簡化應用程式部署作業,可以將容器部署至代管執行個體群組中的執行個體。當您在執行個體範本中指定容器映像檔,並使用該範本建立代管執行個體群組時,系統會使用包含 Docker 的 Container-Optimized OS 建立每個執行個體,並自動啟動該群組中每個執行個體上的容器。請參閱在 VM 與代管執行個體群組上部署容器一文。

網路

根據預設,系統會將群組中的執行個體放置在 default 網路中,並從地區範圍隨機指派 IP 位址。或者,如果您需要限制群組的 IP 範圍,請建立自訂模式 VPC 網路和使用較小 IP 範圍的子網路,然後在執行個體範本中指定子網路。

MIG 功能示範實例

下列這部 45 分鐘的影片簡報拍攝自 GCP 2018 年 Next 大會,其中包含了示範實例和最佳做法,說明如何使用 Compute Engine 代管執行個體群組來設定、執行及更新可擴充的高可用性部署作業。

您可以從影片中瞭解如何將容器部署至代管執行個體群組、設定自動修復政策、使用地區群組防止發生區域故障情形、設定自動調度資源功能以符合 CPU 目標和佇列工作的需求,以及管理初期測試和滾動式更新。

非代管執行個體群組

非代管執行個體群組可包含異質執行個體,這類執行個體可以在群組中任意新增或移除。非代管執行個體群組不支援自動調度資源、自動修復、滾動式更新功能和多區域支援,也不能使用執行個體範本。因此,如果您要部署高可用性的可擴充工作負載,建議您不要使用這類執行個體。只有當您必須將負載平衡套用至異質執行個體群組,或是必須自行管理執行個體時,才建議使用非代管執行個體群組。

如果您必須建立非代管執行個體群組,請參閱非代管執行個體群組一文。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Compute Engine 說明文件