新機能を導入するソフトウェアエンジニア、ルーティングを更新するネットワーク・エンジニア、新しいファイアウォール規則を設定するセキュリティ・エンジニアのいずれであっても、システムが意図したとおりに動作しているかどうか、そして動作していない場合はどのように修正するかを知るためには可視性が必要です。
Cloudflareは、お客様がCloudflare内で保護されているサービスを可視化することをお約束します。すべてのネットワーク活動を一枚のガラスを通して見るような透明性を確保することは、常にCloudflareの目標の1つでした。今日、私たちはCloudflareの観測可能性に関する将来のビジョンについて概説しています。
オブザーバビリティ(可観測性)とは?
可観測性とは、システムの内部状態を可視化することをいいます。何が、どこで起きているのか、なぜ起きているのかを把握するためのツールをユーザーに提供するために使用されます。
Cloudflareでは、可観測性には、モニタリング、分析、フォレンジックという3つの中核的な要素があると考えます。モニタリングでは、システムの健全性を測定し、何か問題が発生したときに通知を受け取ります。分析では、データを可視化してパターンとインサイトを特定するためのツールが得られます。フォレンジックは、あるイベントに関する非常に具体的な質問に答えるのに役立ちます。
セキュリティのコンテキストでは、ファイアウォールやボット管理などのセキュリティ製品によって実行される緩和措置が誤検出でないことを検証するために、可観測性が特に重要になります。そのリクエストは悪意あるものとして正しく分類されているか?そうでない場合、どの検知システムがそのように分類したかを調査します。
さらに、Cloudflareは、アプリケーションや企業ネットワークのパフォーマンスを向上させ、当社のグローバルネットワーク上で動作する光速のコードを開発者が書くための製品も用意しています。Cloudflareのネットワークを通過するすべての要求、パケット、フェッチに関するインサイトをお客様に提供することを目指しています。
監視と通知
分析はデータを要約してくれる素晴らしいものですが、 _見るべきタイミングを_どのようにして知れば良いのでしょうか?ダッシュボードで「更新」を見逃さないように何度も何度もクリックできる人はいません。そこで、通知機能の出番です。
分析ページで何か「問題がある」場合、実は、お客様のトラフィックやネットワークに大きな変化があり、それが分析のスパイクやドロップに反映されているということを意味します。可用性とパフォーマンスはエンドユーザーに直接影響するため、当社、監視して、問題が発生したらすぐにお客様に通知することを目標としています。
現在、オリジンエラー率、セキュリティイベント、高度なセキュリティイベント からの、使用量ベースの請求とヘルスチェックに対する通知タイプをご提供しています。すばらしい分析に対応させるための通知タイプを継続的に追加しています。分析がよりカスタマイズ可能になると、通知も同様にカスタマイズ可能になるでしょう。
スパイクの検出には、燃焼率やZスコアの利用など、さまざまなアルゴリズムがあります。当社では、より多くのバリエーションを提供し、より賢く、正確でノイズの少ない通知を行うために、検出に使用するアルゴリズムを繰り返し使用し続けています。
分析
Cloudflareからアラートを受け取って、次はどうなるのでしょうか?
分析は、トラフィックを俯瞰的に把握したり、フィルタや時間範囲を追加して特定のタイプのイベントに焦点を当てたりするために使用されます。アラートを受信したら、Cloudflareダッシュボードでグラフ、高度な指標、トップNを通して、何がトリガーされたかを正確に表示する必要があります。
あなたが開発者でも、セキュリティアナリストでも、ネットワークエンジニアでも、Cloudflareダッシュボードは必要なものを一元管理して表示する場所にある必要があります。当社は、お客様の多様なユースケースに対応するために、ダッシュボードをよりカスタマイズできるようにしたいと考えています。ダッシュボードのドロップダウンから時間枠とフィルタを指定してデータを分析したり、独自の指標やグラフを作成して未処理のログと連動させ、何が起きているかを明確に把握することができます。
セキュリティに焦点を当ててみると、セキュリティポリシーを展開する前に信頼を築くための最良のツールが分析であると考えています。今後は、セキュリティ関連のすべての検出シグナルをHTTP分析の上に階層化することで、ダッシュボードを使用して次のような質問の答えがわかるようになるでしょう。「WAFがXSS攻撃として識別するすべての要求をブロックするとしたら、私は何をブロックできるのですか?」
当社のエンタープライズ向けBot Managementをご利用のお客様は、すでにこれに馴染みがあるかもしれません。当社はこれを改善し、それをさらに発展させながら、他のすべてのセキュリティ製品もこれに続かせます。
分析は、高度なパターンを見たり、何か異常が起きていることを示す異常値を特定するための強力なツールです。私たちは、お客様のユースケースを幅広くするために、最新のダッシュボード、カスタマイズ、機能の開発に取り組んでいます。ご期待ください。
ログ
ログは、ある事象について特定の詳細情報を調べたいときに使用します。ログは、タイムスタンプとイベントを説明するフィールドで構成され、リアルタイムで、必要なときに粒度の細かいレベルで可視化するために使用されます。
それぞれのデータセットを通じて、イベントは様々な指標を測定します。例えば、HTTP要求ログでは、エンドユーザーがサーバーにコンテンツを要求したり、サーバーにコンテンツを送信したりしたときに、イベントが発生します。ファイアウォールのログでは、ファイアウォールがHTTPリクエストに対してアクションを起こしたときにイベントが発生します。各HTTPリクエストに対して、複数の Firewallイベントが存在する可能性があります。
現在、お客様はLogpull、Logpush、Instant Logを使用してログにアクセスしています。LogpullとLogpushは、ログをサードパーティー(当社の 分析パートナー など)に送信し、保存、分析、および他のデータソースとの関連付けを行いたいお客様に最適な方法です。Instant Logsを使用することで、お客様はダッシュボードやCLIから直接リアルタイムでトラフィックを監視し、トラブルシューティングを行うことができます。Cloudflareのログを調査するための機能をさらに構築する予定です。 R2のログストレージの構築に奔走していますが、次はどうなるのでしょうか?
お客様から、Firewallの分析ダッシュボードにあるアクティビティログが非常に有用であるという声をいただいています。製品全体に同じ機能を追加することで、ログの力をダッシュボードにもたらし続けたいと当社では考えています。Cloudflare R2にログを保存するお客様にとっては、サンプリングデータの利用を最小限に抑えられるということです。
非常に具体的なことを探すのであれば、ログを照会することも重要です。そこでフォレンジックの出番となります。目的は、高レベルの分析から、それを構成する個々のログの行まで調査できるようにすることです。Ray IDのような一意の識別子があれば、1つのリクエストを検索し、他のすべての関連するアクティビティと関連付けることができるはずです。そのRay IDのクライアントIPを見つけ、そこから、このIPからの他のリクエストは悪意があるのか?クライアントはどのような経路をたどったのか?
トレース
ログはとても有用ではありますが、リクエスト関連のコンテキストを把握することはできません。トレースは、ユーザーのリソース要求から、その配信に関与する各システムに至るまで、リクエストのエンドツーエンドのライフサイクルを表示します。トレースは、極めて具体的な何かを見つけるためにフォレンジックを適用するもう一つの方法です。
これらは、アプリケーションの各部分を区別して、どこでエラーやボトルネックが発生しているかを特定するために使用されます。例えば、オリジンとサードパーティAPIへのフェッチイベントを実行するWorkerがある場合、分析ではWorkerの平均実行時間やエラー率を表示できますが、各操作を可視化することはできません。
wrangler devとconsole.log文を使うことで、コードを検査しデバッグするのにとても役に立ちます。これらは必須の可視性を提供しますが、このようにコードを測定するのは労力がかかってしまいます。
開発者は、アプリケーションで何が起こっているかを理解し、エンドユーザーに最高の体験を提供するためのツールを持ったほうがよいでしょう。そのために、私たちがいます。次のような質問に答えるお手伝いができます。Workerの実行はどこで失敗しているのか?アプリケーションの遅延を急増させているのはどの操作か?
すべてを一つにまとめる
通知、分析、ログ、トレースにはそれぞれ異なるユースケースがあり、これらを組み合わせることで、分析や開発者に可観測性を提供する強力なツールとなります。今後、Cloudflareダッシュボードを通じてこれらの機能をより多く利用いただけるようにしていく予定です。
これらの機能の改善のために、ぜひ皆様からのご意見をお聞かせください。使用事例の共有やロードマップの作成にご興味をお持ちの方は、ぜひ担当者までご連絡ください。