您可以使用有狀態的代管執行個體群組 (有狀態的 MIG) 來提高有狀態應用程式的可用性和彈性。
建立有狀態設定後,您就能在機器重新啟動、重新建立、自動修復或更新事件發生時,保留每個 MIG 虛擬機器 (VM) 執行個體的專屬狀態,包括名稱、永久磁碟和中繼資料。
本頁面說明如何設定有狀態的 MIG,並提供各項工作的指南連結:
建立或更新有狀態設定後,您可以套用設定,讓設定生效,查看設定以及每個 VM 有效保留的狀態,或移除設定 (如果您不再需要)。
如果您在獨立 (未管理) Compute Engine VM 上有現有的有狀態應用程式,請參閱將現有工作負載遷移至有狀態 MIG 指南。
事前準備
- 查看「使用有狀態 MIG 的時機」
- 詳閱「有狀態的 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.
- 如果 MIG 有狀態設定,就無法使用自動調度資源功能。
- 如果您想使用自動滾動更新,請務必將替換方法設為
RECREATE
。 - 針對有狀態的地區 MIG,您必須停用主動式重新分配功能 (將重新分配類型設為
NONE
),才能防止自動跨區重新分配功能刪除有狀態的執行個體。 如果您使用所有執行個體設定覆寫執行個體範本屬性,就無法在任何個別執行個體設定中指定這些屬性,同時在群組的所有執行個體設定中指定這些屬性。
有狀態的區域性 MIG 不會自動協調跨區域的備援作業。使用區域性 MIG 時,您可以將備援副本部署至多個可用區,並仰賴應用程式的資料複寫功能,讓具有狀態的應用程式能夠在可用區發生故障時保持彈性。
當您永久刪除執行個體 (手動或透過調整大小) 時,MIG 不會保留執行個體的狀態中繼資料。
- 將現有的獨立虛擬機器遷移至有狀態的 MIG,以便享有自動修復和自動更新的優勢,同時保留名稱。
- 部署架構時,外部依附元件會依賴特定的 VM 名稱,例如主要 VM 會根據預先設定的名稱或使用特殊命名模式,保留運作中節點的註冊資料庫。
- 部署需要特定 VM 名稱的舊版設定,例如名稱已硬式編碼的設定。
- 套用有狀態設定,讓設定生效。
- 查看代管執行個體的狀態設定,以及有效的保留狀態。
- 移除有狀態設定。
- 在 MIG 中建立具有特定名稱的 VM。
- 為 MIG 中的所有 VM 或特定 VM 設定有狀態永久磁碟。
- 為 MIG 中的 VM 設定有狀態中繼資料。
- 為 MIG 中的所有 VM 或特定 VM 設定有狀態 IP 位址。
- 套用、查看或移除有狀態設定。
- 進一步瞭解MIG 和使用代管型執行個體。
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 一律會保留 VM 執行個體的名稱。
如果您想在更新期間保留執行個體名稱,請將群組的更新政策中的更新取代方法設為
RECREATE
。您可以手動建立執行個體來指定自訂名稱,也可以讓 MIG 自動為 VM 產生名稱。
設定自訂 VM 名稱可用於下列情況:
在其他所有情況下,您可以讓 MIG 使用基本執行個體名稱加上隨機字尾,自動產生 VM 名稱。
設定及管理有狀態永久磁碟
將永久磁碟設定為有狀態,即可在保留磁碟狀態的同時,享有 VM 自動修復和控管更新的優勢。詳情請參閱有狀態 MIG 的用途。
如需操作說明,請參閱「設定有狀態永久磁碟」。
設定有狀態中繼資料
您可以使用執行個體中繼資料,透過中繼資料伺服器設定應用程式的屬性,並與應用程式進行通訊。舉例來說,您可以使用中繼資料設定 VM 的 ID、環境變數、叢集架構相關資訊,或這個 VM 負責的資料範圍。
使用有狀態中繼資料,可確保在執行個體自動修復、更新和重新建立事件中,保留執行個體專屬中繼資料。
如需操作說明,請參閱「設定有狀態中繼資料」。
設定及管理有狀態 IP 位址
您可以將代管執行個體群組 (MIG) 設為有狀態,這樣在執行個體自動修復、更新和重新建立事件發生時,就能保留IP 位址。內部和外部 IP 位址都可以保留。您可以設定自動指派 IP 位址,也可以為 MIG 中的每個 VM 執行個體指派特定 IP 位址。
如需操作說明,請參閱「設定有狀態 IP 位址」。
套用、查看及移除有狀態設定
將 MIG 設為有狀態後,您可以:
如需操作說明,請參閱「套用、查看及移除有狀態設定」。
意見回饋
我們想瞭解您對有狀態 MIG 的使用情境、難題和意見。請前往以下網址,並與我們的團隊分享您的寶貴意見:mig-discuss@google.com。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-16 (世界標準時間)。
-