設定 Private Service Connect 健康狀態,以進行自動跨區域容錯移轉

本頁面說明服務供應商如何設定已發布的服務,透過 Private Service Connect 健康狀態支援自動跨區域容錯移轉。

事前準備

必要的角色

如要取得設定 Private Service Connect 健康狀態所需的權限,請要求管理員為您授予專案的Compute Network Admin (roles/compute.networkAdmin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備設定 Private Service Connect 健康狀態所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要設定 Private Service Connect 健康狀態,您必須具備下列權限:

  • compute.regionHealthAggregationPolicies.list
  • compute.regionHealthAggregationPolicies.get
  • compute.regionHealthAggregationPolicies.create
  • compute.regionHealthAggregationPolicies.update
  • compute.regionHealthAggregationPolicies.delete
  • compute.regionHealthSources.list
  • compute.regionHealthSources.get
  • compute.regionHealthSources.create
  • compute.regionHealthSources.update
  • compute.regionHealthSources.delete
  • compute.regionCompositeHealthChecks.list
  • compute.regionCompositeHealthChecks.get
  • compute.regionCompositeHealthChecks.create
  • compute.regionCompositeHealthChecks.update
  • compute.regionCompositeHealthChecks.delete

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

設定 Private Service Connect 健康狀態,支援自動跨區域容錯移轉

以下各節說明如何設定 Private Service Connect 健康狀態,以進行跨區域自動容錯移轉。

雖然 Private Service Connect 健康狀態不需要服務消費者設定,但只有在消費者於多區域部署中設定支援的 Private Service Connect 後端時,這項功能才會運作。如要瞭解服務消費者如何設定虛擬私有雲網路,以使用 Private Service Connect 健康狀態檢查,請參閱「自動跨區域容錯移轉」。

建立健康狀態匯總政策

在要支援跨區域容錯移轉的每個區域中,至少建立一項健康狀態匯總政策。

健康狀態匯總政策是可重複使用的資源,可定義後端服務健康狀態良好的條件。您可以將相同政策套用至多項後端服務,也可以為健康狀態需求不同的服務建立不同政策。

gcloud

使用 gcloud beta compute health-aggregation-policies create 指令。

gcloud beta compute health-aggregation-policies create POLICY \
    --region=REGION \
    --healthy-percent-threshold=PERCENT_HEALTHY \
    --min-healthy-threshold=MINIMUM_HEALTHY

更改下列內容:

  • POLICY:健康狀態匯總政策的名稱
  • REGION:健康狀態匯總政策的區域
  • PERCENT_HEALTHY:後端服務中端點的最低百分比,必須達到這個百分比,健康狀態來源才會被視為正常,例如 75

    預設值為 60。端點可以是執行個體群組中的 VM,也可以是網路端點群組 (NEG) 中的網路端點。

  • MINIMUM_HEALTHY:後端服務中必須處於健康狀態的端點數量下限,健康狀態來源才會被視為健康

    預設為 1

建立健康資料來源

為已發布服務的每個區域執行個體建立健康狀態來源。 如果已發布的服務執行個體取決於多個後端服務的健康狀態,請為每個後端服務建立個別的健康狀態來源。

健康狀態來源是將健康狀態匯總政策連結至特定後端服務的資源。複合型健康狀態檢查會彙整一或多個健康狀態來源的健康狀態,為服務產生最終的複合健康狀態。

gcloud

使用 gcloud beta compute health-sources create 指令。

gcloud beta compute health-sources create HEALTH_SOURCE \
    --region=REGION \
    --source-type=BACKEND_SERVICE \
    --sources=BACKEND_SERVICE \
    --health-aggregation-policy=POLICY

更改下列內容:

  • HEALTH_SOURCE:健康資料來源的名稱
  • REGION:健康資訊來源的區域

    健康狀態匯總政策必須與健康狀態來源位於相同區域。

  • BACKEND_SERVICE:要用來做為健康狀態來源的單一後端服務名稱

    後端服務必須符合下列規定:

    • 負載平衡架構必須為 INTERNALINTERNAL_MANAGED
    • 必須與您要建立的健康資料來源位於相同區域。
    • 後端必須是 GCE_VM_IPGCE_VM_IP_PORT 類型的執行個體群組或網路端點群組。
  • POLICY:要套用至這個健康來源的健康資料匯總政策名稱

建立複合型健康狀態檢查

為已發布服務的每個區域執行個體建立複合健康狀態檢查。

複合型健康狀態檢查會彙整相關健康狀態來源的健康狀態,建立最終的複合型健康狀態。最終健康狀態會套用至您指定為健康狀態目的地的轉送規則區域發布服務執行個體。

gcloud

使用 gcloud beta compute composite-health-checks create 指令。

gcloud beta compute composite-health-checks create COMPOSITE_HEALTH_CHECK \
    --region=REGION \
    --health-sources=HEALTH_SOURCES \
    --health-destination=HEALTH_DESTINATION

更改下列內容:

  • COMPOSITE_HEALTH_CHECK:複合健康狀態檢查的名稱
  • REGION:複合健康狀態檢查的區域
  • HEALTH_SOURCES:要與複合健康檢查建立關聯的一或多個健康來源名稱

    您可以在以半形逗號分隔的清單中加入多個健康資料來源。

  • HEALTH_DESTINATION:轉送規則的 URI,會從這項複合健康狀態檢查接收複合健康狀態,例如 projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE

    轉送規則必須與支援 Private Service Connect 健康狀態的生產端負載平衡器建立關聯,並符合下列規定:

    • 負載平衡架構必須為 INTERNALINTERNAL_MANAGED
    • 必須與複合健康檢查位於相同區域。

後續步驟