🌐
2022年6月21日に発生したCloudflareの大規模障害の原因
概要
- 今回は、2022年6月21日に発生したCloudflareの大規模障害についての原因がまとめられた記事が公開されたため、その内容について翻訳およびサマライズしていきます。
何が起こったのか
- 2022年6月21日にCloudflareの19のデータセンターのトラフィックに影響を与える障害が発生したようです。
- また、この19のデータセンターはどうやら世界中のトラフィックのかなりの割合を扱う拠点だったようです。
- ではなぜ、大規模な障害が発生したのかというと、原因はどうやらこれらの重要な拠点の耐障害性を向上させるための変更(ネットワーク設定の変更)を行なったことが起因しているようです。
- なので、今回の障害では悪意のある攻撃等ではなかったことになります。
障害が発生した時刻と復旧した時刻
- 障害が発生した時刻は、2022年06月22日 15:58ごろに発生し、2022年06月22日 16:42ごろにはすべてのデータセンターが正常に動作するようになったようです。
- わずか44分ほどでの復旧さすがです。。
ちなみにTwitterで確認できた影響を受けたサービス一覧
-
Twitterで調べたところ、どうやら下記のサービスが影響を受けていたようですね。
- discord
- pixiv
- 5ちゃん
- VRC
- DeepL
- 原神
- ブルーアーカイブ
- 雀魂
- VALORANT
- BOOTH
- ホロライブ公式ショップ
- ToonBlast
- アークナイツ
- LOL
- Uxアップローダー
- フラッシュパーティ
- Fortnite
- Anker Japan
世界規模での影響度はどれくらい?
- 下記の図は、時間ごとにおけるグローバルにおいて処理し成功したHTTPリクエストを表しています。
- 影響を受けた時間帯で成功したリクエスト数がガクっと落ちていますが、これらの場所ではリクエスト全体の50%に影響を与えていたとブログでは記載されています。
19のデータセンターの拠点はどこ?
-
ブログによると下記の都市にあるようです。
- アムステルダム
- アトランタ
- アッシュバーン
- シカゴ
- フランクフルト
- ロンドン
- ロサンゼルス
- マドリード
- マンチェスター
- マイアミ
- ミラノ
- ムンバイ
- ニューアーク
- 大阪
- サンパウロ
- サンノゼ
- シンガポール
- シドニー
- 東京
Cloudflareにおけるネットワークアーキテクチャ
- CloudflareではClosネットワークと呼ばれるメッシュ構造のアーキテクチャが採用されているようです。
- このメッシュ構造のアーキテクチャを利用すると、データセンターの内部ネットワークの一部を簡単に無効化および有効化して、メンテナンスや問題への対処を行うことができるようになるそうです。
- 実は今回はこのアーキテクチャにおいて欠点があり、クライアントのトラフィックを中断することなく、一部をメンテナンスしたりすることができるものの、この一部というのがかなりのトラフィックの流していた為、大きな影響を与えてしまったようです。
根本の原因は何?
- もう少し深ぼっていくとCloudflareのネットワークではBGPなるプロトコルを使用しています。
- このBGPというプロトコルについては、深そうなので別記事にしたいと思います。
- 障害発生時、ルータの設定を変更するのですが、変更前に複数のエンジニアによるレビューも行われた状態だったようです。
- 変更内容としてはルーティングポリシーの更新だったようですが、「明示的な拒否」というルールが本来ルーティングされなければいけないルールより優先されるようになってしまったことが直接の原因のようです。
その後の対応
- 設定の誤りに気づいたため、問題のある変更を元に戻す作業を行い復旧となったようです。
まとめ
- 詳細については、引用元のCloudflareの記事を読むことをお勧めしますが、この障害で様々なサービスの裏側ではCloudflareが使用されていることが分かりましたね。
- その影響のデカさからAWSの障害も疑われるくらいでしたw
- また、原因発覚から対応までの速さはめちゃめちゃ早かったと感じます。
- ただ、原因にも書きましたが複数のエンジニアによるレビューを通ったのに今回障害が発生してしまったとあるので、この障害を反面教師にGitのPRレビューはちゃんと隅々まで確認したいものです(汗)
引用
Discussion