피드로 돌아가기
GitHub BlogInfrastructure
원문 읽기
GitHub availability report: February 2026
GitHub가 2월 6개 사건 분석을 통해 캐싱 메커니즘 과부하, 정책 적용 오류, 알림 임계값 부정확으로 인한 다중 서비스 중단의 근본 원인 규명
AI 요약
Context
GitHub는 2월 한 달 동안 6건의 사건으로 인해 서비스 전반의 성능 저하를 경험했다. Dependabot, GitHub Actions, Codespaces, Git 연산, GitHub Copilot 등 핵심 서비스들이 영향을 받았으며, 단일 장애점에서 비롯된 연쇄 실패(cascading failure)가 주요 원인이었다.
Technical Solution
- 사용자 설정 캐싱 메커니즘 최적화: 비동기 캐시 재쓰기를 비활성화하고 쓰기 증폭을 방지하는 자동 스로틀링 추가
- Git HTTPS 프록시 계층 개선: 연결 고갈(connection exhaustion)의 근본 원인 수정으로 수동 재시작 없이 자동 복구 가능하도록 변경
- 클러스터 페일오버 모니터링 강화: 읽기 전용 데이터베이스 연결 감지를 위한 새로운 모니터와 알림 추가
- 보안 정책 변경 관리 개선: compute provider와 협력하여 정책 롤아웃 전 안전성 검증 프로세스 수립
- Codespaces 알림 임계값 조정: 권한 부여 주장(authorization claim) 변경 감지를 위한 알림 심각도 상향 및 자동 페일오버 메커니즘 확대
- LFS 서비스 배포 검증 강화: 네트워크 구성 오류 감지를 위한 손상 검사 및 자동 롤백 감지 추가
Impact
- Dependabot 서비스: 1월 31일 00:30 UTC부터 2월 2일 18:00 UTC까지 약 65시간 동안 자동 pull request 10% 미생성
- GitHub Actions 및 Codespaces: 2월 2일 18:35 UTC부터 2월 3일 00:30 UTC까지 약 30시간 동안 호스팅 러너 완전 불가용
- 2월 9일 사건: 첫 번째 사건 16:12~17:39 UTC(1시간 27분), 두 번째 사건 18:53~20:09 UTC(1시간 16분), 총 2시간 43분 서비스 저하
- Codespaces 생성/재개: 2월 12일 00:51~09:35 UTC 동안 유럽, 아시아, 호주 지역에서 최대 90% 실패율
- 리포지토리 아카이브 다운로드: 2월 12일 09:16~11:01 UTC 동안 평균 오류율 0.0042%, 최대 0.0339%
Key Takeaway
설정 변경이 미치는 영향은 단일 컴포넌트를 넘어 연쇄 실패로 확산되므로, 배포 전 검증 단계에서 부하 테스트와 단계적 롤아웃을 필수화하고, 알림 임계값은 평상시 기준이 아닌 이상 탐지 가능 수준으로 설정해야 한다.
실천 포인트
분산 시스템을 운영하는 팀은 설정 변경 배포 시 자동 검증(auto-rollback detection)을 필수 요구사항으로 추가하고, 캐싱 계층에서 쓰기 증폭을 감지하기 위해 동기·비동기 업데이트 소스 분리 및 자동 스로틀링을 구현하면 연쇄 실패의 범위를 제한할 수 있다.