ITmedia NEWS > 企業・業界動向 >

Facebook、約6時間にわたる障害の原因と対策を詳解

» 2021年10月06日 14時47分 公開
[ITmedia]

 米Facebookは10月5日(現地時間)、前日の日中に発生したInstagramやOculusも含むすべてのサービスに影響した障害について、その原因と復旧方法について説明した。

 fbdown

 今回の停止は、前日簡単に説明したように、グローバルバックボーンネットワーク容量を管理するシステムによって引き起こされたものだが、約6時間にもわたり、非常に重要なことであるため、もう少し詳しく説明する価値があると考えたとしている。

 グローバルバックボーンは、Facebook全社のコンピューティング施設を接続するネットワークで、世界中を数万マイルの光ファイバーケーブルで接続している。このインフラの保守のため、エンジニアは通常、バックボーンにオフラインで接続し、ファイバーの修理、容量追加、ルータのソフトウェア更新などを行う。

 昨日の停止は、こうした定期的なメンテナンスの一環として、容量を評価するコマンドを発行したところ、ネットワーク内のすべての接続が意図せず切断されてしまった。こうしたミスを防ぐための監査ツールはあるが、そのツールにバグがあり、コマンドを停止できなかったという。

 この誤ったコマンドにより、データセンターとネットのサーバ接続が完全に切断され、連鎖的にBGP(Border Gateway Protocol)の問題を引き起こした。DNSサーバ自体がデータセンターと通信できなくなったため、DNSサーバがBGPアドバタイズメントを無効にした。その結果、DNSサーバは動作していても到達不能になった。

 原因は分かっていても、ネットワークのダウンとDNSへの到達不能により、通常の方法ではデータセンターにも、調査するための内部ツールにもアクセスできなくなった。

 問題解決のためにエンジニアが物理的にデータセンターに向かったが、全社システムの停止でデータセンターに入るための認証も効かず、中に入るのにも時間がかかった。中に入れても、ルータは物理的にアクセスできても変更が難しいように意図的に設計されているため、安全なアクセスプロトコルをアクティブ化するのにも時間がかかった。

 バックボーンをオンラインに戻すことはできたが、サービスを一気に復旧させると、トラフィック急増で新たなクラッシュが発生する可能性があることが分かっていたため、段階的に復旧させていったため、それにも時間がかかった。

 この最後の作業は、主要なシステム障害に備えて訓練してきた「ストームエクササイズ」に基づくものだった。この訓練は、サービス、データセンター、またはリージョン全体をオフラインにし、関連するインフラとソフトのストレステストを行うことでシステム障害をシミュレートするというもの。この訓練の経験により、今回の停止も比較的迅速に復旧できたとしている。

 復旧と並行して、原因が「悪意のあるアクティビティ」かどうかも調査したが、そうではなく、人為的なエラーが原因だったとしている。

 「これからのわれわれの仕事は、テスト、訓練、全体的な復元力の強化に努め、今回のような事故ができるかぎり発生しないようにすることだ」。

Copyright © ITmedia, Inc. All Rights Reserved.