Facebook・Instagram・Oculus・WhatsAppが世界的にダウン、その原因とは?
2021年10月5日0時40分頃(日本時間)にFacebookのシステムに障害が発生し、すべてのシステムがダウンしました。これにより、Facebookのみならず、Facebookが所有するInstagram、WhatsApp、Messenger、Oculusなどにもシステム障害が発生し、同日7時頃までアクセスできない状態となっていました。インターネットインフラ企業のCloudflareが、Facebookが世界的にダウンしてしまった原因について解説しています。
Understanding How Facebook Disappeared from the Internet
https://blog.cloudflare.com/october-2021-facebook-outage/
Facebook is scrambling to fix massive outage - The Verge
https://www.theverge.com/2021/10/4/22709575/facebook-outage-instagram-whatsapp
BGP Explained: the protocol that may be behind Facebook’s disappearance - The Verge
https://www.theverge.com/2021/10/4/22709260/what-is-bgp-border-gateway-protocol-explainer-internet-facebook-outage
システム障害の影響で、Facebookとその関連サービスであるWhatsAppやInstagramなどにアクセスできなくなりました。DNSでこれらのサービスの名前解決が失敗するようになり、サービスを支えるインフラのIPアドレスの一部も到達できなくなっていました。Cloudflareは「あたかも誰かがデータセンターのケーブルを一斉に引き抜いて、インターネットから切り離したかのようでした」と述べています。
CloudflareはFacebookのシステム障害を受けて、CloudflareのDNSリゾルバである1.1.1.1に問題がある可能性を考え、10月5日1時51分(日本時間)に「Facebook DNS lookup returning SERVFAIL」と題した内部インシデントを立ち上げました。
調査の結果、問題の原因となったのはBGP(Border Gateway Protocol)だったことがわかりました。BGPはインターネット上のAS(自律システム)、すなわちネットワーク間で経路情報を交換するための仕組みで、簡単にいえば「目的地を入力すると経路を示してくれるカーナビのような役割」をインターネット上で果たしています。
個々のASはそれぞれAS番号を持っています。すべてのAS番号は、BGPを使ってインターネットに接続ルートをアナウンスする必要があります。そうしなければ、そのASは誰にも発見されず、接続されることもありません。なお、Facebook・Instagram・WhatsAppのAS番号はAS32934で、以下のページから参照できます。Facebookは自社でAS番号を取得し、インターネットサービスプロバイダを通さずに直接インターネットに接続しています。
PeeringDB
https://www.peeringdb.com/net/979
そこで、Cloudflareはグローバルネットワークで確認したすべてのBGPアップデートとアナウンスを追跡。すると、ちょうどシステム障害が確認されるようになった5日0時40分頃に、Facebookからルーティング変更のピークが見られました。
このピーク部分をもっと細かく見たグラフが以下。Facebookからルートのアナウンスと撤回が繰り返され、1時50分にDNSサーバーがオフラインになり、その直後にCloudflareのエンジニアが、1.1.1.1がfacebook.comを解決できないことに気づいてシステム障害を疑ったというわけです。結果的に、Facebookと関連サービスは事実上、インターネットから切り離されてしまったというわけです。
そして、CloudflareはFacebookがDNSプリフィックスへのルートのアナウンスを停止していることに気づいたとのこと。つまり、この時点で少なくともFacebookのDNSサーバーは利用できなかったというわけです。そのため、CloudflareのDNSリゾルバである1.1.1.1はfacebook.comあるいはinstagram.comのIPアドレスを要求するクエリに応答できなくなっていました。
So, @facebook's DNS is broken this morning...
— Jim Salter (@jrssnet) October 4, 2021
TL;DR: Google anycast DNS returns SERVFAIL for Facebook queries; querying https://t.co/0BDgaIHmlr directly times out. pic.twitter.com/3GHJ3mW0P0
Cloudflareによれば、Facebookや関連サービスは非常に規模が大きいため、エラーが起こるといつもの何十倍ものリクエスト数を引き起こし、遅延やタイムアウトの原因になってしまうとのこと。実際に1.1.1.1で見られたFacebook・WhatsApp・Messenger・Instagramのリクエスト数が以下のグラフで、15時40分頃からいつもの30倍近くにまで急増しています。Facebook関連のDNSリクエスト増加を防ぐため、世界中のDNSリゾルバがfacebook関連ドメインの解決を停止しました。
さらにFacebookがダウンした余波で、TwitterやSignal,Telegram,TikTokなど他のソーシャルメディアプラットフォームへのDNSクエリも増加。
5日4時52分には、Facebookの最高技術責任者(CTO)であるマイク・シュロープファー氏が「Facebookを利用したサービスの停止により影響を受けたすべての人に"誠に"お詫び申し上げます。ネットワークの問題が発生しており、チームは可能な限り迅速にデバッグと復旧に取り組んでいます」とツイートしました。また、IT系ニュースサイトのThe Vergeによれば、シュロープファー氏は従業員へのメールで「今回のシステム障害にはすべてのデータセンターを相互に接続するネットワークバックボーンが影響している」と記していたそうです。
*Sincere* apologies to everyone impacted by outages of Facebook powered services right now. We are experiencing networking issues and teams are working as fast as possible to debug and restore as fast as possible
— Mike Schroepfer (@schrep) October 4, 2021
そして、5日6時頃にFacebookネットワークからのBGPアクティビティが更新され、6時20分頃に1.1.1.1で「facebook.com」の名前が解決できることが確認されたとのこと。すべてのサービスがオンラインに戻るまでにはもう少し時間がかかるとのことですが、6時28分の時点でFacebook自体の復旧は確認されたそうです。
今回のシステム障害について、Facebookのマーク・ザッカーバーグCEOは「Facebook、Instagram、WhatsApp、Messengerは現在オンラインに戻っています。本日は大変ご迷惑をおかけしました。お客様が大切な人たちとのつながりを保つために、私たちのサービスをどれほどご利用いただいているかは存じております」とコメントしました。
Facebookのシステム復旧に時間がかかってしまったことについて、セキュリティ研究家のブライアン・クレブス氏は「アップデートによってリモートユーザーが修正できなくなり、物理的なアクセス権限を持つ人はネットワーク/論理的なアクセス権限を持っていなかったため、復旧が遅れた」と解説しています。ただし、今回の障害の原因となったBGPアップデートの失敗がなぜ起こったのかについて詳細は明らかになっていません。
From trusted source: Person on FB recovery effort said the outage was from a routine BGP update gone wrong. But the update blocked remote users from reverting changes, and people with physical access didn't have network/logical access. So blocked at both ends from reversing it.
— briankrebs (@briankrebs) October 4, 2021
なお、Facebookのシステムがダウンしてしまったことで、社内のシステムもダウンしてしまい、建物に入るためのセキュリティシステムが機能せず、従業員が締め出されてしまったという報告もあります。
Was just on phone with someone who works for FB who described employees unable to enter buildings this morning to begin to evaluate extent of outage because their badges weren’t working to access doors.
— Sheera Frenkel (@sheeraf) October 4, 2021
・追記
Facebookエンジニアチームは、データセンター間のネットワークトラフィックを調整するバックボーンルーターの構成変更が原因となって障害が発生したという声明を発表しました。
Update about the October 4th outage - Facebook Engineering
https://engineering.fb.com/2021/10/04/networking-traffic/outage/
・つづき
なぜFacebookが6時間もダウンしたのかをFacebook幹部が専門家でなくても分かるように説明 - GIGAZINE
・関連記事
PlayStation Networkのサーバー障害によりPlayStation StoreやPlayStation Nowなど各種サービスが利用できない状態に - GIGAZINE
Microsoftのシステム障害で「Skype」や「Xbox Live」などのサービスが約4時間にわたり停止 - GIGAZINE
インターネット上のあらゆるサービスを稼働させ続ける運用保守エンジニアをねぎらうハッシュタグ「#hugops」とは? - GIGAZINE
Gmailで多数のユーザーに著しい遅延が発生する不具合 - GIGAZINE
GPSより高精度な衛星測位システム「ガリレオ」が1週間以上システムダウンした原因とは? - GIGAZINE
・関連コンテンツ