GitHub、全サービスがデータベースの設定変更ミスでアクセス不能に。設定を元に戻して30分後に復旧
今回は「GitHub、全サービスがデータベースの設定変更ミスでアクセス不能に。設定を元に戻して30分後に復旧」についてご紹介します。
関連ワード (体制強化、調査中、障害発生等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
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は今回の障害を受けて、データベースの変更管理プロセスに追加の安全措置(ガードレール)を導入するとし、またロールバックの高速化、依存関係による障害への体制強化などにも優先順位を付けて取り組むとしています。