Incident Library
  • 원인
  • 구성 요소
  • 증상
  • 기여 요인
  • 사례

사례2건

2건 중 1~2번째

  1. 증상

    2024년 11월 12일 8:47 AM UTC 에 편집기 새 버전을 배포한 뒤, 아시아의 많은 사용자에게 편집기의 객체 패널이 끝없이 로딩 상태로 남았다. 9:08 AM UTC 부터는 canva.com 자체가 열리지 않았다.

    촉발

    2024년 11월 12일 8:47 AM UTC 에 Canva 편집기 새 버전이 배포돼 클라이언트들이 새 정적 자산을 받기 시작했다. 같은 시각 Cloudflare 의 싱가포르와 애슈번 사이 경로에서 패킷이 손실돼 JavaScript 파일 하나의 전송이 20분 동안 끝나지 않았다.

    원인
    구성 요소
    기여 요인
    조치
    • 임시 Cloudflare 방화벽 규칙을 넣어 CDN 에서 모든 트래픽을 막고, 새 API Gateway 태스크가 요청을 받지 않은 상태에서 뜨게 했다.
    • canva.com 을 상태 페이지로 돌려 사용자에게 장애 중임을 알렸다.
    • 엄격한 속도 제한을 건 오스트레일리아 사용자부터 시작해 canva.com 트래픽을 조금씩 되살렸다.
    후속 조치
    • 트래픽을 세밀하게 돌리고 막은 뒤 단계적으로 다시 늘리는 내부 런북을 만든다.
    • canva.com 을 쓸 수 없을 때 사용자에게 더 자세한 오류 페이지를 보여 준다.
    • API Gateway 의 기본 태스크 수와 태스크 하나에 주는 메모리를 늘린다.
    • 비슷한 트래픽 패턴에서 실패할 위험을 줄이는 부하 차단 규칙을 API Gateway 에 더한다.
    • API Gateway 에 정기 부하 테스트를 들인다.
    • 텔레메트리 라이브러리의 스레드 잠금 버그를 고치는 패치를 배포한다.
    • 텔레메트리 라이브러리의 마이크로벤치마크 테스트에 스레드 경합을 일으킨 코드 경로의 멀티스레드 테스트를 더한다.
    • 페이지 자산 카나리 릴리스에서 JavaScript 오류율에 더해 페이지 로드 완료 이벤트를 보조 지표로 본다.
    • 카나리에 롤아웃 단계를 하나 더 두어 단계적 배포 중 문제를 찾을 시간을 늘리는 실험을 한다.
    • 사용자 요청이 자산을 너무 오래 기다리지 않도록 자산 받기에 타임아웃을 둔다.
    • Cloudflare 와 함께 이번 사고에서 여러 시스템이 어떻게 얽혀 작용했는지 자세히 파악한다.
  2. 증상

    2021년 6월 8일 1시간이 안 되는 동안 GOV.UK 방문자가 정보와 서비스에 접근하지 못하고 오류 페이지를 봤다. 팀은 장애가 시작되고 4분 뒤에 알아챘다.

    원인
    구성 요소
    기여 요인
    –
    감지

    장애는 시작되고 4분 뒤에 감지됐다. 팀은 장애 책임자를 정했고, 장애 책임자는 커뮤니케이션 책임자와 함께 공식 장애 대응 절차를 시작했다.

    조치
    • 감지하고 15분이 지나도 상태가 바뀌지 않자 보조 CDN 으로 페일오버하기로 했다.
    • 30분 안에 DNS 레코드 변경을 배포했고, 트래픽이 보조 CDN 으로 가기 시작했다.
    • 주 CDN 이 회복되는 것을 몇 분 지켜본 뒤 주 CDN 으로 되돌렸고, 1시간을 더 지켜본 뒤 장애 종료를 선언했다.
    후속 조치
    • 공식 장애 리뷰를 열어 무슨 일이 있었는지, 대응이 어땠는지, 다음에 더 잘하려면 무엇을 해야 하는지 논의한다.
    • 장애 중에 더 빠르고 투명하게 소통할 방법을 검토한다.
    • 이미 계획한 플랫폼 기술과 절차의 변경으로 앞으로 장애가 났을 때 더 빨리 복구할 수 있는 방법을 검토한다.
    교훈

    어떤 인프라도 100% 믿을 수는 없고, 네트워크 엣지에 있는 CDN 이 망가지면 사이트 전체가 내려가므로 예비 계획이 있어야 한다고 팀은 말했다. 보조 CDN 으로는 기능이 줄어든 서비스만 할 수 있어서 페일오버는 큰 결정이고, 주 CDN 장애가 빨리 끝나면 너무 이른 페일오버가 오히려 장애를 키울 수 있다고 했다. 이런 장애에서는 침착하게, 목적을 분명히 하고 움직이는 것이 중요하다고 했다. 방문자가 본 오류 페이지는 GOV.UK 가 손댈 수 없는 페이지였고, 아무 정보도 주지 못해 GOV.UK 의 콘텐츠 기준에 크게 못 미쳤다고 했다.

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

이 2건에서 가장 많이 나오는 구성 요소: CDN 과 엣지 네트워크, API 게이트웨이. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별1