本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
Apigee 支援兩種健康狀態檢查方法。適合您的選項取決於用戶端流量抵達 Apigee 的方式。
-
主動健康狀態檢查:適用於將用戶端流量透過 Google Cloud 負載平衡器 (後端為代管執行個體群組 (MIG)) 路由至 Apigee 的架構。負載平衡器 (或用戶端) 會主動探測其中一個
/healthz/*端點,判斷執行個體 / 環境健康狀態,並在區域之間進行負載平衡容錯移轉。如果架構使用 MIG,請繼續使用主動健康狀態檢查。 - PSC 健康狀態檢查:適用於透過 Private Service Connect (PSC) 將用戶端流量轉送至 Apigee 的架構。Apigee 會為您監控區域執行個體,並自動更新每個區域的健康狀態。不需要用戶端或負載平衡器發起的探查。如果您的架構使用 PSC,請選擇加入 PSC 健康狀態檢查。
選取分頁標籤即可瞭解詳情。
主動健康狀態檢查
Apigee 會在不同層級公開有效的健康狀態檢查,您可以根據用途加以運用。
- 區域層級 / Apigee 執行個體健康狀態檢查:傳回區域中整體 Apigee 執行個體的健康狀態。
- 環境層級健康狀態檢查:傳回 Apigee 執行個體中特定環境的健康狀態。
- 透過 API Proxy 進行自訂健康狀態檢查:如要處理複雜的用途,您可以將專屬 API Proxy 設定為自訂健康狀態檢查端點。
執行區域層級健康狀態檢查
Apigee 提供區域層級 / Apigee 執行個體健康狀態檢查,可評估特定區域中 Apigee 執行個體的整體健康狀態。負載平衡器廣泛使用這種健康狀態檢查模式,判斷 Apigee 執行個體的健康狀態,並執行區域容錯移轉。 您可以按照下列方式建構要求,執行區域層級的健康狀態檢查:
- 健康狀態檢查路徑:
/healthz/ingress - 新增要求標頭:
User-Agent: GoogleHC。
$ curl -H 'User-Agent: GoogleHC' https://$HOST/healthz/ingress Apigee Ingress is healthy
$HOST 代表負載平衡器提供的Apigee 環境群組中定義的主機名稱。
執行環境層級的健康狀態檢查
Apigee 提供環境層級的健康狀態檢查,可評估 Apigee 執行個體服務的特定環境健康狀態。如果您想根據特定重要/選擇性環境的健康狀態執行區域容錯移轉,建議採用這種健康狀態檢查模式。 如要執行環境層級的健康狀態檢查,請在環境中呼叫任何有效的 API Proxy,並按照下列方式建構要求:
- 在 Proxy 底層路徑開頭加上
/healthz/。 - 新增要求標頭:
User-Agent: GoogleHC。
舉例來說,假設 /catalog 是部署在環境中的有效 Proxy 基礎路徑。如要執行健康狀態檢查,請呼叫 Proxy,如下所示:
$ curl -H 'User-Agent: GoogleHC' https://$HOST/healthz/catalog Server Ready
$HOST 代表負載平衡器提供的Apigee 環境群組中定義的主機名稱。
透過 API Proxy 執行自訂健康狀態檢查
如要執行任何額外驗證,可以在部署至環境的 API Proxy 中定義自訂健康狀態檢查邏輯。舉例來說,如果多個環境都無法運作,健康狀態檢查可能會失敗。或者,您也可以根據目標健康狀態或延遲時間,讓健康狀態檢查失敗。
在這種情況下,您可以對該 Proxy 進行一般 API 呼叫,執行健康狀態檢查。
舉例來說,假設您要檢查名為 prod 的環境健康狀態。
將 API Proxy 部署至該環境,並使用基準路徑 /healthcheck-prod。
如要檢查 Apigee 執行個體提供的 prod 環境健康狀態,請呼叫 Proxy,如下所示:
$ curl https://$HOST/healthcheck-prod
$HOST 代表負載平衡器提供的Apigee 環境群組中定義的主機名稱。
使用須知
區域層級和環境層級的健康檢查:如果是由 Google Cloud 負載平衡器執行,負載平衡器會設定正確的 User-Agent 標頭。如果您的用戶端會耗用這些健康狀態檢查 API 呼叫,請務必設定正確的 User-Agent。
Apigee Hybrid:健康狀態檢查功能僅適用於 1.4 以上版本。
PSC 健康狀態檢查
Apigee 支援使用 Private Service Connect (PSC) 進行健康狀態檢查,可為多區域部署作業啟用自動跨區域容錯移轉。如果您在多個區域有多個 Apigee 執行個體,可以選擇啟用 PSC 健康狀態檢查,這樣一來,當使用中區域的 Apigee 執行個體健康狀態不佳時,流量就會自動容錯移轉至健康狀態良好的區域。您不需要從用戶端或負載平衡器發出要求,即可觸發檢查。 Google Cloud 會代表您持續監控執行個體,並自動更新健康狀態。
PSC 健康狀態檢查功能是在 Apigee 後端設定。您不需要部署任何額外資源、編寫任何程式碼,也不必變更 API 代理。
必要條件
- 您擁有 Apigee 即付即用或訂閱制機構。
- 貴機構有兩個以上的 Apigee 執行個體,每個執行個體位於不同的 Google Cloud 區域。
- 用戶端流量會透過 Private Service Connect (PSC) 傳送至 Apigee。
- 所有參與容錯移轉的 Apigee 執行個體,都會以相同方式部署每個環境、環境群組、API Proxy、共用流程和資源。如果部署作業不一致,流量在區域之間轉移時可能會發生非預期的行為。
如何啟用
PSC 健康狀態檢查是由 Google 管理的選用功能。如要為機構啟用這項功能,請與 Apigee 帳戶團隊或 Apigee 支援團隊聯絡。啟用後,機構中的所有執行個體都會啟動自動區域容錯移轉。您不需要採取進一步的設定。
測試建議
由於 PSC 健康檢查會立即自動進行區域容錯移轉,直接影響流量路徑,因此建議您先在非正式的 Apigee 環境中測試這項功能,再為正式機構啟用。確認容錯移轉和復原作業符合 API 流量模式的預期行為,且用戶端應用程式可透明處理轉換作業。
如要模擬容錯移轉情境並驗證設定,請與 Apigee 帳戶團隊或 Apigee 支援團隊聯絡。該團隊可協助您在受控環境中引發失敗狀況,以便在正式環境中啟用這項功能前,觀察容錯移轉行為。
容錯移轉的運作方式
當 PSC 健康狀態檢查判斷出作用中區域的 Apigee 執行個體狀況不佳時,用戶端流量會立即自動重新導向至其他區域狀況良好的 Apigee 執行個體。當健康狀態不良的執行個體恢復運作,流量就會回到原地區。容錯移轉和復原程序對用戶端應用程式而言是透明的。
目前限制
- PSC 健康狀態檢查目前只會偵測完整的區域基礎架構中斷情形。即使流量因錯誤率或延遲而降低,只要流量仍可流動,就不會觸發這項功能。後續版本預計會推出更廣泛的元件層級健康狀態檢查。
在 Cloud Logging 中驗證健康狀態
您可以在 Cloud Logging 中,觀察 Apigee 執行個體的每個區域健康狀態事件。在代管 Apigee 機構的 Google Cloud 專案的 Logs Explorer 中,執行下列篩選器:
resource.type="compute.googleapis.com/NetworkEndpointGroupV2"
詳情請參閱「監控複合健康狀態檢查記錄」。
針對每個區域,查看相符記錄項目的 healthState 欄位。如果值為 HEALTHY,表示該區域的 Apigee 執行個體可連線並處理流量。其他值表示 PSC 健康檢查目前不會將流量導向該區域。