プログラミングとソフトウェア開発

GitHub、9月の2件の停止後に信頼性向上の詳細を明らかに

GitHubは、データベースへの負荷を軽減し、負荷制御と障害封じ込めのためのツールを追加し、9月にサービスへ影響を与えた2件の障害を受けて、より多くの本番ワークロードをAzureへ移行したと発表しました。一方で、Central USリージョンへの全本番サービスのデプロイという目標は達成できず、Copilotコードレビューでも停止が発生しました。

2026-10-14
1 分で読めます
3 閲覧数
certi.news Editorial Team
GitHub、9月の2件の停止後に信頼性向上の詳細を明らかに

GitHubは、2026年9月の可用性レポートで、サービスのパフォーマンスに影響を与えた2件の障害を明らかにしました。同時に、インフラの再分散とデータベースの負荷耐性向上も進展しました。同社によると、負荷が高まった場合や共有コンポーネントの1つが故障した場合の障害リスクを低減する変更を実施したものの、対策作業はまだ完了していません。

10月7日時点で、160の本番サービスのうち120サービスがCentral USリージョンにデプロイされ、51台の主要MySQLデータベースのうち13台が移行されていました。Azureは、GitHubの主要アプリケーションの読み取りトラフィックの65.4%、Gitの読み取りトラフィックの48.3%、ストリーム処理トラフィックの80.2%を処理しました。同社は、これらの割合は異なるワークロードに関するものであり、合算すべきではないと強調しています。

インフラ移行は進展するも、予定より遅延

GitHubは、可用性ゾーン間のキャパシティの不均衡を理由に、9月11日にCentral USでのデプロイとトラフィック増加を停止しました。9月18日には一時的なキャパシティの確保後、恒常的な増加を再開しましたが、長期的なキャパシティ作業はなお継続しており、利用可能な全キャパシティを10月末までに提供することを目標としています。同社は、9月30日までにすべての本番サービスを同地域へデプロイするという意欲的な目標を達成できませんでした。

データベースの計画的な切り替え中に、自動化された緊急手順がCentral USのデータベースレプリカを切り離し、同地域の顧客に障害を引き起こしました。GitHubは、復旧メカニズムを改善するまで、計画的な引き渡しの際にこの手順を無効化しました。

データベース負荷の軽減と障害の封じ込め

GitHubは、主要な認証システムの24個のテーブルを、同社で最も古い共有データベースから切り離しました。これにより、レプリカから毎秒約100万件のクエリが削減されました。また、IssuesとPull Requestsを支えるクラスターから変更履歴に含まれていた不要なレコード約9億8,000万件を削除し、復旧可能なストレージ約1.8テラバイトを確保しました。トランザクション間の競合は、6月のピーク時と比べて週次で約77%減少しました。

サンプルの対象となったPull Requestsのトラフィックの半分は、共有依存関係が停止した場合でも、機能を限定して継続できるようになりました。また、データベーストラフィックのルーティングにより、急増時にキャパシティを自動的に追加できます。9月23日にPull Requestsの活動が増加した際、あるクラスターは14レプリカから19レプリカへ拡張されました。GitHubは、サービスが広範囲に飽和する前に優先度の低いリクエストを拒否できる負荷制御メカニズムも追加しました。

9月の2件の障害

9月13日、バックグラウンドで実行されたデータクリーンアップ作業により、共有データベースへの負荷が増加しました。保護メカニズムはレプリカの遅延を監視していましたが、利用可能な接続数の上限に達したプライマリサーバーに蓄積する負荷は監視していませんでした。クエリに短いタイムアウトが設定されていなかったため、リクエスト処理が待機し続け、さらに再試行ループが失敗した書き込み処理を送り続けました。障害は1時間28分続き、内部負荷を下げてタスクを停止した後に収束しました。

9月28日、Copilotコードレビューを実行するサービスへの変更により、一部の顧客へ、コメントを含む完全版ではなく、レビュー結果の限定版が送信されました。そのため、プルリクエストにレビューが表示されていないにもかかわらず、タスクは完了したように見えました。障害は52分続き、GitHubは変更をロールバックして対処するとともに、影響を受けたレビューを顧客に再リクエストするよう求めました。

