👌

Cloudflare の Health Check

2024/09/05に公開

CloudflareではCDNやWAFを使っていない外部のウェブサイトであっても、(勿論CloudflareのCDN/WAF経由のウェブサイトであっても)Health Check を行うことが可能です。

やってみる

環境構築

まずはいつも通り以下の手順に従ってnginxでWebサイトを起動します。
https://zenn.dev/kameoncloud/articles/6d2dec59232917

Health Check の設定

マネージメントコンソール左ペインでtrafficHealth Checksをクリックします。

Createをクリックします。

適当な名前を入力し監視対象のURLもしくはIPアドレスを入力します。CloudflareのCDNを使っているウェブサイトの場合、Cloudflare側で管理しているドメインのURLではなくオリジンのURLかIPアドレスです。

監視対象のプロトコルとメソッドを設定します。


HTTP(s)の場合GETHEADのみをサポートしています。期待するHTTPステータスコードとResponse Bodyに含まれる文字列を入力します。この例では空欄で作業を進めます。

Webサイトの設定によっては特定のHTTPヘッダーを要求したり、時にはHTTPヘッダーが空欄の場合レスポンスを戻さないものがあります。(Bot対策などで多くのウェブサーバで使われる手法です)この場合この設定箇所で特定のHTTPヘッダーをRequest時に送ることができます。

監視間隔、リトライ回数、タイムアウト、監視に用いるクラウドフレアの地域を設定します。

例えばこの設定の場合、極東アジア地域と北米地域から同時にヘルスチェックを行います。
Save and Deployをクリックしてしばらく待ちます。

結果 と アラート

60秒の2回間隔で設定しましたので、2~3分待つと以下の通りステータスが表示されます。

次にアラートを設定します。Configure an alertをクリックします。

適当な名前を付けてメールアドレスをセットします。

アラートのトリガーとするHealth Checkの設定を選択します。

トリガーのステータスを選択します。

この状態でオリジンのインスタンスを落とします。ステータスがUnhealthyに変更しています。

以下のようなアラートメールが飛んできます。

Health Check Analytics

こんな感じでHealth Check の統計とRTTの計測ができます。

Discussion