깃허브, 비로그인 사용자 접속 지연 장애… 문제 구성요소 재배포 후 1시간여 만에 해소

세계 최대 코드 저장·협업 플랫폼 깃허브(GitHub)에서 지난 8일 일부 사용자의 요청이 시간 초과(타임아웃)로 끊기는 장애가 났다. 깃허브는 공식 상태 페이지에 이번 장애의 제목을 'Increase in timeouts for some unauthenticated users(일부 비인증 사용자의 타임아웃 증가)'로 올렸다. 회사는 장애를 일으킨 구성요소를 찾아 다시 배포했고, 같은 날 12시 32분(UTC, 한국시간 오후 9시 32분)에 '해결(Resolved)'로 바꿨다.
상태 페이지 기록을 보면 대응은 이렇게 이어졌다. 회사는 11시 16분(UTC) 공지에서 조사를 계속하고 있다고 밝혔다. 4분 뒤인 11시 20분에는 'API 요청(API Requests)' 항목의 성능이 떨어졌다고 공지했다. 30분 뒤인 11시 50분에는 "문제가 되는 구성요소를 찾았고 재배포 작업을 하고 있다"고 알렸다. 6분 뒤인 11시 56분에는 API 요청 성능 저하를 완화했다며 안정성을 지켜보겠다고 했다. 12시 29분에 상태를 '모니터링'으로 바꿨고, 3분 뒤 장애 해소를 공지했다. 한국시간으로는 8일 토요일 저녁 8시대부터 9시 반 무렵까지다.
장애 제목에 나온 '비인증 사용자'는 로그인하지 않았거나 인증 토큰 없이 깃허브에 접속한 사용자를 말한다. 공개 저장소를 로그인 없이 보거나, 인증 정보 없이 깃허브 API를 부르는 스크립트·자동화 도구가 여기에 들어간다. 회사가 장애 범위를 '일부' 비인증 사용자로 한정한 만큼, 로그인한 개발자는 평소처럼 서비스를 쓸 수 있었을 가능성이 크다. 다만 공지 과정에서 'API 요청' 항목이 성능 저하 상태로 표시됐기 때문에, 그 시간에 깃허브 API를 부른 외부 도구나 빌드 작업은 응답이 늦거나 실패했을 수 있다.
깃허브는 전 세계 개발자가 소스코드를 올리고 함께 고치는 곳이다. 오픈소스 프로젝트의 배포 창구 역할도 한다. 많은 소프트웨어 빌드 과정이 깃허브에서 코드나 패키지를 내려받도록 짜여 있다. 그래서 짧은 접속 지연도 서비스 바깥의 개발 작업에 영향을 줄 수 있다. 국내 기업과 개발자도 사내 개발과 오픈소스 활용에 깃허브를 많이 쓴다. 그 시간대에 자동화 작업이 실패했다면 다시 실행해 보는 것이 좋다.
깃허브는 해결 공지에서 "문제를 처리하는 동안 기다려 준 것에 감사한다"고 밝혔다. 이어 "자세한 근본 원인 분석(root cause analysis)은 준비되는 대로 공유하겠다"고 덧붙였다. 공지 내용으로 보면 이번 장애는 특정 구성요소 문제에서 시작됐다. 회사는 해당 구성요소를 다시 배포해 성능 저하를 줄였고, 30분 넘게 상태를 지켜본 뒤 장애 종료를 선언했다. 세부 경위는 깃허브가 낼 근본 원인 분석에 담길 예정이다.



