2023年5月9日から11日にかけて、GitHubは立て続けにいくつかの障害に見舞われ、サービスの停止やレイテンシの増大などが発生した。これらの障害に関して、GitHubは5月16日(現地時間)、公式ブログ「Addressing GitHub’s recent availability issues」において、その原因と取り組んでいる軽減策を明らかにした。

  • Addressing GitHub’s recent availability issues|The GitHub Blog

    Addressing GitHub’s recent availability issues|The GitHub Blog

GitHubの障害は5月9日、10日、11日の各日で計3回発生した。GitHubのレポートによると、これらはそれぞれ別の要因で引き起こされたものだという。

5月9日の障害は、10個の主要サービスのうちの8個が大規模に停止し、1時間強のダウンタイムが発生したというもの。Gitデータを提供する内部サービスにおいて、接続の飽和の防止を目的として行った構成変更が原因だとされている。

5月10日には、6個のサービスにおいてGitHubアプリの認証トークンの発行においてレイテンシーが通常の7倍に達し、認証トークン リクエストの失敗率が最大で76%まで上昇した。調査の結果、GitHubアプリの権限を管理するAPIの実装が非効率的であり、特定の状況で呼び出されると非常に大量の書き込みが発生し、リクエストがタイムアウトしてしまうことが判明したという。

5月11日には、やはり10個のうちの8個のサービスが停止した。原因はGitデータを提供するデータベースクラスタがクラッシュしたためで、自動フェイルオーバーがトリガーされたものの、リードレプリカが接続されていたかったことからリクエストの負荷を処理できなかったという。発端となったクラッシュの原因や、障害によってクラスタが正常な状態にならなかった理由はまだ調査中とされている。

GitHubでは、より安全に構成変更に行うための内部プロセスの調整や、将来的に障害の影響を軽減するための分析やレビュー、この種の問題を迅速に診断して軽減するための機能向上などに取り組んでいるとのこと。

また、今回の障害に関するより詳細な情報や、原因となった問題に対処するための取り組みについては、GitHubが毎月発行している可用性レポートの2023年5月版に掲載される予定となっている。可用性レポートは次のページで確認できる。