ネットサービス

Cloudflareが2022年6月21日に発生した大規模ネットワーク障害について説明


2022年6月21日15時30分頃、Cloudflareの主要な19のデータセンターで障害が発生し、DiscordやPixivなど複数のサイトにアクセスできない状態となりました。この大規模なネットワーク障害について、Cloudflareが公式ブログで説明しています。

Cloudflare outage on June 21, 2022
https://blog.cloudflare.com/cloudflare-outage-on-june-21-2022/


2022年6月21日に発生したCloudflareの障害について
https://blog.cloudflare.com/ja-jp/cloudflare-outage-on-june-21-2022-ja-jp/

2022年6月21日に障害が発生したのは、アムステルダム・アトランタ・アシュバーン・シカゴ・フランクフルト・ロンドン・ロサンゼルス・マドリード・マンチェスター・マイアミ・ミラノ・ムンバイ・ニューアーク・大阪・サンパウロ・サンノゼ・シンガポール・シドニー・東京の19箇所のデータセンターです。


Cloudflareは19のデータセンターで、Closネットワークとして設計された新しいアーキテクチャの実装を18カ月かけて行ってきたとのこと。このアーキテクチャは「Multi-Colo PoP(MCP)」と呼ばれるルーティングの追加レイヤーで、接続メッシュを構成するためのものでした。この接続メッシュによって、データセンターの内部ネットワークの一部を簡単に無効化あるいは有効化し、メンテナンスや問題への対処を行うことができるようになり、トラフィックを中断することなくメンテナンスを実行できるようになるとされていました。

これを実現可能にするために、CloudflareはBGPというプロトコルを利用していました。このBGPでは、どのプリフィックスを接続する他のネットワークに伝達(アドバタイズ)するか、もしくは接続するネットワークから受け入れるかを決定するポリシーを定義する必要があります。

そして、Cloudflareがこのプリフィックスアドバタイズのポリシーの変更を展開した際に、追加した設定文の順序を間違えてしまったため、プリフィックスの重要なサブセットが誤って削除されてしまったそうです。しかも、各ネットワークの接続に必要なプリフィックスのサブセットが削除されてしまったことで、修正に時間がかかってしまったとのこと。


障害は日本時間の2022年6月22日15時27分に発生し、15時35分にCloudflare内部で障害発生が宣言され、15時58分に原因が判明し16時42分にすべてのデータセンターとネットワークの復帰が完了、17時をもって障害は解決したと判断されました。

Cloudflareの世界全体のHTTPリクエスト数のグラフが以下。障害の影響が及んだのは内部ネットワーク全体の4%だったそうですが、障害が発生したタイミングでHTTPリクエスト数はおよそ7分の3にまで落ちています。


Cloudflareのネットワーク出力帯域幅のグラフでも、障害発生のタイミングでガクンと落ち込んでいるのがわかります。


Cloudflareは「私たちはサービスの可用性を向上させるためにMCP設計に多額の投資を行ってきましたが、この非常に痛ましい事件によって、明らかにお客様の期待に応えることができませんでした。今回の障害により、当社のお客様をはじめ、インターネットにアクセスできなかったすべてのユーザーの皆さまに多大なご迷惑をおかけしましたことを深くおわび申しあげます。私たちはすでに修正に着手しており、今後このようなことが二度と起こらないよう努力し続けます」とコメントし、作業手順を見直した上でMCPの実装を慎重に行うと述べました。

この記事のタイトルとURLをコピーする

・関連記事
年初早々発生したSlackの大規模障害は「仕事始め」が原因だった - GIGAZINE

Amazon・Microsoft・PSNなどを巻き込む大規模なネットワーク障害が発生、原因はBGPの設定ミスか - GIGAZINE

丸3日インターネット接続できなくなるレベルの大規模ネットワーク障害が発生、そこから見える問題点とは? - GIGAZINE

インターネットの世界初広域障害発生事件の経緯とは? - GIGAZINE

「さくらのクラウド」障害多発で無償化、課金できる品質に達していないため - GIGAZINE

PSNがDDOS攻撃を受けて障害発生、犯人を名乗る人物の次の標的はXbox Liveへ - GIGAZINE

in ネットサービス, Posted by log1i_yk

You can read the machine translated English article here.