FacebookやInstagram、WhatsAppで発生した世界的障害の原因は?

最終的にはサーバー設定変更が原因だったと判明

Facebookは、2019年3月13日から、過去最長となる大規模障害に直面しました。14時間におよんだ障害の原因は、サーバーの設定変更が原因だったと判明しましたが、外部からのセキュリティ攻撃を受けたのでは?という憶測が飛び交ったり、各社が障害について見解を述べるなど、混乱が生じました。

今回のトラブルは、米国時間3月13日午前9時ごろに始まり、14日にかけていくつかのサービスにアクセスできなくなる状態が発生しました。当初、その原因が明らかになっていない時点では、おそらく「アプリケーションソフトウェア」に何らかの原因があるのではと予想されていました。また、NBCのジャーナリストであるRaj Mathai氏は、自身のTwitterで「データベースの過負担説」を主張しましたが、主張そのものに確証はありませんでした。インターネットのルーティングデータ漏洩(昨年おきたGoogle Cloudのアウトエイジの原因と類似のもの)を指摘する報道もありましたが、その可能性もすぐに除外されていました。

Facebook outage reports (GMT)– DownDetector

DownDetectorの報告によれば、今回の障害は世界的なもので、Facebook、Instagram、WhatsAppの3サービスいずれも障害がピークに達したのは午前9時から午後3時の6時間だったようです。

Facebookは2年前、WhatsAppの買収に伴い、IBMのクラウドから自社データセンターへデータを移していることを公表していました。今回、FacebookだけではなくWhatsAppでも障害が発生したという事実によって、皮肉にもデータ移行プロジェクトは成功裏に終わったということが分かりました。

FacebookはTwitter上で「現在でもFacebookグループのアプリにアクセスできないトラブルが生じていることを認識しています。可能な限り早期の解決に向けて取り組んでいます」とコメントし、「今回の障害がDDoS攻撃とは関連性がない」と言明しいていました。

障害を完全に無くすことは難しい

Facebookはこれまでも障害に直面したことはありましたが、今回ほどの規模のものはありませんでした。2015年には、一週間に2回のダウンを経験していますが、それぞれの停止時間は1時間未満で、当時のFacebookの月間ユーザー数は、今日の23億人と比較すると15億人に過ぎませんでした。

さらに遡ると、2014年にはソフトウェアのアップデートの失敗に伴い30分のサービス停止、2010年にはデータベースの障害によってサービス閲覧が不可能となりました。2008年にも、実は今回より長い障害が発生しましたが、当時の利用者は1億5000万ユーザーにしかすぎませんでした。

障害が発生した13日夜、複数の情報提供元が、「ネットワーク専門企業であるNetscountによって BG 回路データ漏洩の証拠が発見された」と報じましたが、Netscountがこれは誤報であると述べました。同社の主任エンジニアのRoland Dobbins氏が話したところによりますと、FacebookやInstagramにおけるアウトエイジの原因が BGP の漏洩だという根拠はないと重ねて主張し、「広報担当者から報道関係者に送られた電子メールについては内部のコミュニケーションミスだ」と釈明しました。

毎日2億5000万ドルの広告収益を得るFacebook

今回の障害によって、Facebookの広告購入システムにも影響が生じ、複数のブランドマーケターが障害に言及したツイートをしました。Facebookによれば “広告主への払い戻しの可能性も含めて”全体的な影響を調査しているようです。

2019年の売上予測では、同社の1日の広告収益は2億5000万ドルと推定され、一度ダウンタイムが生じれば、広告収益でも多額の影響を被ることになります。

ネットワーク監視を行うThousandEyesは「今回の原因は、ネットワークやインターネット配信の問題ではなく、内部的な問題のように思えます。後日Facebookから’500の内部サーバーでエラーが生じた’といった類の報告を受けることになるのではないでしょうか」とコメントを残していました。その巨大な企業規模と、アプリケーションならびインフラストラクチャを継続的に変更することを考慮すれば、どんなに優れていようとも、ときにはこれらの変化の結果として物事が不調に陥ることもあります。

「本日、Facebookの問題について調査したところ、接続性やパケット損失ないしはレイテンシに影響を与えるような BGP の変化は見られませんでした。同社は自社のバックボーンネットワーク[を利用しているので、外部の輸送ルートの問題がどのようにして、Facebook内部のネットワークに障害をもたらすのかといった点について、洞察を得ることができず、不明瞭です。」

アウトエイジの発生可能性を最小限にするためにFacebookは”Project Storm”というチームを設けています。同チームは、様々なテストや訓練を行い、データセンターにストレステストを行い、時にはデータセンター全体の電源を落とすようなこともします。

Data Center Dynamics

原文はこちら