GitHub 2026 年 6 月の可用性レポート
GitHub は Azure 環境における Git サービスの拡張を慎重に調整し、モノリシックアーキテクチャからのサービス分離(マイクロサービス化)と高可用性インフラへの移行において構造的な進展を報告した。
キーポイント
Azure 環境での Git トラフィック拡大の慎重な調整
5 月の不安定事象を受け、6 月にはトラフィック増加を一時的に停止し、新たな安定性ゲートを実装して再開始した。結果として目標(50%)は達成されず、現在は約 43% でプラトー状態にあるが、ユーザー遅延を避けるための合理的な判断である。
モノリシックアーキテクチャからのサービス分離の進展
新しい抽出されたプルリクエストサービス(pullsd)が匿名読み取りの 100% を処理し、レポジトリサービス(reposd)も Azure で REST トラフィックを処理するようになった。また、ユーザーサービスはピーク時に秒間 50 万クエリのオフローディングに成功している。
インフラストラクチャの堅牢化とセキュリティ強化
API レート制限の 97% がゲートウェイで処理され、モノリシックなワーカーとの競合が解消された。さらに、クライアント側での負荷シェーディングの実証や、本番環境アクセスにおける二重確認プロセスの導入により、システムの安定性とセキュリティが向上した。
Copilot Code Review の依存関係不具合
6 月 4 日のインシデントでは、新リリースの依存関係とランタイム環境の不整合により、レビューリクエストの約 81.6% が失敗しました。
未認証ユーザーへの HTTP 504 エラー
6 月 8 日のインシデントでは、プルリクエストやイシューなどのページにアクセスした未認証ユーザーの約 17% がゲートウェイタイムアウトエラーを経験しました。
再発防止のための具体的な対策
依存関係のバージョン固定、互換性チェックの追加、および監視機能の強化など、システム改善が実施されました。
匿名トラフィックによるサービス低下と対策
不正な自動化された匿名トラフィックの急増により、非認証リクエストの処理能力が低下しゲートウェイタイムアウトが発生しました。負荷分散層およびアプリケーション層での標的ブロック適用により、08:36 UTC に復旧しました。
影響分析・編集コメントを表示
影響分析
この記事は、大規模プラットフォームが単なる機能追加から、アーキテクチャの根本的な刷新(モノリシックからマイクロサービスへ)へと移行する際の現実的な課題と解決策を浮き彫りにしています。特に、ユーザー体験への影響(遅延回避)とシステム安定性のバランスを取るための「意図的なスローダウン」が、大規模インフラ運用における重要な教訓として示されています。
編集コメント
大規模システムにおける「急ぐこと」と「安全であること」のトレードオフを、具体的な数値と工程とともに示した貴重な事例です。開発者コミュニティに対して、裏側のインフラ移行がどのようにユーザー体験に直結しているかを理解させる内容となっています。
先月、GitHub の可用性に関する取り組みと、その背後にあるインフラ投資についての更新情報を盛り込んだ新しいセクションを毎月のレポートに追加しました。寄せられた反応や質問から明確になったのは、顧客はこれをもっと知りたいと考えているということです。—even 内容が混在している場合でも—、むしろ減らすべきではないという点です。
6 月の要約:私たちは確かな構造的進展を遂げましたが、ラップアップが思わぬ方向へ進んだ際には意図的に一時停止し、目標の達成には届きませんでした。現在は、その目標を見直してベースラインを再設定しています。
今月、Azure におけるモノリストラフィックは米国中部で最大 45% に達しました。この数値は私たちが期待していたほど高くありませんでした。なぜなら、5 月 21 日の安定性インシデントにより環境がさらに多くのトラフィックを受け入れる準備ができていないことが明らかになったため、ラップアップを約 1 ヶ月間一時停止したからです。6 月 17 日にラップアップを再開しましたが、今回は各ステップで環境が確実に健全であることを検証する必要がある新しい「ターンアップごとの安定性ゲート」を導入しました。より慎重に進み、確信を持って進むことが正しいトレードオフです。制御された一時停止は、より高い負荷下で同じ教訓を再び学ぶよりも好ましいものです。
Azure における Git の利用割合は、今月 HTTP と SSH を合わせた合計で 30% からピーク時の 43% に増加しましたが、6 月の目標であった 50% は達成できませんでした。現在、Git の利用率は約 45% で頭打ちになると予想しています。これは、ユーザーの遅延を避けるための2つの意図的な判断によるものです。1 つ目は、追加の vPoP トラフィックが IAD HUB の Git トラフィックをバックホールするのではなく、米国中央部(Central US)へルーティングされるのを待っていること、2 つ目は、エッジで読み書きの分割処理が行えないため、現在は HTTP のみを経由していることです。この優先事項は継続しており、新たな目標数値をお知らせできる状況ではありませんが、可能な限り迅速かつ安全に作業を続け、次回の更新時に具体的な数値を発表する予定です。
これらの主要数値の背後には、特に興奮を覚えるような進歩がありました。新しく抽出されたプルリクエストサービス「pullsd」は、本番環境における匿名のプルリクエスト読み取りを 100% 処理するようになり、このトラフィックはもはやモノリスからは提供されなくなりました。同様に新しく抽出されたリポジトリサービス「reposd」は、Azure から本番 REST トラフィックを提供する最初の抽出サービスとなり、Redis の容量制約により事前に停止させる前に読み取りトラフィックの 50% に達しました。しかし、インシデントも強制的なロールバックも発生しませんでした。この容量対応が完了次第、再度トラフィックを拡大します。新しいユーザーサービスは、ピーク時に本番データベースから毎秒約 50 万件のクエリをオフロードしており、認証および認可テーブルの物理的な移行は 7 月初旬に完了する予定です。API のレート制限は現在、ゲートウェイで約 97% が処理されており、モノリス内のリクエスト処理ワーカーと競合することはなくなりました。クライアント側のデータベース負荷シェディング(load shedding)は、実際の生産トラフィックの 5% で実行されており、これにより、ユーザーに直接影響を与える障害が連鎖する前に、ストレス下で優先度の低いクエリをシャットダウンできることを実証する生データが得られました。さらに、対話型本番アクセスおよび ChatOps 変更に対しては、エンドツーエンドでの 2 人による確認が必須となり、その背後には統一された監査証跡が用意されています。
続くインシデント報告は、システムの優れた点とそうでなかった点、すでに実施した変更、そして現在進行中の変更を映し出すもう一つの側面です。私たちが引き続き遵循する原則は、「可用性」を最優先とし、次に「容量」、最後に「機能」という順序です。
6 月には、GitHub サービス全体のパフォーマンス低下を引き起こすインシデントが 6 件発生しました。
6 月 4 日 17:30 UTC(継続時間:1 時間 25 分)
2026 年 6 月 4 日の 17:30 から 18:55 UTC の間、Copilot code review は github.com 上のレビューリクエストにおいて失敗率の上昇を経験しました。影響を受けたユーザーは、コードレビューを要求する際にプルリクエストで「Copilot ran into an error」というエラーメッセージが表示されました。
インシデント発生期間中、Copilot code review のリクエストの平均失敗率は 81.6% で、ピーク時の失敗率は 93.9% に達し、合計約 36,800 件のコードレビューリクエストが失敗しました。データ所在地要件を満たす GitHub Enterprise Cloud は影響を受けませんでした。
この問題は、Copilot code review の処理ワークフローで使用されていた新しくリリースされた依存ライブラリ(dependency)に起因しました。このリリースはランタイム環境との互換性欠陥をもたらしており、ワークフローが最新リリースを自動的に取り込んだ結果、十分な互換性検証が行われずに互換性の低いバージョンが採用され、レビュー処理の失敗を引き起こしました。影響を受けたレビュージョブは即座に失敗(fail fast)せず、多くの場合タイムアウトするまで実行し続けました。
問題のある依存バージョンを削除し、影響を受けた処理サービスを再デプロイすることでインシデントを緩和しました。新しいコードレビューは UTC 18:44 に回復し始め、失敗率は UTC 18:55 にはベースラインに戻りました。残りのタイムアウトした作業は UTC 19:59 までにすべて完了しました。
再発のリスクを低減するため、依存バージョンを最新リリースを自動的に消費する代わりに固定(ピン留め)し、将来のリリースに対する互換性チェックを追加し、レビュープロセッサが起動できない場合の高速フォールト動作を改善し、レビューワークフローのタイムアウト制御を短縮し、レビュー完了失敗の監視を強化します。
6 月 08 日 06:30 UTC(継続時間:2 時間 06 分)
2026 年 6 月 8 日の UTC 06:30 から 08:36 の間、サインアウトしたユーザーがプルリクエスト、イシュー、リリース、パッチ差分、およびその他の関連する github.com ページにアクセスする際に、持続的に高い HTTP 504 エラーが発生しました。インシデント中、影響を受けた github.com エンドポイントへの認証されていないリクエストの約 17% がゲートウェイタイムアウトエラーを返し、UTC 06:50 頃にはリクエストの約 34% にピークしました。一部の GitHub Actions ワークフローも、リリースダウンロードや関連する github.com エンドポイントに依存している場合に影響を受けました。この影響は約 2 時間続き、認証されていないトラフィックに限定されていました。サインインしたユーザーへの影響はありませんでした。
この問題は、特定の github.com エンドポイントに対する悪意のある自動化された匿名トラフィックの大幅な増加によって引き起こされました。認証されていないリクエストは専用プール内の Web アプリケーションサーバーによって処理されるため、認証されていないリクエストへの対応能力が低下し、リクエストがタイムアウト閾値を超えてキューに滞留し、ゲートウェイタイムアウトエラーが発生しました。
このインシデントの緩和には、異常なトラフィックパターンを特定し、ロードバランサーおよびアプリケーション層で対象となるブロックを適用することが含まれました。ブロックが完全に機能した時点で、エラー率は正常に戻り、影響を受けたサービスは UTC 08:36 に完全に復旧しました。
同様のインシデントの発生確率と影響を将来低減するため、これらのトラフィックパターンに対する自動検出およびブロック機能を強化し、緊急時のトラフィックブロック展開経路を改善するとともに、サインアウトユーザーと自動化されたワークフローの両方で使用されるエンドポイントに関するルーティング変更の評価を行っています。
6 月 10 日 15:05 UTC(継続時間:1 時間 20 分)
2026 年 6 月 10 日、UTC 時間 15:05 から 16:25 の間、GitHub API サービスで断続的な認証失敗により可用性が低下し、約 9% のリクエストに影響が出ました。REST および GraphQL API の両方のリクエストが影響を受けました。顧客は、誤った 401(未承認)レスポンスによって第 1 者および第 3 者のアプリ統合が繰り返し認証フローをトリガーしたため、断続的な「ログアウト」状態を経験しました。影響を受けたインフラストラクチャ経由でルーティングされたリクエストのみが失敗したため、同じクライアントでもあるリクエストでは成功し、次のリクエストでは失敗するという断続的な動作が発生しました。また、ゲートウェイがエラーを返す前に認証の再試行を行ったため、影響を受けたリクエストには約 800 ミリの追加レイテンシが生じました。
memcached プロキシサービスの展開により、内部 API インフラストラクチャにロールアウトされた結果、認証サービスが誤ったホスト設定を読み込んでしまい、断続的な認証ルックアップの失敗を引き起こしました。本インシデントは、memcached サービスに対して正しいホストを使用する構成変更をデプロイすることで緩和されました。
同様の問題を将来防止するため、レジリエンスを向上させ、全体的な信頼性姿勢を強化するために、認証システムを新しいキャッシングインフラストラクチャへ移行する計画を立てています。また、ゲートウェイが一時的な認証システムのエラーと実際に無効な資格情報とを区別する方法を改善しており、一時的なルックアップの失敗がユーザーには「ログアウト」として表示されないようにします。
6 月 16 日 UTC 時間 17:20(55 分間継続)
2026 年 6 月 16 日、UTC 時間 17:20 から 18:15 の間に、GitHub Copilot における Opus 4.8 モデルの可用性が低下しました。この期間中、Opus 4.8 への一部の要求で失敗またはエラーが発生しました。他の Copilot モデルは影響を受けず、代替手段として引き続き利用可能でした。これは、上位モデルプロバイダー側の問題に起因するものです。
事象発生中は、影響を受けたユーザーへ通知するため、低下モード(デグレードド・モード)のメッセージ表示を有効化しました。上位プロバイダーが問題を解決したため、Opus 4.8 の成功率が通常レベルに戻るまで監視を行いました。本インシデントは完全に解消されています。
今後は、特定のモデルに対して単一の推論プロバイダーへの依存度を下げ、プロバイダー間でキャパシティをバランスさせることで、上位層の停止時にトラフィックを健全なキャパシティへフェイルオーバーできるようにします。また、パブリックステータスページのツールを強化し、インシデント時の更新が確実に公開されるようにして、対策中の顧客への情報提供体制を改善しました。
2026 年 6 月 17 日 UTC 03:50(継続時間:54 分)
2026 年 6 月 17 日、UTC 時間おおよそ 03:50 から 04:44 の間に、GitHub Copilot が低下し、すべてのリージョンで主要なチャットモデルの多くが一時的に利用不可となりました。この期間中、影響を受けたモデルは、Web エクスペリエンス、エディタ、CLI 環境におけるモデルピッカーから消滅するか、選択時に「モデルが利用できません」というエラーを返しました。顧客は、引き続き利用可能なモデルを選択することで GitHub Copilot を使用し続けることができました。本インシデントはピーク時間帯外に発生したため、影響を受けた顧客数は限定的でした。
これは、本番システムが無効と判断した設定変更によるものでした。影響を受けた事象は、設定変更を元に戻すことで緩和され、その後サービスが以前の構成を再読み込みしたため、影響を受けたモデルは自動的に復旧しました。
今後は、設定変更を段階的に展開し、より強力な検証を行うとともに、利用可能なモデル数の急激な減少に対するアラートを設置し、これらのアラートを引き起こす設定変更を自動的にロールバックする取り組みを進めています。
2026 年 6 月 25 日 17:33 UTC(継続時間 23 分)
2026 年 6 月 25 日の 17:33 から 17:55 の間、バックグラウンドジョブサービスに劣化が発生し、プルリクエスト、リポジトリへのプッシュ、アクションワークフロー、Webhook に対する遅延が増加しました。遅延は最大で 7 分に達しました。この問題は、基盤となるハイパーバイザーの障害と流入するトラフィックの急増が原因で、サービスタイムアウトを引き起こし、接続ストームと継続的な再バランスにつながりました。
影響を受けたノードを 17:49 に置き換えることで事象は緩和され、その後すべてのサービスは 18:07 までに復旧しました。
同様の事象の発生確率と影響を将来低減するため、バックグラウンドジョブ処理を突然のトラフィック急増に対してより耐性のあるものとし、劣化した場合の接続の入れ替えの可能性を減少させ、重要なノードの共配置を排除して 1 つの不健康なノードが他のノードに影響を与えないようにし、この劣化を引き起こした条件に対する早期アラートを追加しました。
ステータスページをフォローして、ステータス変更のリアルタイム更新やインシデント後の要約をご覧ください。私たちが取り組んでいる内容について詳しく知りたい場合は、GitHub Blog のエンジニアリングセクションをチェックしてください。
本記事「GitHub 可用性レポート:2026 年 6 月」は、最初に The GitHub Blog で公開されました。
原文を表示
Last month, we added a new section to our monthly reports with updates on GitHub’s availability work and the infrastructure investments behind it. The response and the questions we heard made one thing clear: customers want more of this, not less—including when the news is mixed.
The short version of June: We made real structural progress, we paused deliberately when a ramp went sideways, and we missed a target that we’ve now re-baselined.
Monolith traffic in Azure peaked at 45% in Central US this month. That number is lower than we’d hoped, because we paused the ramp for roughly a month after a stability incident on May 21 made it clear the environment wasn’t ready for more traffic. We restarted the ramp on June 17 with a new per-turnup stability gate that requires the environment to be verifiably healthy before each step up. Going more slowly with more confidence is the right trade—a controlled pause is preferable to relearning the same lessons at higher load.
Git in Azure grew from 30% to a peak of 43% (HTTP and SSH combined) over the month, and we missed our June target of 50%. We expect Git to plateau near 45% for now because of two deliberate decisions to avoid added user latency: we are waiting on additional vPoP traffic to route to Central US rather than backhauling IAD HUB Git traffic, and we are routing only HTTP for now because SSH has no read/write split at the edge. We continue to prioritize this, but we don’t have a new target to share. We’ll keep working as quickly and safely as possible and will report the specific numbers in our next update.
Underneath those headline numbers, we made progress that we are particularly excited about. Our new extracted pull requests service, pullsd, is now handling 100% of anonymous pull request reads in production; this traffic is no longer served by the monolith. Reposd, our new extracted repository service, became the first extracted service to serve production REST traffic from Azure, ramping to 50% of read traffic before we proactively turned it down for a Redis capacity constraint. There was no incident and no rollback under duress. It will re-ramp once that capacity work completes. Our new users service is now offloading roughly 500,000 queries per second at peak from our primary database, with the physical migration of authentication and authorization tables landing in early July. Our API rate limiting is now approximately 97% handled at the Gateway, so rate-limiting decisions no longer contend with request-serving workers inside the monolith. Client-side database load shedding is running against 5% of real production traffic, which means we now have live evidence that we can shed low-priority queries under stress before they cascade into user-facing failures. And two-person confirmation is now required end-to-end for interactive production access and ChatOps changes, with a unified audit trail behind it.
The incident write-ups that follow are the other half of the picture: what the system did well and what it didn’t, what we’ve already changed as a result, and what we’re still changing. The same principle continues to guide us: availability, then capacity, then features.
In June, we experienced six incidents that resulted in degraded performance across GitHub services.
June 04 17:30 UTC (lasting 1 hour and 25 minutes)
On June 4, 2026, from 17:30 to 18:55 UTC, Copilot code review experienced elevated failures for review requests on github.com. Affected users saw “Copilot ran into an error” on pull requests when requesting a code review.
During the incident window, an average of 81.6% of Copilot code review requests failed, with a peak failure rate of 93.9%, and a total of approximately 36,800 code review requests failing. GitHub Enterprise Cloud with data residency was not impacted.
The issue was caused by a newly released dependency used by the Copilot code review processing workflow. The release introduced an incompatibility with the runtime environment. Because the workflow automatically consumed the latest release, the incompatible version was picked up without sufficient compatibility validation and caused review processing to fail. Affected review jobs did not fail fast; many continued running until they timed out.
We mitigated the incident by removing the problematic dependency version and redeploying the affected processing service. New code reviews began recovering at 18:44 UTC, and the failure rate returned to baseline by 18:55 UTC. Remaining timed-out work drained by 19:59 UTC.
To reduce the risk of recurrence, we are pinning the dependency version instead of automatically consuming the latest release, adding compatibility checks for future releases, improving fast-failure behavior when the review processor cannot start, adding shorter timeout controls for review workflows, and improving monitoring for review completion failures.
June 08 06:30 UTC (lasting 2 hour and 06 minutes)
On June 8, 2026, between approximately 06:30 and 08:36 UTC, signed-out users experienced sustained elevated HTTP 504 errors when accessing pull requests, issues, releases, patch diffs, and other related github.com pages. During the incident, approximately 17% of unauthenticated requests to the affected github.com endpoints returned gateway timeout errors, peaking at roughly 34% of requests at around 06:50 UTC. Some GitHub Actions workflows were also affected when they depended on release downloads or related github.com endpoints. The impact lasted approximately two hours and was isolated to unauthenticated traffic; signed-in users were not affected.
The issue was caused by a significant increase in abusive, automated anonymous traffic to specific github.com endpoints. Because unauthenticated requests are served by a dedicated pool of web application servers, it degraded our ability to respond to unauthenticated requests, causing requests to queue beyond timeout thresholds and return gateway timeout errors.
We mitigated the incident by identifying the anomalous traffic pattern and applying targeted blocks at the load balancer and application layers. Once the blocks took full effect, error rates returned to normal and affected services were fully restored by 08:36 UTC.
To reduce the likelihood and impact of similar incidents in the future, we are improving automated detection and blocking for these traffic patterns, improving our emergency traffic-blocking deployment path, and evaluating routing changes for endpoints used by both signed-out users and automated workflows.
June 10 15:05 UTC (lasting 1 hour and 20 minutes)
On June 10, 2026, between 15:05 and 16:25 UTC, GitHub API services experienced degraded availability due to sporadic authentication failures affecting approximately 9% of requests. Both REST and GraphQL API requests were affected. Customers experienced intermittent “logged out” behavior as erroneous 401 (unauthorized) responses caused first- and third-party app integrations to trigger repeated authentication flows. Because only requests routed through the affected infrastructure failed, the same client could succeed on one request and fail on the next, producing the intermittent behavior. Affected requests also experienced approximately 800ms of additional latency, as the gateway retried authentication before returning an error.
A memcached proxy service, rollout to our internal API infrastructure caused our authentication service to pick up an incorrect host configuration, leading to intermittent authentication lookup failures. We mitigated the incident by deploying a configuration change to memcached service to use the correct host.
To prevent similar issues in the future, we plan to migrate our authentication system to the new caching infrastructure to improve resilience and strengthen overall reliability posture. We are also improving how the gateway distinguishes transient authentication-system errors from genuinely invalid credentials, so that temporary lookup failures no longer appear to users as being logged out.
June 16 17:20 UTC (lasting 55 minutes)
On June 16, 2026, between 17:20 and 18:15 UTC, the Opus 4.8 model experienced degraded availability in GitHub Copilot. During this window, some requests to Opus 4.8 failed or errored. Other Copilot models were not affected and remained available as alternatives. This was caused by an issue with an upstream model provider.
While the issue was ongoing, we enabled degraded-mode messaging to inform affected users. The upstream provider resolved the issue, and we monitored Opus 4.8 until success rates returned to normal. The incident is fully resolved.
We are reducing our reliance on any single inference provider for a given model and balancing capacity across providers, so traffic can fail over to healthy capacity during an upstream outage. Separately, we hardened our public status-page tooling to ensure incident updates publish reliably, improving how we keep customers informed during mitigation.
June 17 03:50 UTC (lasting 54 minutes)
On June 17, 2026, between approximately 03:50 and 04:44 UTC, GitHub Copilot was degraded and most of its frontier chat models were temporarily unavailable across all regions. During this window, affected models either disappeared from the model picker in the web, editor, and CLI experiences, or returned a “model not available” error when selected. Customers could continue using GitHub Copilot by selecting one of the models that remained available. The incident occurred during off-peak hours, which limited the number of customers affected.
This was due to a configuration change that our production system deemed invalid. We mitigated the incident by reverting the configuration change, after which the affected models returned automatically as the service reloaded the previous configuration.
We are working to roll out configuration changes gradually with stronger validations, alerts on sudden drops in the number of available models, and automatically roll back configuration changes that trigger these alerts.
June 25 17:33 UTC (lasting 23 minutes)
On June 25, 2026, between 17:33 and 17:55 UTC, our background job service experienced degradation which increased delays to pull requests, repository pushes, actions workflows, and webhooks, with delays peaking at 7 minutes. The issue was caused by underlying hypervisor issues and an incoming traffic spike, causing service timeouts which led to a connection storm and continual rebalances.
The issue was mitigated by replacing the impacted node at 17:49, after which all services saw recovery by 18:07.
To reduce the likelihood and impact of similar incidents in the future, we have made background job processing more resilient to sudden traffic spikes, reduced the possibility of connection churn in degraded cases, removed the co-location of critical nodes so that one unhealthy node cannot affect others, and added earlier alerting on the conditions that led to this degradation.
Follow our status page for real-time updates on status changes and post-incident recaps. To learn more about what we’re working on, check out the engineering section on the GitHub Blog.
The post GitHub availability report: June 2026 appeared first on The GitHub Blog.
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み