GitHub、全サービスがデータベースの設定変更ミスでアクセス不能に。設定を元に戻して30分後に復旧
GitHubは日本時間8月15日午前8時2分(世界協定時8月14日23時2分)から8時38分までの約30分のあいだ、全てのサービスがアクセス不能となる障害が発生していたことを報告しました。
障害の原因はデータベースの設定変更ミスでした。設定変更に間違いがありGitHub内の重要なサービスがデータベースに接続できなくなったことで障害が発生。設定を元に戻すことで復旧されました。
GitHub.comの全データベースに誤った設定変更
報告の内容を時系列で見ていきましょう。
障害発生の3分前。日本時間8月15日午7時59分に、GitHub.comの全データベースに対して誤った設定変更が行われ、ルーティングサービスから送出されるヘルスチェック用のPingに応答する機能に影響がでました。
その結果、ルーティングサービスはアプリケーショントラフィックのルーティング先とすべき稼働中のデータベースが検出できなくなります。
これにより8時2分からGitHub.comの広範なサービスが影響を受け、利用できなくなりました。
設定をロールバックして復旧へ
サービス停止から14分後の8時16分に、障害を受けて調査中との報告を「https://www.githubstatus.com/」にて公開。
続いて8時29分には、データベースに問題があるとして設定をロールバックしているところだと報告。
データベースの設定を元に戻すことで原因を解決。8時38分にトラフィックが再開し、サービスが復旧されます。
8時45分には完全に復旧したことと継続してモニタリング中であることを報告しています。
データベースの変更管理に安全措置を追加
GitHubは今回の障害を受けて、データベースの変更管理プロセスに追加の安全措置(ガードレール)を導入するとし、またロールバックの高速化、依存関係による障害への体制強化などにも優先順位を付けて取り組むとしています。
あわせて読みたい
クラウドインフラ市場で上位3社(AWS、Azure、Google Cloud)以外の合計シェアは40%以下。Canalysが2024年第2四半期の調査結果を発表
≪前の記事
WebAssemblyとしてPostgreSQLをビルドした「PGlite」公開。Node.jsやブラウザ上でPostgreSQLを実行、DBの永続化も可能