Cloudflare Radar Outage Center(CROC)は、Cloudflareのトラフィックデータに表示される障害や遮断を含むインターネットの混乱に関する最新情報をコミュニティに提供する方法として、2022年バースデーウィークで発表されました。このエントリの中には、現地の通信プロバイダや市民団体によってソーシャルメディアに投稿された情報を元にしているものもありますが、社内のトラフィック異常検出・警告ツールを基にしたものもあります。今回、私たちはCloudflare Radarにこのアラートフィードを追加しました。これは国やネットワークレベルのトラフィック異常の検出時にCROCに表示します。また、このフィードはAPI経由でも利用可能です。
この新機能の構築に加え、最近Cloudflare Radarで発表したルートリークやルートハイジャックに関する洞察を基に、新しいRadar通知機能の提供を開始します。これにより、トラフィックの異常、確認されたインターネット障害、ルートリーク、ルートハイジャックに関する通知を購読できるようになります。Cloudflareダッシュボードの既存の通知機能を使用して、ユーザーは国または自律システムに対する通知を設定し、関連するイベントが発生したときに通知を受け取ることができます。通知は電子メールまたはWebhook経由で送信され、利用可能な配信方法はプランレベルによって異なります。
トラフィック異常
インターネットのトラフィックは一般的にかなり規則的なパターンをたどり、日々のトラフィック量の山と谷はほぼ同じ形になります。しかし、週末はトラフィックの形状は平日と類似しているように見えますが、その量は一般的に異なります。同様に、祝祭日や国家的なイベントも、人々の行動が変化してオフラインで過ごす時間が増えたり、人々がそのイベントに関する情報や報道をインターネット上に求めることにより、トラフィックの形状や量が「平日」とは大きく異なることがあります。こうしたトラフィックの変化はニュース(チャールズ3世の戴冠式、復活祭/過越祭/ラマダン、ブラジル大統領選挙)になることがあり、Cloudflareの過去のブログ記事でもいくつか取り上げています。
しかし、当社のブログ記事をお読みいただいたり、ソーシャルメディアでCloudflare Radarをフォローしていただいている皆様もご存知の通り、懸念すべきはトラフィックの急激な低下です。一部は悪天候や地震などの自然災害によるインフラ損傷の結果であり、事実上避けられないものですが、これらの事象がインターネット接続に与える影響をタイムリーに把握することは、通信の観点から非常に重要です。また、権威主義的な政府がモバイルインターネット接続の遮断を命じたり、全国的にすべてのインターネット接続が遮断された場合にも、トラフィックは減少します。インターネットの遮断は、しばしば外部との通信を制御する手段として使用されるため、このようなタイプの異常なトラフィック低下に関するタイムリーな洞察は、人権の観点から非常に重要です。
ここ数か月間、Cloudflare Radarチームは社内ツールを使用してトラフィックの異常を特定し、専用のチャットスペースにフォローアップのためのアラートを投稿してきました。この社内ツールを支える当社のトラフィック解析と異常検知の方法論に関する技術的な詳細は、関連ブログ記事「Gone Offline: Detecting Internet Outages」で詳しく説明しています。
このような内部トラフィックの異常アラートの多くが、最終的に障害センターのエントリやCloudflare Radarソーシャルメディアに投稿されることになります。現在、私たちはCloudflare Radar障害センターを拡張し、これらの異常の特定と同時に情報を公開しています。下図に示すように、新たな「トラフィック異常」の表には、異常の種類(場所または自律システム番号)、異常が検出されたエンティティ(国/地域名または自律システム)、開始時間、継続時間、検証ステータス、および「Actions」リンクが存在し、関連するエンティティのトラフィックページで異常を確認したり、通知を購読することができます。(検出された異常を手動で確認した結果、その異常が複数のCloudflareトラフィックデータセットに存在すること、および/またはGeorgia TechのIODAプラットフォームなどのサードパーティデータセットで確認できることが判明した場合、検証済みとしてマークします。未検出の異常は、誤検知やNetflowsの収集上の問題である可能性もありますが、私たちはこの是正に努めています)。
この表を新たに追加したことの他に、Cloudflare Radar障害センターのマップを更新し、異常が検出された場所をハイライトするとともに、マップのすぐ下にある新しいタイムラインに、より広範な時間的な状況を配置しました。異常はマップ上にオレンジ色の円で表示され、右上のトグルで非表示にすることができます。二重線の丸は複数国の集計値が表示され、その領域を拡大すると、最終的に集計の内訳となる各国に関連する異常の数が表示されます。タイムラインの特定のドットにカーソルを合わせると、そのドットに関連する障害や異常に関する情報が表示されます。
2022年9月に障害センターとAPIを立ち上げて以来、インターネット障害情報はRadar APIを通じて取得できるようになりました。トラフィックの異常は、Radar APIエンドポイントからも利用できるようになりました。トラフィック異常に関するAPI呼び出しとレスポンスの例を以下に示します。
呼び出しの例:
応答例:
curl --request GET \ --url https://api.cloudflare.com/client/v4/radar/traffic_anomalies \ --header 'Content-Type: application/json' \ --header 'X-Auth-Email: '
通知の概要
{
"result": {
"trafficAnomalies": [
{
"asnDetails": {
"asn": "189",
"locations": {
"code": "US",
"name": "United States"
},
"name": "LUMEN-LEGACY-L3-PARTITION"
},
"endDate": "2023-08-03T23:15:00Z",
"locationDetails": {
"code": "US",
"name": "United States"
},
"startDate": "2023-08-02T23:15:00Z",
"status": "UNVERIFIED",
"type": "LOCATION",
"uuid": "55a57f33-8bc0-4984-b4df-fdaff72df39d",
"visibleInDataSources": [
"string"
]
}
]
},
"success": true
}
トラフィックの低下やルーティングの問題など、インターネットの「イベント」に関するタイムリーな知識は、複数の人が関心を持つ可能性があります。カスタマーサービスやヘルプデスクの担当者は、この情報を元に、顧客や利用者から受けたアプリケーションのパフォーマンスや可用性に関する不満の内容を調査することができます。同様に、ネットワーク管理者は、この情報を利用することで、自身が管理するネットワークの外のインターネットの状況をよりよく理解することができます。また、市民社会組織は、紛争や不安定な地域におけるコミュニケーションの維持と人権の保護を目的とした行動計画に情報を提供するために、この情報を利用することができます。本日より利用可能となった新しい通知機能により、国または自律システム単位の確認されたトラフィック異常、インターネット障害、ルートリーク、ルートハイジャックに関する通知を受け取ることができます。以下のセクションでは、通知の購読と設定方法、各種通知に含まれる情報について説明します。
通知の購読
通知を購読および設定するには、Cloudflareダッシュボードにログインする必要があります。Cloudflareサービスの購入は必要ありません。アカウントの設定には認証済みのEメールアドレスが必要です(ログイン不要での利用を考えていましたが、ログインすることでCloudflareの既存の通知エンジンを利用することができ、Radar専用の別の通知エンジンを構築する時間とリソースを削減するため、ログインを必要としました)。まだCloudflareアカウントをお持ちでない場合、https://dash.cloudflare.com/sign-upにアクセスしてアカウントを作成してください。ユーザー名と一意の強力なパスワードを入力して「サインアップ」をクリックし、認証メールの指示に従ってアカウントを有効にします。(アカウントを有効にしたら、追加のセキュリティ対策として二要素認証(2FA)を有効にすることをお勧めします)。
アカウントを設定して有効にすると、通知を作成・設定することができるようになります。最初に、Cloudflare Radarの[トラフィック]、[ルーティング]、[障害センター]セクションで通知(メガホン)アイコンを探します。このアイコンが表示されていれば、そのメトリックで通知を利用することができます。国または自律システム番号(ASN)で絞り込んだトラフィックまたはルーティングページにいる場合、通知の購読もそのエンティティで絞り込まれます。
Cloudflare Radarの[トラフィック]、[ルーティング]、[障害センター]セクションでこのアイコンを探して通知の設定を開始します。
[障害センター]で、インターネット障害テーブルのエントリの「アクション」列にあるアイコンをクリックして、関連する場所や自律システム番号(ASN)の通知を購読します。確認されたすべてのインターネット障害に関する通知を購読する場合、テーブルの説明の横にあるアイコンをクリックします。
[障害センター]で、トラフィック異常テーブルのエントリの「アクション」列にあるアイコンをクリックして、関連するエンティティに関する通知を購読します。すべてのトラフィックの異常に関する通知を購読する場合、テーブルの説明の横にある[購読]アイコンをクリックします。
国または自律システム番号(ASN)のトラフィックページで、トラフィック傾向グラフの説明の横にある[購読]アイコンをクリックして、選択した国または自律システム番号(ASN)に影響するトラフィック異常またはインターネット障害に関する通知を購読します。
国または自国律システム番号のルーティングページで、説明の横にあるアイコンをクリックして、選択した国または自国律システム番号に関するルートリークまたはオリジンハイジャックの通知を購読します。
ルーティングページのルートリークまたはオリジンハイジャックテーブルで、テーブルエントリのアイコンをクリックして、参照された国や自律システム番号(ASN)のルートリークまたはオリジンハイジャックに関する通知を購読します。
通知アイコンをクリックすると、Cloudflareのログイン画面が表示されます。ユーザー名とパスワード(必要に応じて二要素認証コードも)を入力してログインすると、Radarの参照元ページから渡された重要な情報(関連する場所やASNなど)があらかじめ入力された[通知の追加]ページが表示されます。(すでにCloudflareにログインしている場合、Radar上の通知アイコンをクリックすると、直接[通知の追加]ページに移動します)。このページでは、通知に名前を付けたり、任意の説明を追加したり、必要に応じてロケーションや自律システム番号(ASN)のフィルタ内容を調整することができます。通知を送信するメールアドレスを入力するか、(アカウントでWebhookを有効にしている場合)確立されたWebhookの送信先を選択します。
「保存」をクリックすると、そのアカウントの[通知の概要]ページに通知が追加されます。
また、Radar a Radarページのリンクから始めることなく、Cloudflare内で直接通知を作成および設定することもできます。これを行うには、Cloudflareにログインし、左側のナビゲーションバーから「通知」を選択します。通知ページ(下図)が表示されます。「追加」ボタンをクリックして新しい通知を追加します。
次のページで、通知を使用できるCloudflare製品のリストから「Radar」を検索して選択します。
続く「通知の追加」ページでは、通知を一から作成・設定することができます。イベントのタイプは「通知対象」フィールドで、ロケーションとASNはそれぞれ「フィルタ条件(オプション)」フィールドで検索して選択することができます。フィルターが選択されていない場合、選択されたタイプのすべてのイベントに対して通知が送信されます。通知を送信する1つ以上のメールアドレスを追加するか、利用可能な場合はWebhookターゲットを選択して「保存」をクリックしてアカウントに設定された通知リストに追加します。
習熟した方であれば、Cloudflare API通知ポリシーエンドポイントを通じて通知を作成・設定することもできますが、このブログ記事ではその手順についての説明は省略します。
通知メッセージ
様々なタイプのイベントに対する通知メールメッセージの例を以下に示します。各イベントには、イベントの種類、影響を受けるエンティティ、開始時間などの重要な情報が含まれており、イベントの種類に応じてその他の関連情報も含まれます。各メールには、複数のメールクライアントに対応できるよう、テキスト形式とHTML形式の両方があります。(最終的な本番用のメールは、下記のものとは多少異なる場合があります)。
インターネット障害通知メールには、影響を受けたエンティティに関する情報、障害の原因の説明、開始時刻、範囲(利用可能な場合)、障害の種類(全国、ネットワーク、地域、またはプラットフォーム)、およびRadarトラフィックグラフで障害を表示するためのリンクが記載されています。
トラフィック異常通知メールには、影響を受けたエンティティに関する情報と開始時刻、およびRadarトラフィックグラフで異常を表示するためのリンクが記載されています。
BGPハイジャック通知メールには、ハイジャックに関する情報と被害者のASN、影響を受けたIPアドレスのプレフィックス、漏れたルートを含むBGPメッセージ(アナウンスメント)の数、ハイジャックをアナウンスするピアリングの数、検出タイミング、イベントが真のハイジャックであることの確信度、関連するタグ、Radarでハイジャックイベントの詳細を表示するためのリンクが記載されています。
BGPルートリーク通知メールには、リークしたルートの学習元AS、ルートをリークしたAS、リークしたルートを受信して伝播したAS、影響を受けたプレフィックス数、影響を受けた配信元ASの数、BGPルートコレクタピアリングの数、検出タイミング、Radarでルートリークイベントの詳細を表示するためのリンクが記載されています。
Webhookに通知を送信している場合、それらの通知をSlackのようなツールに統合することができます。例えば、SlackのAPIドキュメントの指示に従って簡単な統合を数分で作成すると、以下のようなメッセージが表示されます。
まとめ
Cloudflareのインターネットに対する独自の視点は、トラフィックの予期せぬ低下や潜在的に問題のあるルーティングイベントをほぼリアルタイムで洞察します。この1年間、私たちはこのような洞察を皆さんと共有してきましたが、新しい「イベント」があるかどうかを知るには、Cloudflare Radarにアクセスする必要がありました。通知機能の開始により、関心のある最新のイベント情報を自動的にお届けできるようになりました。
Cloudflare Radarにアクセスして、トラフィック異常、確認されたインターネット障害、BGPルートリーク、BGPオリジンハイジャックについて公開されている情報をご確認ください。Radarの関連するグラフや表で通知アイコンを探し、ワークフローに従って通知を設定し、購読してください。(まだCloudflareアカウントをお持ちでない場合、登録が必要です)。私たちは通知機能の改善に取り組んでいます。ご要望がありましたら是非お知らせください。また、Radarの通知をご自身のツール/ワークフロー/組織にどのように統合したかについてもお知らせください。
@CloudflareRadar(Twitter)、Cloudflare.social/@radar(Mastodon)、radar.Cloudflare.com(Bluesky)などのソーシャルメディアでCloudflare Radarをフォローしてください。