Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

モニターとヘルスチェック

最終更新 Markdown で表示Agent セットアップ

ただし、ロードバランサーの役割はトラフィックの分散だけではありません。

ロードバランサーとプールが、オフラインのサーバーや、すでに過負荷のサーバーへリクエストを送っても意味がありません。理想的には、サーバーが処理できるリクエストだけを転送します。

そこで登場するのが、ロードバランシングのもう一つの要素であるモニターとヘルスチェックです。

    flowchart RL
      accTitle: ロードバランシングのモニターの流れ
      accDescr: モニターはヘルスモニターリクエストを送り、各プール内のサーバーの現在の状態を確認します。
      Monitor[モニター] -- ヘルスモニター ----> Endpoint2
      Endpoint2 -- 応答 ----> Monitor
      subgraph Pool[プール]
      Endpoint1((エンドポイント 1))
      Endpoint2((エンドポイント 2))
      end

仕組み

モニターは定期的にヘルスチェックを発行し、プール内の各サーバーの健全性を評価します。

モニターが定期的に発行するリクエストです。モニター設定に応じて pass または fail を返し、エンドポイントが引き続きトラフィックを受けられるかを確認します。

各ヘルスモニターリクエストは、次の 2 つの問いに答えようとします。

  1. エンドポイントはオフラインか?: エンドポイントはヘルスモニターリクエストに応答するか。応答する場合、十分に速く応答するか(モニターの Timeout フィールドで指定)。
  2. エンドポイントは想定どおり動作しているか?: エンドポイントは想定した HTTP レスポンスコードを返すか。レスポンス本文に特定の情報が含まれるか。

いずれかの答えが「いいえ」の場合、そのエンドポイントはヘルスモニターリクエストに失敗します。

このリクエストとレスポンスの仕組みにより、ロードバランサーは受信リクエストを処理できるサーバーを把握できます。

役に立ちましたか?