ヘルスチェックを行う

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示する。

Apigee では、ユースケースに応じてさまざまなレベルでヘルスチェックを利用できます。

  1. リージョンレベル / Apigee インスタンスのヘルスチェック: リージョン内の Apigee インスタンス全体の健全性を返します。
  2. 環境レベルのヘルスチェック: Apigee インスタンス内の特定の環境の健全性を返します。
  3. API プロキシによるカスタム ヘルスチェック: 複雑なユースケースでは、専用の API プロキシをカスタム ヘルスチェック エンドポイントとして構成できます。

リージョンレベルのヘルスチェックの実行

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 プロキシを呼び出します。

  • /healthz/ をプロキシのベースパスの先頭に追加します。
  • リクエスト ヘッダー User-Agent: GoogleHC を追加します。

たとえば、/catalog が環境にデプロイされている有効なプロキシ ベースパスであるとします。ヘルスチェックを行うには、プロキシを呼び出します。

$ curl -H 'User-Agent: GoogleHC' https://$HOST/healthz/catalog
Server Ready
ここで、$HOST はロードバランサによって提供される Apigee 環境グループで定義されるホスト名です。

API プロキシを介したカスタム ヘルスチェックの実行

追加の検証を行う場合は、環境にデプロイされた API プロキシでカスタム ヘルスチェック ロジックを定義できます。たとえば、複数の環境がダウンしている場合にヘルスチェックを失敗させることができます。あるいは、ターゲットの状態やレイテンシに基づいてヘルスチェックを失敗させることもできます。

この場合、プロキシに通常の API 呼び出しを行うことで、ヘルスチェックを実行できます。

たとえば、prod という環境の健全性を確認するとします。ベースパス /healthcheck-prod を使用して、その環境に API プロキシをデプロイします。Apigee インスタンスによって処理される prod 環境の健全性を確認するには、次のようにプロキシを呼び出します。

$ curl https://$HOST/healthcheck-prod
ここで、$HOST はロードバランサによって提供される Apigee 環境グループで定義されるホスト名です。

使用上の注意

リージョンレベルと環境レベルのヘルスチェックの場合: Google Cloud ロードバランサによって実行されている場合は、ロードバランサが正しい User-Agent を設定します。独自のクライアントがこれらのヘルスチェック API 呼び出しを使用する場合は、正しい User-Agent が設定されていることを確認する必要があります。

Apigee ハイブリッドの場合: ヘルスチェック機能はバージョン 1.4 以降でのみ使用できます。