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の障害

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ クラウド / クラウド障害 / Cloudflare



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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


最新記事10本