設定 Private Service Connect 健康狀態,以進行自動跨區域容錯移轉
本頁面說明服務供應商如何設定已發布的服務,透過 Private Service Connect 健康狀態支援自動跨區域容錯移轉。
事前準備
在要支援的每個區域中,建立符合下列條件的目標服務。
- 必須使用下列其中一個內部負載平衡器:
- 必須使用下列其中一種後端類型:
- 網路端點類型為
GCE_VM_IP
或GCE_VM_IP_PORT
的區域性網路端點群組 (NEG) - 執行個體群組
- 網路端點類型為
建立目標服務的步驟取決於您選擇的負載平衡器和後端類型。如要瞭解如何建立目標服務,請參閱負載平衡器的說明文件。
建立服務連結,發布各個目標服務。
請注意,如要使用 Private Service Connect 健康狀態檢查,消費者必須透過支援跨區域容錯移轉的負載平衡器存取您的服務。
在專案中啟用 Compute Engine API。
必要的角色
如要取得設定 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
:要用來做為健康狀態來源的單一後端服務名稱後端服務必須符合下列規定:
- 負載平衡架構必須為
INTERNAL
或INTERNAL_MANAGED
。 - 必須與您要建立的健康資料來源位於相同區域。
- 後端必須是
GCE_VM_IP
或GCE_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 健康狀態的生產端負載平衡器建立關聯,並符合下列規定:
- 負載平衡架構必須為
INTERNAL
或INTERNAL_MANAGED
。 - 必須與複合健康檢查位於相同區域。
- 負載平衡架構必須為
後續步驟
- 如要管理 Private Service Connect 健康狀態設定,請參閱查看、更新及刪除 Private Service Connect 健康狀態設定。