關於自動跨區域容錯移轉的複合健康狀態
服務生產者可以透過複合健康狀態,定義判定區域發布服務健康狀態的條件。服務消費者使用 Private Service Connect 後端時,系統會根據這些健康狀態自動執行跨區域容錯移轉。健康狀態是根據服務生產者後端 (VM 或網路端點) 的匯總健康狀態而定,與離群值偵測相比,可為消費者提供更準確的容錯移轉信號,因為離群值偵測是從回應失敗推斷健康狀態。
如要啟用跨區域容錯移轉,服務供應商和消費者都必須使用多區域部署。設定複合健康狀態時,系統會自動將每個區域發布服務的健康狀態傳播至消費者的負載平衡器。如果某個區域發布的服務狀況不佳,取用者的負載平衡器就會停止將流量轉送至該服務,改為將流量轉送至替代區域中狀況良好的已發布服務執行個體。
部署規定
本節說明服務生產者和服務消費者如何為多區域部署設定資源,以支援複合健康狀態的自動跨區域容錯移轉。
如要進一步瞭解負載平衡器和後端類型的相關規定,請參閱規格。
製作人設定:
消費者設定:
- 建立 Private Service Connect 後端,存取已發布的服務。後端必須以支援跨區域容錯移轉的負載平衡器為基礎,並包含下列設定:
- 每個區域中的 Private Service Connect NEG,指向該區域的服務連結
- 包含 Private Service Connect NEG 後端的全域後端服務
下圖顯示多地區部署:
這個範例顯示消費者全域外部應用程式負載平衡器,該平衡器會連線至發布在多個區域的服務。使用支援的全球或跨區域負載平衡器存取多區域服務,服務消費者就能利用複合健康狀態檢查功能,自動進行跨區域容錯移轉 (按一下即可放大)。
複合健康狀態元件
複合健康狀態檢查會使用下列元件,支援自動跨區域容錯移轉。
上圖顯示複合健康狀態的主要元件。健康狀態匯總政策會定義健康狀態來源的健康狀態判定條件。複合型健康狀態檢查會將個別健康狀態來源的健康狀態合併為單一狀態,並將結果傳送至健康狀態目的地。
健康狀態匯總政策
健康狀態匯總政策是一種資源,您可建立這類資源,定義後端服務必須符合哪些條件,才能視為健康狀態良好。政策會匯總後端服務後端的健康狀態 (執行個體群組中的 VM 或 NEG 中的網路端點),並根據定期健康狀態檢查結果判斷。
如果符合下列兩個可設定的條件,後端服務就會視為健康狀態良好:
健康狀態良好的端點百分比:健康狀態良好的後端最低百分比。預設值為 60%。
健康狀態良好的端點數量下限:健康狀態良好的後端數量下限。預設值為 1。
舉例來說,您可以建立政策,指定後端服務必須至少有 75% 的後端健康狀態良好,且至少有三個健康狀態良好的後端。如果健康狀態良好的後端數量低於任一門檻,後端服務就會視為健康狀態不良。
健康狀態來源
健康狀態來源是一種資源,可提供單一後端服務的健康狀態,以便匯總至複合型健康狀態檢查。建立健康狀態來源時,請指定下列項目:
- 要監控的後端服務
- 健康狀態匯總政策,用於判斷後端服務的健康狀態
健康狀態來源會依據健康狀態匯總政策中定義的條件,判定相關聯後端服務的健康狀態。
複合型健康狀態檢查
複合型健康狀態檢查是一種資源,可匯總一或多個健康狀態來源的健康狀態,為區域發布的服務產生單一複合型健康狀態。如果每個相關聯的健康狀態來源都正常運作,發布的服務就會判定為健康狀態良好。如果任何健康狀態來源的狀態不良,服務就會被視為健康狀態不良。
健康狀態目的地
健康狀態目的地會接收複合型健康狀態檢查的最終複合型健康狀態。如果是已發布的服務,健康狀態檢查目的地是服務供應商負載平衡器的轉送規則。健康狀態會自動傳播至連線至這項轉送規則的消費者負載平衡器。
規格
複合健康狀態的規格如下。
行為:
- 後端服務中個別後端的健康狀態,取決於標準健康狀態檢查。
- 可設定的健康狀態匯總政策會根據個別後端的健康狀態,判斷後端服務的整體健康狀態。
- 複合型健康狀態檢查會匯總一或多個後端服務的健康狀態,這些服務已設定為健康狀態來源,並建立複合型健康狀態。
- 複合型健康狀態會提供給健康狀態目的地,該目的地必須是已發布服務的轉送規則。
- 複合健康狀態會自動傳播至已連線的取用端負載平衡器,不健康的狀態會觸發自動跨區域容錯移轉。
- 根據預設,Cloud Logging 會記錄健康狀態轉換。製作人可以查看健康來源和複合型健康狀態檢查的記錄檔。消費者可以查看 Private Service Connect NEG 的記錄,這些 NEG 會連線至使用複合式健康狀態的已發布服務。詳情請參閱「監控複合健康狀態」。
設定:
- 服務供應商和消費者必須在多區域部署中設定資源。
- 每個區域發布的服務都必須使用支援複合健康狀態檢查的負載平衡器。
- 做為健康狀態來源的後端服務必須採用
INTERNAL或INTERNAL_MANAGED負載平衡機制。 - 發布的服務必須具有下列其中一種後端類型:
- 發布的服務必須由使用支援跨區域容錯移轉的負載平衡器的 Private Service Connect 後端存取。
- 所有複合健康狀態資源都屬於區域資源,且必須與您監控的已發布服務位於同一個區域。
- 健康狀態來源資源必須參照一個後端服務。
- 複合型健康狀態檢查資源必須參照 1 到 10 個健康狀態來源。
- 轉送規則只能做為一項複合式健康狀態檢查的健康狀態目的地。
健康狀態
複合健康狀態會使用下列狀態,代表已發布服務和後端服務的健康狀態。
| 健康狀態 | 受監控資源 | 說明 |
|---|---|---|
HEALTHY |
健康狀態來源 | 相關聯的後端服務健康狀態良好,符合健康狀態匯總政策的定義。 |
| 複合型健康狀態檢查 | 發布的服務健康狀態良好,因為每個相關聯的健康狀態來源都正常運作。 | |
| Private Service Connect NEG | 相關聯的已發布服務健康狀態良好,這是根據生產者的複合型健康狀態檢查結果判斷。 | |
UNHEALTHY |
健康狀態來源 | 後端服務不符合健康狀態匯總政策定義的條件。 |
| 複合型健康狀態檢查 | 發布的服務不正常,因為一或多個相關聯的健康狀態來源不正常。 | |
| Private Service Connect NEG | 根據生產者的複合健康狀態檢查結果,相關聯的已發布服務不健康;這個狀態可能會觸發跨區域容錯移轉。 | |
UNKNOWN |
健康狀態來源 | 健康狀態尚未提供。這是暫時狀態,會在資源新建或設定時出現。 |
| 複合型健康狀態檢查 | 沒有相關聯的健康狀態來源不健康,但有一或多個健康狀態來源不明。 | |
| Private Service Connect NEG | 相關已發布服務的健康狀態尚未提供。 |
限制
複合健康狀態檢查有下列限制:
- 只有在 2025 年 10 月 20 日後建立的資源 (包括生產者轉送規則、服務連結和 Private Service Connect NEG),才支援複合式健康狀態。如果您為這個日期前建立的資源設定複合健康狀態,系統可能無法正確辨識複合健康狀態。如要取得 2025 年 10 月 20 日前建立的資源的複合健康狀態,請重新建立資源。
- 所有複合健康狀態資源 (包括參照的後端服務和轉送規則) 都必須位於同一個專案。
- 您無法將某項服務的複合健康狀態做為另一項服務的健康狀態來源。
- 沒有任何模式可測試健康狀態檢查設定,且不會影響已連線的消費者。任何已設定的複合健康狀態檢查都會立即觸發容錯移轉。
- 複合健康狀態僅支援存取已發布服務的 Private Service Connect 後端。
定價
如需定價資訊,請參閱 VPC 定價。
後續步驟
- 如要設定複合健康狀態檢查,請參閱「設定複合健康狀態檢查,以自動跨區域容錯移轉」。