Cloudflareが昨日(2022年6月21日)の障害原因はBGPの設定ミスと報告。東京データセンターを含む19の主要データセンターが一時オフラインに

2022年6月22日

CDNプロバイダーのCloudflareは、日本時間の昨日(2022年6月21日)午後に発生したネットワーク障害についての報告を公開しました

障害は日本時間の午後3時半頃に顕在化し、国内ではDiscordやPixiv、Nortionなどさまざまなサービスにおいて影響が報告されましたが、午後5時から6時頃にはおおむね復旧が見られたようです。

Cloudflareの報告によると障害はBGPの設定ミスが原因で、これにより東京データセンターを含む同社の主要な19のデータセンターで障害が発生したとのことです。

報告書から概要を紹介しましょう。

BGPの設定ミスが19データセンターを切り離し

同社は過去1年半をかけて、東京データセンターを含むトラフィックの多い19のデータセンターに対して同社内でMulti-Colo PoP(MCP)と呼ばれる、接続のメッシュを作成するルーティングの追加レイヤーを用いてより復元力のある新しいアーキテクチャを展開してきました。

このメッシュを使用するとデータセンターの内部ネットワークの一部を簡単に無効化あるいは有効化でき、それによりメンテナンスやトラブルへの対処を行うことができるようになったとのことでした。

しかし今回の障害は、この新しいアーキテクチャのネットワークに対して、データセンター間のルーティングを設定するBGP設定にミスがあったことが原因だと報告されています。その部分を報告書から引用しましょう。

While deploying a change to our prefix advertisement policies, a re-ordering of terms caused us to withdraw a critical subset of prefixes.

BGPのプレフィックスについて広報(アドバタイズメント)ポリシーの変更をデプロイしたときに、ターム(terms)の順序を変更したことによりクリティカルなプレフィックスのサブセットが削除(withdraw)された。

このプレフィクスの削除が、新たなアーキテクチャに対して致命的な障害を発生することになったとしています。

ただし最初にこのBGP設定が行われた日本時間12時56分の時点では、古いアーキテクチャ上にある場所へのデプロイだったため、すぐに障害が起きたわけではありませんでした。

以下、時系列で説明します。

午後3時27分、設定がMCP対応の場所に到達し、MCPに対して設定が反映されると、プレフィックスが削除された影響で19カ所のデータセンターがオフラインになり、障害が発生。

午後3時32分、障害を検知し、Cloudflare社内部でインシデントが宣言される。

午後3時51分、原因を確認するため、ルータ設定の変更を試行。

午後3時58分、原因を確認。設定を元に戻す作業を開始。

午後4時42分、設定を元に戻す作業が完了。作業に時間がかかってしまった要因として、あるネットワークエンジニアが元に戻した設定を、別のエンジニアが気づかずさらに元に戻す作業をして障害状態に復帰してしまう、といったことが散発したため。

午後6時、インシデント終了。

この作業は、障害によって通常のネットワークでは影響を受けたデータセンターに到達できなくなったため、障害対応のために用意されたバックアップ手段によって行われたとのことです。

どのような設定ミスが、どのように障害を引き起こしたか、詳細については原文に詳しく報告されているので、興味のある方はぜひ原文の報告書をご参照ください

テストやロールバックの自動化改善などに取り組むと

本来は障害に強いはずのMCPで障害が起きたという今回の障害を受けて、同社はMCPにおける固有のテストとデプロイの手順を見直すこと、アーキテクチャの見直し、ロールバックの自動化の改善などに取り組むとして、次のように報告書を結んでいます。

We are deeply sorry for the disruption to our customers and to all the users who were unable to access Internet properties during the outage. We have already started working on the changes outlined above and will continue our diligence to ensure this cannot happen again.

お客様、および停止中にインターネットの資源にアクセスできなかったすべてのユーザーにご迷惑をおかけしましたことを深くお詫び申し上げます。私たちはすでに上記の変更に取り組み始めており、これが二度と起こらないように努力を続けます。

過去のCloudflareの障害

あわせて読みたい

クラウド クラウド障害 Cloudflare




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本