Skip to content

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

モニター

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

モニターは、プール内の各エンドポイントの健全性を評価するために、定期的にヘルスモニターリクエストを発行します。

プールが異常になると、ロードバランサーはそのプールをエンドポイントのローテーションから外します。

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

エンドポイントのステータスが変わるヘルスモニターリクエストは、Load Balancing のイベントログに記録されます。


プロパティ

最新のモニタープロパティ一覧は、API ドキュメントの モニタープロパティ を参照してください。


モニターを作成する

手順については、モニターを作成する を参照してください。

Monitor Groups

Monitor Groups を使うと、複数のヘルスモニターを 1 つの論理グループにまとめ、アプリケーション向けにより正確でインテリジェントなヘルスチェックを作れます。複数モニターの結果を集約すると、実際のアプリケーション健全性をよりよく反映し、トラフィックステアリングの耐障害性を高められます。詳細は Monitor Groups のドキュメントを参照してください。


ヘルスモニターのリージョン

プールにモニターを関連付ける とき、複数のリージョンを選んで報告精度を上げられます。

プールの Health Monitor Regions で選んだ各オプションについて、Cloudflare はそのリージョン内の 3 つのデータセンターからヘルスモニターリクエストを送信します。

ヘルスモニターリクエストは、選択した各リージョン内の 3 つのデータセンターから送信されます。

そのリージョンの過半数のデータセンターでヘルスモニターが成功すると、そのリージョンは健全とみなされます。健全なリージョンが過半数なら、エンドポイント自体も健全とみなされます。

構成

All Data Centers(Enterprise のみ)

ヘルスモニタープローブは、Cloudflare ネットワーク内のすべてのデータセンターから、関連プール内のエンドポイントへ送信されます。お客様が設定した間隔で、各エンドポイントにプローブが届きます。

All Regions(Enterprise のみ)

関連プール内の各エンドポイントに対して、リージョンあたり 3 本のヘルスモニタープローブを送信します。リージョンは合計 13 あるため、プローブは 39 本になります。

Regional

プール設定で指定した各リージョンから、3 本のヘルスモニタープローブを送信します。


IPv4 と IPv6 のプローブ動作

ヘルスモニターのプローブは、既定で IPv4 を使います。IPv6 プローブは、エンドポイントアドレスに A レコードがなく AAAA だけの場合にのみ送られます。各エンドポイントは、間隔ごとに 1 回のプローブを受けます。Cloudflare は同じエンドポイントに対して IPv4 と IPv6 の両方をプローブしません。

IPv6 でのプローブを強制するには、エンドポイントアドレスを IPv6 アドレス、または AAAA レコードだけを持つホスト名に設定します。


Host ヘッダーの優先順位

ヘルスモニターリクエストで使う Host ヘッダーは、モニター自体 または プール内のエンドポイント で設定できます。

モニターとエンドポイントの両方に Host ヘッダーがある場合、エンドポイント側の Host ヘッダーがモニター側より優先されます。

Host ヘッダーを指定しない場合、Cloudflare はエンドポイントに設定した Endpoint Address を、ヘルスモニターリクエストの Host ヘッダーとして使います。

詳細は HTTP Host ヘッダーを上書きする を参照してください。


API コマンド

Cloudflare API は、モニター向けに次のコマンドをサポートしています。例はユーザーレベルのエンドポイント向けですが、アカウントレベルのエンドポイントにも同じように使えます。

コマンド メソッド エンドポイント
モニターを作成する POST accounts/:account_id/load_balancers/monitors
モニターを削除する DELETE accounts/:account_id/load_balancers/monitors/:id
モニターを一覧する GET accounts/:account_id/load_balancers/monitors
モニターの詳細 GET accounts/:account_id/load_balancers/monitors/:id
特定のプロパティを上書きする PATCH accounts/:account_id/load_balancers/monitors/:id
既存のモニターを上書きする PUT accounts/:account_id/load_balancers/monitors/:id
モニターをプレビューする POST accounts/:account_id/load_balancers/monitors/:id/preview

対応プロトコル

次の表は、Cloudflare Load Balancing で使えるモニターの種類、監視タイプ、各ヘルスチェックが成功条件をどう評価してエンドポイントの健全性を判定するかをまとめたものです。

モニターの種類 監視タイプ 説明 ヘルスチェックの処理 成功条件
HTTP/HTTPS パブリックとプライベート 特定のプロトコル属性を持つ HTTP および HTTPS エンドポイント向けです。 プローブには、Method、Simulate Zone、Follow Redirects、Request Headers、Response Body などの設定と成功条件を指定します。プローブは HTTP プロトコルで、設定した成功条件を評価します。設定したタイムアウト期間中、応答がなくても keep-alives で TCP 接続を維持します。 設定した HTTP 成功条件を満たすと成功です。設定したタイムアウトとリトライ内に応答がない場合は不健全と見なします。
TCP パブリックとプライベート エンドポイントへの接続を試みて、TCP 接続を確認します。 モニターは指定ポートへ TCP SYN を送ります。健全と判定するには、SYN/ACK を受信して接続を確立する必要があります。接続は FIN または RST パケットの送信、あるいはエンドポイントからの FIN 受信で閉じます。 設定したタイムアウトとリトライ内に TCP 接続を確立できない場合は不健全と見なします。
ICMP Ping パブリックと Tunnel ICMP でエンドポイントへの基本的なレイヤー 3(L3)接続を確認します。エンドポイントは ICMP パケットへの応答を許可し、途中のネットワーク機器も ICMP をサポートしている必要があります。 モニターは ICMP/ICMPv6 echo request(ping)を送り、エンドポイントからの ICMP/ICMPv6 echo reply を待ちます。 エンドポイントは、設定したタイムアウトとリトライ内に ICMP ping へ応答する必要があります。応答があれば健全です。
UDP-ICMP パブリックと Tunnel UDP-ICMP モニターは、ICMP Ping モニターが健全と判定したあとに UDP プローブパケットを送ります。 正常な ICMP 応答を受信したあと、モニターはエンドポイントへ UDP プローブパケットを送ります。ICMP Port Unreachable メッセージを受信しなければ、エンドポイントは健全です。 設定したタイムアウトとリトライ内に ICMP Port Unreachable メッセージを受信した場合、エンドポイントは不健全です。
SMTP パブリック アプリケーション層で SMTP の可用性を確認します。 モニターは TCP 接続を確立し、SMTP HELO コマンドを送ります。応答コード 250 を待ちます。次に SMTP QUIT コマンドを送り、応答コード 221 を待ちます。各間隔の終わりに、TCP FIN パケットを送って接続を閉じます。 エンドポイントは、設定したタイムアウトとリトライ内に正しい SMTP コード(HELO は 250、QUIT は 221)で応答する必要があります。応答があれば健全です。

役に立ちましたか?