Cloudflare Zero Trust 〜DEXのHTTP Testsを使ってみた〜
はじめに
今回は、DEXのTests機能の中の「HTTP Get」を使用してみようと思います。
DEXの基本情報や、使用時の前提条件などはこちらFleet Status機能のブログからご確認ください。
テスト内容の作成の仕方
「Zero Trust」→「DEX」→「Tests」の順で選択をしていくと下のような画面が表示されます。
※既にテストが作成されている場合
こちらの画面で作成したテストの一覧を確認することができます。
実際に設定画面へ移って設定を行なっていこうと思います。
設定画面に移るには、「Showing All Tests」の下にある「+ Add a Test」をクリックします。
上のような画面に切り替わりました。
DEXのTests機能で設定する内容は以下の内容です。
Basic information
⚪︎ Name(必須)
- テストの任意の名前を設定します。
⚪︎ Description
- テスト内容の説明を入力します。(設定しなくても問題なし)
Configuration
⚪︎ Target(必須)
- テストするWebサイトまたはURLを入力します。
ホスト名はパブリックとプライベート両方がサポートされています。 - Tracerouteテストを作成したい場合は、テストしたいサーバーのIPアドレスを入力します。
Cloudflareに接続したパブリックエンドポイントまたはプライベートエンドポイントをテストできます。
※プライベートホスト名をテストする場合は、そのドメインが「ローカルドメインフォールバックリスト」に含まれていることを確認しておく必要があります。
確認の仕方、ドメインの追加・削除の仕方は、こちらからご確認ください。
⚪︎ Test type(必須)
- 「HTTP Get」と「Traceroute」の2種類からテスト内容を選択します。(2023年8月現在)
デフォルトで「HTTP Get」になっていますが、矢印をクリックすることで「Traceroute」が選択できるようになります。
⚪︎ Test frequency(必須)
- テストを実行する頻度を「5〜60分」の範囲内で設定します。
上下の矢印から1分単位での設定が可能です。
※「Target」と「Test type」は、テスト作成後の変更ができません。(その他は変更可)
この2か所を変更したい場合は、新しくテスト内容の作成が必要です。
HTTPテストを使ってみる
・HTTPテストできること
HTTPテストでは、ユーザーデバイスから特定のWebアプリケーションに対してGETリクエストを送信します。
応答メトリックを使用することで、接続問題のトラブルシューティングを行うことができます。
※テスト使用には、デバイスをWARP経由でゼロトラストに接続している必要があります。
WARPのバージョン要件についてはこちらをご確認ください。
・テストの作成
実際に作成してみようと思います。
今回作成するテストの内容か以下の通りです。
- Name:Cloudflare HTTP Test
- Description:今回は記入なし
- Target:Cloudflareの公式サイト
- Test type:HTTP Get
- Test frequency:30
この内容をテスト内容作成画面に設定していきます。
すべて設定するとこのようになりました。
設定内容を確認して問題なければ、右下の「Add test」をクリックします。
テスト一覧に先程設定した内容が追加されました。
これでHTTPテストの作成は完了です。
・HTTPテスト結果の確認
テスト結果の表示は、「Zero Trust」→「DEX」→「Monitoring」→「Tests」から確認できます。
「Application tests」のところに作成した「Cloudflare HTTP Test」のテスト内容が追加されているのが確認できました。
作成したテスト内容をクリックしてみます。
上のような画面に切り替わりました。
この画面では、次のようなテスト結果が確認できます。
1、テスト内容の詳細
「Test details」に表示されている内容で選択したテスト内容の詳細を確認できます。
- Test type : テストの種類。今回の場合は、HTTP Getが表示されています。
- Test frequency : テスト頻度。指定したテスト頻度が表示されます。
- Devices targeted : 対象となるデバイスの数
右側にある「Post 24Hours」を選択すると、テスト結果の表示したい時間範囲を選択できます。
選択できる時間範囲は、「1H」、「6H」、「12H」、「24H」、「48H」、「72H」、「7days」の7種類のみです。(デフォルトでは「24H」)
2、リソースの取得時間の確認
※変化がわかりやすいように数日時間をおいて、「Post 7days」で表示しています。
「Resource fetch time」では、リソースの取得時間を確認できます。
表示されている結果は、「サーバーの応答時間」+「DNS応答時間」を加算して計算された、テストの開始時間と終了時刻の差です。
表示されているグラフにカーソルを合わせると、1時間間隔でのテスト結果の確認ができます。(他のテスト結果でも確認できます)
3、サーバーの応答時間の確認
※変化がわかりやすいように数日時間をおいて、「Post 7days」で表示しています。
「Sever response time」では、サーバーの応答時間の確認ができます。
表示されている結果は、デバイスがターゲットから応答を受信するまでの応答時間です。
4、DNSの応答時間の確認
※変化がわかりやすいように数日時間をおいて、「Post 7days」で表示しています。
「DSN response time」では、DNS応答時間を確認できます。
表示されている結果は、DNSクエリを解決するまでの往復時間です。
5、HTTPステータスコードの確認
※変化がわかりやすいように「Post 7 days」で表示しています。
「HTTP status codes」では、ターゲットによって返されたステータスコードを確認できます。
ステータスコードの詳しい内容はこちらからご確認ください。
※テスト結果の保存期間は、使用するプランによって異なりますのでご注意ください。
保存期間の詳細はこちらからご確認ください。
6、デバイス別でのテスト結果確認
最後にデバイス別でのテスト結果を確認していきます。
デバイス別のテスト結果の確認の仕方は、「Zero Trust」→「My Team」→「Devices」の順に選択して登路されているデバイスの一覧画面を表示させます。
確認したいデバイスの「Last seen」の横にある点3つをクリック→「View」を選択します。
上のようなデバイスの詳細が表示されているような画面に切り替わるので、「Tests」を選択することでテスト結果一覧を確認することができます。
その中で、作成した「Cloudflare HTTP Test」をクリックします。
テスト結果が表示されました。
この表示方法では、先程確認できた「Resource fetch time」、「Sever response time」、「DSN response time」、「HTTP status codes」をデバイス別で確認することができます。
まとめ
今回は、DEXのTests機能の中の「HTTP Get」を使用して簡単にまとめてみました。
Tests機能の「Traceroute」を使用してまとめたブログもあげておりますので、気になる方はそちらも合わせてご確認ください。
「Traceroute」のブログは、こちらから