実際には何が変わるのか

この2件の障害は、キャパシティの改善だけでは十分でないことを示しています。信頼性は、障害を早期に検知し、効果のない再試行を停止し、出力が実際に引き渡される前にタスクの成功を宣言しないことにも左右されます。GitHubは、バックグラウンド処理の制御を追加し、サービス起動時の挙動を改善し、Copilot code reviewの結果の監視と配信を強化する取り組みを進めています。

GitHub Actionsのインフラにも改善が見られました。測定されたRedis操作は約28%、相対的なCPU使用率は約30%減少しました。独立したキャッシュ層により、Redisが使用する帯域幅は84%、平均応答時間は66%、主要な在庫リクエストの中央値の応答時間は96%、待機中のリクエストは95%削減されました。今後も残る未解決の問題は、実際の本番環境下でキャパシティ作業を完了し、共有依存関係の障害が再発するのを防げるかどうかに関係しています。

ニュースの出典
GitHub Blog
原文を開く ↗
c
著者

certi.news Editorial Team

知っておくべきこと

GitHubは、2026年9月に発生した2件のインシデントを受け、信頼性を向上させるための改善を発表しました。改善には、データベースの負荷軽減、負荷制御、障害の封じ込め、Azureへのさらなるワークロード移行が含まれます。ただし、Central USリージョンへの本番サービスの全面展開はまだ完了しておらず、共有依存関係やCopilotのコードレビューに関する障害の再発防止にも引き続き取り組んでいます。

  • GitHubのサービスは9月13日と28日に発生した2件のインシデントの影響を受けました。1件目は共有データベースの負荷増大、2件目はCopilotのコードレビュー結果が限定的に表示されたことが原因でした。
  • GitHubは認証システムの24個のテーブルを最も古い共有データベースから移行し、毎秒約100万件のクエリを削減しました。これにより、週次のトランザクション競合は6月のピーク時と比べて約77%減少しました。
  • 同社はデータベーストラフィックの自動ルーティングと、サービスが飽和する前に優先度の低いリクエストを拒否する負荷制御メカニズムを追加しました。
  • 再配分計画によると、10月7日時点で、160の本番サービスのうち120サービスと、51の主要なMySQLデータベースのうち13個がCentral USに展開または移行されていました。
  • AzureはGitHubのワークロードについて、読み取りトラフィックと処理トラフィックをそれぞれ異なる割合で処理しました。これらの割合は別々のワークロードに関するものなので、合算すべきではありません。
  • GitHub Actionsのアーキテクチャも改善され、測定対象のRedis操作は約28%、相対的なCPU使用率は約30%減少しました。

よくある質問

9月の1件目のインシデントの原因は何でしたか?

9月13日に実行されたバックグラウンドのデータクリーンアップ処理により、共有データベースへの負荷が増大しました。当時の保護メカニズムは、プライマリサーバーに蓄積する負荷を監視していませんでした。

Copilotのコードレビューに関するインシデントでは何が起きましたか?

9月28日のサービス変更により、一部の顧客にレビュー結果の限定版が送信され、完全なコメントが含まれませんでした。そのため、プルリクエストにレビューが表示されていないにもかかわらず、タスクが完了したように見えました。

GitHubはすべての本番サービスをCentral USに展開し終えましたか?

いいえ。10月7日時点で、160の本番サービスのうち120サービスがCentral USに展開されていました。GitHubは9月30日までに全サービスを展開する目標を達成できませんでした。

信頼性を向上させるためにGitHubはどのような対策を講じましたか?

データベースの負荷を軽減し、計画的なデリバリー中にレプリカを切り離す自動処理を無効化し、負荷制御を追加しました。また、バックグラウンド処理とCopilotのレビュー結果の監視および配信も改善しました。

このストーリーを探る

関連トピックとエンティティ

同じカテゴリー

おすすめ記事

すべてのニュースを見る