10/4にFacebookがどのように消えたのかを理解する
(blog.cloudflare.com)-
10/4にFacebook関連サービスに接続できなかった理由を、CloudFlareが外部から分析した記事
-
DNSルックアップの段階から失敗し、Facebook関連インフラへのすべてのIP接続が切れていた
-
Facebookの公式発表は以下の通り
→ 「データセンター間のネットワークトラフィックを調整するバックボーンルーターの設定変更時に問題が発生した。これがデータセンター間の接続に連鎖的な影響を与え、サービス停止につながった」
→ DNSサーバーは通常BGPを通じて自身をアナウンスするが、FacebookのDNSサーバーはFacebookデータセンターと接続できない場合、BGPをdisableするようになっていた
→ データセンターのバックボーンが切断されたことでBGPリクエストを拒否するようになり、DNSサーバーへアクセスできなくなった
→ このため、すべてのFacebookサーバーに接続できなくなってしまったことが問題
→ 実際にデータセンター自体へのアクセスも難しく、エンジニアが現地に出動して問題を解決したとのこと
-
まるで誰かがFacebookデータセンターのインターネット回線を抜いたかのような問題だった
-
DNSの問題そのものではなかったが、DNSエラーが大規模障害の最初の症状だった
-
BGP(Border Gateway Protocol)
→ インターネット上のAS(Autonomous Systems)がルーティング情報を交換するメカニズム
→ 大型ルーターはルーティング情報を継続的に共有し、最終的な情報に到達できるよう管理する
→ Facebookが自らの存在をネットワークに広告(advertising)しなければ、アクセスできなくなるということ
→ 個別のネットワークはASN(Number)を持ち、自分たちが管理するIPのprefixを知らせる
- 10/4 15:40 UTCからFacebookが自社DNS Prefixのアナウンスを停止
→ 上でFacebookが述べた問題のように、BGP広告を送信しないためアクセス不能になった
→ これによってルーティングが変わり、BGPアップデートが大規模に行われた
→ すべてのDNSサーバーがFacebookのURLに対してSERVFAILを返し始めた
→ DNSクエリが30倍に増え始めた
→ Twitter、Signal、Telegramなどに対するDNSクエリも増加
- 21:00 UTCにBGPが再度アップデートされ、正常に戻った
2件のコメント
Facebookで5時間の障害とは……本当に大きな出来事でしたね。
BGPは安全ですか? https://ja.news.hada.io/topic?id=1932
8月30日のCenturyLink/Level(3)インターネット障害状況の分析 https://ja.news.hada.io/topic?id=2746