Facebook、約6時間にわたる障害の原因と対策を詳解
Facebookは10月4日の約6時間にわたる全社サービスの停止の原因と復旧について説明した。コマンド発行ミスに監査ツールのバグが重なった。システム停止でデータセンターに物理的に入るのにも時間がかかったという。
米Facebookは10月5日(現地時間)、前日の日中に発生したInstagramやOculusも含むすべてのサービスに影響した障害について、その原因と復旧方法について説明した。
今回の停止は、前日簡単に説明したように、グローバルバックボーンネットワーク容量を管理するシステムによって引き起こされたものだが、約6時間にもわたり、非常に重要なことであるため、もう少し詳しく説明する価値があると考えたとしている。
グローバルバックボーンは、Facebook全社のコンピューティング施設を接続するネットワークで、世界中を数万マイルの光ファイバーケーブルで接続している。このインフラの保守のため、エンジニアは通常、バックボーンにオフラインで接続し、ファイバーの修理、容量追加、ルータのソフトウェア更新などを行う。
昨日の停止は、こうした定期的なメンテナンスの一環として、容量を評価するコマンドを発行したところ、ネットワーク内のすべての接続が意図せず切断されてしまった。こうしたミスを防ぐための監査ツールはあるが、そのツールにバグがあり、コマンドを停止できなかったという。
この誤ったコマンドにより、データセンターとネットのサーバ接続が完全に切断され、連鎖的にBGP(Border Gateway Protocol)の問題を引き起こした。DNSサーバ自体がデータセンターと通信できなくなったため、DNSサーバがBGPアドバタイズメントを無効にした。その結果、DNSサーバは動作していても到達不能になった。
原因は分かっていても、ネットワークのダウンとDNSへの到達不能により、通常の方法ではデータセンターにも、調査するための内部ツールにもアクセスできなくなった。
問題解決のためにエンジニアが物理的にデータセンターに向かったが、全社システムの停止でデータセンターに入るための認証も効かず、中に入るのにも時間がかかった。中に入れても、ルータは物理的にアクセスできても変更が難しいように意図的に設計されているため、安全なアクセスプロトコルをアクティブ化するのにも時間がかかった。
バックボーンをオンラインに戻すことはできたが、サービスを一気に復旧させると、トラフィック急増で新たなクラッシュが発生する可能性があることが分かっていたため、段階的に復旧させていったため、それにも時間がかかった。
この最後の作業は、主要なシステム障害に備えて訓練してきた「ストームエクササイズ」に基づくものだった。この訓練は、サービス、データセンター、またはリージョン全体をオフラインにし、関連するインフラとソフトのストレステストを行うことでシステム障害をシミュレートするというもの。この訓練の経験により、今回の停止も比較的迅速に復旧できたとしている。
復旧と並行して、原因が「悪意のあるアクティビティ」かどうかも調査したが、そうではなく、人為的なエラーが原因だったとしている。
「これからのわれわれの仕事は、テスト、訓練、全体的な復元力の強化に努め、今回のような事故ができるかぎり発生しないようにすることだ」。
関連記事
- Facebook、約6時間にわたる障害について謝罪「原因はコンフィグ変更時のミス」
Facebookが約6時間にわたってFacebook、Instagram、Facebook Messenger、WhatsApp、Oculusが使えなくなったことについて謝罪し、原因はバックボーンルータのコンフィグ変更ミスだと説明。「コンフィグ変更の誤りであると考えていることを明確にしておきたい」。 - FacebookのInstagramを含むすべてのサービスに障害 社内でのBGP更新が原因と専門家【復旧済み】
Facebookの一連のサービスが日本時間の10月5日午前0時40分ごろからグローバルでダウンしている。Facebook、Instagram、Facebook Messenger、WhatsApp、Oculusにログインできない状態だ。専門家はFacebook社内でBGP(Border Gateway Protocol)レコードが更新されたことが原因と指摘する。 - InstagramなどFacebookのサービスが約1時間ダウン 「技術的な問題で」
Instagramをはじめとする一連のFacebookサービスが日本時間の3月20日午前1時40分ごろからダウンし、約2時間後にほぼ復旧した。 - FacebookとInstagramの大規模障害、原因はサーバの設定変更
FacebookやInstagramが使えなくなっていた問題が、約1日続いた後ようやく解消された。Facebookによると、原因はサーバの設定変更だった。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.