GitHub 가용성 보고서: 2026년 4월 — 10건의 장애, 30% 스크래핑 공격 포함
by xingwangzhe
GitHub
Avavailability
Incident Report
SRE
Outage
GitHub 가용성 보고서: 2026년 4월 — 10건의 장애, 30% 스크래핑 공격 포함
5월 14일 GitHub이 2026년 4월 가용성 보고서를 발행했다. 험난한 한 달이었다: 코드 검색, Copilot, Pages, Codespaces, Actions 전반에 걸친 10건의 장애. 무슨 일이 있었고 GitHub이 무엇을 하고 있는지.
장애 요약
| 날짜 | 서비스 | 지속 시간 | 영향 |
|---|---|---|---|
| 4/1 | 코드 검색 | 8h 43m | 100% 쿼리 실패, 전체 재인덱싱 필요 |
| 4/1 | 감사 로그 | 4m | 4,297 API 액터 영향 |
| 4/9 | Copilot Agent | 4h 16m | ~84% 신규 세션 지연, 54분 큐 |
| 4/13 | Pages | 39m | ~1,750만 HTTP 500 오류 (12.8% 피크) |
| 4/16 | Codespaces | 3h 22m | ~40% VS Code 시작 실패 |
| 4/20 | 코드 스캐닝 / Projects | 15h 36m | 신규 PR 미스캔, 새 이슈 보드 누락 |
| 4/22 | Copilot Chat | 3h 43m | 전체 사용 불가, 이후 지역별 복구 |
| 4/23 | 멀티 서비스 | 1h 18m | Copilot, Webhooks, Git, Actions, Deployments — 트래픽 5-7% |
| 4/27 | 검색 (스크래핑 공격) | 6h 15m | Issues, PRs 등에서 최대 65% 검색 타임아웃 |
주요 장애
4월 27일: 검색을 마비시킨 스크래핑 공격
가장 흥미로운 장애는 4월 27일이었다. 16:15부터 22:46 UTC까지 GitHub의 검색 서비스가 심각한 성능 저하를 겪었다. 원인? 대규모 익명 분산 스크래핑 공격.
공격자는 60만 개 이상의 고유 IP 주소를 사용했으며, 모든 요청에 일치하는 액터 정보가 포함돼 표준 속도 제한이 무력화됐다(각 IP가 임계값 아래를 유지). 이 트래픽은 4시간 윈도우 내에 집중된 일일 전체 검색 트래픽의 30% 를 차지했다. 로드 밸런서 계층이 포화되면서 Issues, PRs, Projects, Repositories, Actions, Package Registry, Dependabot Alerts에서 최대 65%의 검색이 타임아웃됐다.
4월 23일: DNS 장애가 Copilot, Webhooks, Git, Actions로 연쇄 확산
단일 데이터센터 DNS 인프라 장애가 전체 트래픽의 5-7% 에 영향을 미치는 멀티 서비스 장애로 연쇄 확산됐다.
4월 9일: 속도 제한 버그가 Copilot Agent 마비
Copilot의 속도 제한 로직 버그가 전역 제한을 적용, 클라이언트 업데이트의 우연한 3-4배 트래픽 급증으로 소진이 가속화됐다. 84%의 신규 에이전트 세션이 지연되고 큐 시간이 54분까지 치솟았다(정상: 15-40초).
주목할 반복 테마
- 공유 인프라의 연쇄 실패 — 4/23 DNS 장애가 교과서적 사례
- 속도 제한 범위 — 너무 전역적이거나 우회하기 쉬운 속도 제한
- 자동화가 피해를 유발 — 4/1 코드 검색 장애는 너무 공격적인 자동 인프라 변경이 트리거
- 탐지 격차 — 여러 장애에서 모니터링이 장애 패턴을 위험으로 분류하지 못해 40-53분 탐지 지연
GitHub이 하는 일
- 더 강력한 DNS 복원력 및 멀티 데이터센터 장애 조치
- 더 점진적 롤아웃과 더 나은 상태 확인
- 더 빠른 탐지를 위한 모니터링 및 알림 개선
- 더 나은 트래픽 격리로 연쇄 영향 방지
- 속도 제한 강화 — 설치별 범위 지정 및 익명 트래픽 제어