Incident Library

IL-0262 GitHub · 2026-08-17networking

한 데이터센터의 로드 밸런서가 과부하에 걸려 GitHub 의 인증 경로와 이 데이터센터를 지나는 여러 서비스가 오류와 느린 응답을 냈다

사고는 2026년 8월 17일 13시 40분 UTC 에 시작해 7시간 35분 동안 이어졌고, 그중 서비스가 영향을 받은 시간은 약 6시간 44분이었다. 트래픽이 새 최고치를 찍으면서 한 데이터센터의 로드 밸런서가 한계를 넘었다. 서비스 메시 사이드카 하나가 동시 처리 한도에 닿았지만 확장되지 않았고, 요청이 밀리자 로드 밸런서 노드 여러 대가 네트워크 flow 한도를 다 썼다. 그 결과 공용 게이트웨이의 인증 경로가 나빠졌고, 그 데이터센터를 지나는 이슈, 풀 리퀘스트, API, Actions, Copilot, 로그인과 인증, webhooks API 가 오류와 느린 응답을 냈다. 숨어 있던 클라이언트 재시도 버그는 내부 인증 엔드포인트 하나로 가는 트래픽을 크게 부풀려 Copilot Token Service 의 복구를 늦췄다.

자동 모니터링이 오류 증가를 잡아 사고 대응이 시작됐고, 상태 페이지에 영향받은 제품이 degraded 로 표시됐다. 엔지니어들은 원인을 한 데이터센터 로드 밸런서의 네트워크 포화로 짚고, 트래픽 일부를 다른 데이터센터로 옮기며 게이트웨이 재시도를 줄였다. 포화된 노드의 로드 밸런서 프로세스를 멈추고 가장 영향을 많이 받은 내부 엔드포인트로 가는 재시도를 일으키는 요청을 막자 서비스 전반이 곧바로 회복됐다. 남은 인증 오류는 트래픽을 천천히 다시 올리며 잡았고, 정상 지표가 한동안 이어진 뒤 사고를 종료했다. 가장 심할 때 들어온 요청의 56.07% 가 실패하거나 느렸고, 약 29,000 개 조직이 영향을 받았다. 데이터 손실은 없었다.

심각도
–
영향 범위
Issues and pull requests (pages and API) and other services routed through the same datacenter's load balancers: REST and GraphQL APIs, Actions, Copilot, sign-in and authentication, webhooks API; impact for approximately 6 hours 44 minutes; no data lost
영향 사용자
about 29K organizations saw at least one failed or slow request; over roughly 4.8M failed or slow requests in total
지역
one GitHub datacenter
감지까지
–
복구까지
7h 35m

증상

자동 모니터링이 오류 증가를 잡아 사고 대응이 시작됐다. 이슈와 풀 리퀘스트의 페이지와 API 가 오류를 내거나 느리게 응답했고, 같은 데이터센터의 로드 밸런서를 지나는 다른 서비스들도 오류와 지연을 보였다.

영향은 이슈와 풀 리퀘스트에서 가장 잘 보였다. 같은 데이터센터의 로드 밸런서를 거치는 REST API, GraphQL API, Actions, Copilot, 로그인과 인증, webhooks API 도 오류와 지연을 냈다. 공용 게이트웨이의 인증 경로가 나빠지면서 이 서비스들 전반에서 인증이 느려지거나 실패했다.

가장 심할 때 영향받은 서비스로 들어온 요청의 56.07% 가 엣지에서 실패하거나 느렸다. 사고 동안 약 29,000 개 조직이 실패하거나 느린 요청을 한 번 이상 겪었다. 실패하거나 느린 요청은 모두 약 480만 건이었다. 다시 시도하면 대개 됐지만, 가장 나쁜 구간에는 시도의 상당수가 실패했다.

과부하는 번져 나갔다. 서비스 메시 사이드카가 동시 처리 한도에 닿았는데도 확장되지 않았고, 요청이 밀리자 로드 밸런서 노드 여러 대가 네트워크 flow 한도를 다 썼다. 클라이언트의 재시도 버그가 내부 인증 엔드포인트 하나로 가는 트래픽을 크게 부풀려 Copilot Token Service 의 복구를 늦췄다.

엔지니어들은 장애를 한 데이터센터 로드 밸런서의 네트워크 포화로 좁혔다. 먼저 트래픽 일부를 다른 데이터센터로 옮기고 게이트웨이 재시도를 줄여 부담을 덜려 했다. 포화된 노드의 로드 밸런서 프로세스를 멈추고 재시도를 일으키는 요청을 막자 서비스 전반이 곧바로 회복됐다.

증상 오류율 상승지연 시간 증가

원인

촉발
트래픽이 새 최고치를 찍으면서 한 데이터센터의 로드 밸런서가 한계를 넘었다. 서비스 메시 사이드카 하나가 동시 처리 한도에 닿았는데도 확장되지 않았다.

감지

자동 모니터링이 오류 증가를 잡아 사고 대응이 시작됐다. 영향받은 제품은 공개 상태 페이지에 degraded 로 표시됐다.

조치

후속 조치

교훈

GitHub 는 핵심 약점을 두 가지로 봤다. 서비스 메시 사이드카가 확장되지 않은 것과 재시도 동작이다. 클라이언트에 충분한 제한이 없어서 일부 구간의 성능 저하가 더 넓은 과부하로 커지는 것을 막지 못했다.

출처

관련 사례

내 클러스터에도 있는지 확인하기

kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이 사례와 같은 상태를 점검합니다. 이 사례의 구성 요소: 온프레미스 로드 밸런서, 서비스 메시. 점검 항목의 근거는 이 사례 같은 공개 보고서입니다.

AI 도구와 스크립트용

API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.