Incident Library
적용된 필터 조직Cloudflare모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

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

사례7건

7건 중 1~5번째

  1. 증상

    2026년 1월 22일 20:25 UTC 부터 Cloudflare 의 Miami edge 라우터 하나가 BGP 트랜짓 제공자와 피어에게 예상하지 않은 경로를 광고했다. 20:40 UTC 에 네트워크 팀이 Miami 에서 나간 의도하지 않은 경로 광고를 조사하기 시작했다.

    촉발

    20:25 UTC 에 정책 자동화 플랫폼으로 Bogotá 데이터센터용 BGP 광고를 Miami 에서 빼는 변경을 내보냈다. 이 변경이 Miami 라우터의 여러 BGP export 정책에서 prefix-list 6-BOG04-SITE-LOCAL 줄만 지워, 남은 정책이 route-type internal 인 경로를 모두 받아들여 밖으로 광고하게 됐다.

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

    20:40 UTC 에 네트워크 팀이 Miami 에서 나간 의도하지 않은 경로 광고를 조사하기 시작했고, 20:44 UTC 에 대응을 조율하려고 인시던트를 열었다.

    조치
    • 20:50 UTC 에 네트워크 운영자가 잘못된 설정 변경을 손으로 되돌렸다. 이때 영향이 끝났다.
    • 자동화가 같은 라우터에서 다시 돌지 않도록 그 라우터의 자동화를 멈췄다.
    • 21:47 UTC 에 유출을 촉발한 변경을 네트워크 자동화 코드 저장소에서 되돌렸다.
    • 22:07 UTC 에 운영자가 라우팅 정책 버그 없이 자동화가 다시 돌 수 있음을 확인했고, 22:40 UTC 에 Miami 라우터의 자동화를 다시 켰다.
    후속 조치
    • 경로 유출을 일으킨 라우팅 정책 자동화의 결함을 고치고, 이 결함과 비슷한 결함을 바로 막는다.
    • 외부 export 정책에서 제공자와 피어에게서 받은 경로를 명시적으로 거부하는 BGP community 기반 안전장치를 라우팅 정책에 더한다.
    • 비어 있거나 잘못된 정책 term 을 찾는 라우팅 정책 자동 평가를 CI/CD 파이프라인에 넣는다.
    • 네트워크 설정 문제와 자동 변경의 나쁜 영향을 더 일찍 알아채도록 개선한다.
    • RFC9234 의 BGP role 과 Only-to-Customer Attribute 를 배포하기에 앞서 라우팅 장비 공급사의 구현을 검증한다. BGP role 과 Only-to-Customer Attribute 는 라우팅 정책과 상관없이 자기 AS 에서 생기는 경로 유출을 막는 유일한 방법이다.
    • 비정상적인 AS path 를 가진 경로를 네트워크가 자동으로 거부할 수 있게 하는 RPKI Autonomous System Provider Authorization, 곧 ASPA 를 장기적으로 채택하도록 권한다.
    교훈

    Cloudflare 는 이번 사고로 경로 유출을 실수로 일으키기가 얼마나 쉬운지 직접 겪었다고 적었다. 경로 유출을 막으려면 여러 갈래의 대책이 필요하고, 라우팅 정책 설정과 자동화에서 단기와 장기로 고칠 곳을 여럿 찾았다고 했다.

  2. 증상

    11:20 UTC 부터 Cloudflare 네트워크가 내보내는 HTTP 5xx 오류가 치솟았다. 고객 사이트를 찾은 인터넷 사용자들은 Cloudflare 네트워크 안에서 실패했다는 오류 페이지를 봤다.

    촉발

    11:05 UTC 에 Cloudflare 는 ClickHouse 사용자들이 암묵적으로 갖고 있던 r0 데이터베이스 하위 테이블 접근 권한을 명시적으로 주는 변경을 배포했다. Bot Management 피처 파일을 만드는 쿼리는 데이터베이스 이름으로 거르지 않았고, 이 변경 뒤 쿼리 결과에 중복 행이 섞이기 시작했다.

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

    11:31 UTC 에 첫 자동 테스트가 문제를 감지했고, 11:32 에 수동 조사가 시작됐으며, 11:35 에 장애 대응 통화가 열렸다.

    조치
    • 13:05 UTC 에 Workers KV 와 Cloudflare Access 를 내부 우회 경로로 돌려 이전 버전의 코어 프록시를 쓰게 했다. 이전 버전에도 같은 문제가 있었지만 영향이 작았다.
    • 14:24 UTC 에 새 Bot Management 설정 파일의 자동 배포를 멈췄다.
    • 알려진 정상 피처 파일을 피처 파일 배포 큐에 손으로 넣었다.
    • 코어 프록시를 강제로 재시작했다. 14:30 UTC 에 주된 영향이 풀렸다.
    • 쌓인 로그인 시도와 재시도로 느려진 대시보드를 컨트롤 플레인 동시성을 늘려 15:30 UTC 무렵 되살렸다.
    • 나쁜 상태에 빠진 나머지 서비스들을 재시작했고, 17:06 UTC 에 5xx 오류량이 평소로 돌아왔다.
    후속 조치
    • Cloudflare 가 직접 만든 설정 파일도 사용자 입력처럼 엄격하게 검증한 뒤 받아들인다.
    • 기능을 네트워크 전체에서 끌 수 있는 킬 스위치를 더 늘린다.
    • 코어 덤프나 다른 오류 보고가 시스템 자원을 다 써 버리지 못하게 한다.
    • 모든 코어 프록시 모듈이 오류가 났을 때 어떻게 실패하는지 검토한다.
  3. 증상

    2025년 8월 21일 16:27 UTC 부터 AWS us-east-1 에 오리진을 둔 고객과, us-east-1 의 서버를 거쳐 Cloudflare 와 트래픽을 주고받는 사용자에게 높은 지연, 패킷 손실, 오리진 연결 실패가 났다. 16:44 에 Cloudflare 네트워크 팀이 애시번 IAD 의 내부 혼잡 알림을 받았다.

    촉발

    16:27 UTC 쯤 한 고객이 AWS us-east-1 에서 Cloudflare 캐시에 있는 객체를 대량으로 요청하기 시작했다. 그 응답 트래픽이 Cloudflare 에서 AWS 로 가는 전체 트래픽을 두 배로 늘렸다.

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

    장애가 시작되고 17분 뒤인 16:44 UTC 에 Cloudflare 네트워크 팀이 애시번 IAD 의 내부 혼잡 알림을 받았다. 17:45 에는 애시번 IAD 의 고객 영향을 이유로 장애가 선언됐다.

    조치
    • 19:05 UTC 에 트래픽 급증을 일으킨 고객 하나에 속도 제한을 걸어 혼잡을 줄였다.
    • 네트워크 팀이 트래픽 엔지니어링 조치를 더 해 19:27 에 혼잡을 완전히 풀었다.
    • 19:45 부터 Cloudflare 의 요청에 따라 AWS 가 BGP 광고 철회를 되돌렸고, 20:07 에 IAD PNI 로 Cloudflare 에 보내는 BGP 프리픽스 광고를 정상으로 돌려놓았다.
    후속 조치
    • 한 고객의 트래픽이 다른 고객에게 영향을 줄 만큼 네트워크를 혼잡하게 만들기 시작하면 그 트래픽의 우선순위를 골라서 낮추는 장치를 만든다.
    • Data Center Interconnect 증설을 앞당겨 네트워크 용량을 지금보다 크게 늘린다.
    • AWS 와 함께 양쪽의 BGP 트래픽 엔지니어링 조치가 앞으로 서로 부딪치지 않게 한다.
    • 고객마다 네트워크 자원을 나눠 예산을 정하고, 예산을 넘긴 고객의 트래픽이 다른 고객의 서비스를 떨어뜨리지 못하게 하는 새 트래픽 관리 시스템을 만든다. 이 시스템은 이번에 손으로 한 혼잡 대응 조치 상당수도 자동화한다.
    교훈

    Cloudflare 는 이 사고로 한 고객의 사용 방식이 나머지 생태계를 해치지 못하게 막는 안전장치가 더 필요하다는 것이 드러났다고 했다. 어느 한 고객이 공유 자원을 독차지해 다른 고객의 안정성을 해치지 못하도록 고객 격리를 더 잘 설계해야 하고, 수요를 감당할 만큼 네트워크 인프라 용량을 늘려야 한다는 것을 핵심 교훈으로 꼽았다. 결론에서는 드물게 트래픽이 몰린 상황에서 네트워크 혼잡 관리가 모자라 장애가 났다고 했다.

  4. 증상

    17:52 UTC 에 WARP 팀이 새 기기 등록이 실패하는 것을 보고 장애를 선언했다. 18:05 에 Cloudflare Access 팀이 오류율 급증 알림을 받았고, 여러 서비스의 SLO 가 목표 아래로 떨어져 팀마다 알림이 울렸다.

    촉발

    Workers KV 의 중앙 저장소 일부를 받치던 서드파티 클라우드 공급자에 장애가 났고, KV 가 원본 저장소에서 값을 읽고 쓰지 못하게 됐다.

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

    17:52 UTC 에 Cloudflare WARP 팀이 새 기기 등록이 실패하는 것을 보고 조사를 시작해 장애를 선언했다. 18:05 에 Access 팀이 오류율 급증 알림을 받았고, 여러 서비스의 SLO 가 목표 아래로 떨어져 팀마다 알림이 울렸다. 18:06 에 Workers KV 를 쓸 수 없게 된 것이 공통 원인임을 찾아 서비스별 장애를 하나로 합쳤다.

    조치
    • Challenges 와 Turnstile 의 siteverify 호출을 끄는 킬 스위치를 켜 방문자가 막히지 않게 했다. 킬 스위치를 켜 둔 동안에는 siteverify API 가 유효한 토큰 하나를 여러 번 받아들일 수 있었다. 봇 탐지는 영향을 받지 않았다.
    • 19:09 UTC 에 Zero Trust Gateway 가 신원이나 Device Posture 상태를 참조하는 규칙을 단계적으로 약하게 만들어 Workers KV 의존을 덜었다.
    • 19:32 UTC 에 Access 와 Device Posture 가 서드파티 서비스가 돌아올 때까지 신원과 Device Posture 요청을 강제로 버려 Workers KV 의 부하를 줄였다.
    • 저장소가 계속 멈출 때를 대비해, 다른 저장소를 쓰는 Workers KV 릴리스를 배포하고 핵심 서비스가 설정 데이터를 그 저장소에 쓰게 할 방법을 계속 준비했다.
    • 20:25 UTC 에 서드파티 서비스가 회복되자 Access 와 Device Posture 가 Workers KV 호출을 되살렸다.
    후속 조치
    • Cloudflare 가 소유하지 않은 저장소 인프라 하나에만 기대는 구조를 없앤다.
    • Access, Gateway, WARP 같은 핵심 서비스를 복구하는 능력을 높인다.
    • Workers KV 저장소 인프라의 이중화를 강화해 어느 한 공급자에도 기대지 않게 하는 작업을 앞당긴다. 장애 중에 이미 핵심 KV 네임스페이스를 자체 인프라로 옮기고 백필하는 일을 시작했다.
    • 이번 장애로 영향을 받은 제품마다 피해 범위를 줄이는 단기 조치를 적용해, 서드파티 의존을 포함한 어떤 단일 장애 지점이 멈춰도 제품이 버티게 한다.
    • 저장소 인프라 장애 때 네임스페이스를 차례로 다시 켜는 도구를 만들어, 캐시를 다시 채우는 동안 Access 와 WARP 같은 핵심 의존 서비스가 자체 인프라에 서비스 거부를 일으키지 않고 올라오게 한다.
    교훈

    서드파티 공급자의 장애가 직접 원인이었지만 Cloudflare 는 어떤 의존을 고르고 그 의존을 감안해 시스템을 어떻게 설계하는지가 자기 책임이라고 밝혔다. 많은 서비스가 각자 저장소를 만들지 않고 Workers KV 에 기대는 것은 평소에는 서비스를 튼튼하게 하지만, 이번에는 KV 의 실패가 연쇄로 번져 피해 범위를 크게 넓혔다.

  5. 증상

    21:45 UTC 에 R2 전역 가용성 알림이 울렸다. 알림은 오류 예산 소진율 2% 를 가리켰고, R2 의 읽기와 쓰기 가용성 지표가 조금씩 계속 내려가고 있었다.

    촉발

    R2 엔지니어링 팀이 R2 Gateway 서비스의 스토리지 인프라 자격 증명을 교체하면서 wrangler secret put 과 wrangler deploy 에 --env 인자를 빠뜨렸다. 새 자격 증명은 운영 Worker 가 아니라 기본 환경 Worker 에 들어갔고, 그 뒤 스토리지 인프라에서 옛 자격 증명을 지웠다.

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

    21:45 UTC 에 R2 전역 가용성 알림이 울렸다. 알림은 오류 예산 소진율 2% 를 가리켰고, R2 엔지니어링 팀은 운영 대시보드와 로그를 보기 시작했다.

    조치
    • 22:45 UTC 에 올바른 운영 R2 Gateway Worker 에 자격 증명을 배포했고, R2 가용성이 돌아왔다.
    후속 조치
    • R2 Gateway Worker 가 스토리지 인프라 인증에 쓰는 자격 증명 ID 의 끝자리를 로그 태그에 넣어, 어떤 자격 증명을 쓰는지 바로 확인할 수 있게 했다.
    • 옛 토큰을 지우기 전에 새 토큰 ID 의 끝자리가 스토리지 인프라 로그와 맞는지 반드시 확인하도록 내부 절차를 바꿨다.
    • 키 교체를 wrangler 명령을 손으로 치는 대신 핫픽스 배포 도구로만 하도록 했다. 이 도구는 환경 설정을 강제하고 다른 안전 검사도 한다.
    • 변경을 적어도 두 사람이 확인한다는 관행을 관련 표준 운영 절차에 명시했다.
    • 엔드포인트를 감시하는 기존 폐루프 상태 검사 시스템을 넓힌다. 이 시스템이 새 키를 시험하고, 그 상태를 알림 플랫폼으로 자동 보고하고, 게이트웨이 Worker 를 배포하기 전에 새 키가 전역으로 퍼졌는지 확인하게 한다.
    • 분산 스토리지 엔드포인트의 문제를 빨리 가려내도록, 관측 플랫폼에 캐시를 거치지 않은 업스트림 성공률 화면을 더한다.
    교훈

    이번 장애는 사람의 실수로 일어났고, R2 Gateway Worker 가 어떤 자격 증명으로 스토리지 인프라에 인증하는지 볼 수 없어서 더 길어졌다. Cloudflare 는 옛 자격 증명을 지운 뒤 가용성 지표에 기대지 말고, R2 Gateway 서비스가 실제로 어떤 토큰을 쓰는지 직접 확인했어야 했다고 적었다.

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

이 7건에서 가장 많이 나오는 구성 요소: 데이터베이스, BGP 라우팅. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.

원인별6

설정 변경2건

  1. IL-0394 Cloudflare Miami 라우터가 내부 IPv6 경로를 BGP 피어와 트랜짓 제공자에게 유출해 25분 동안 백본이 혼잡해지고 트래픽이 드롭됐다
  2. IL-0283 Cloudflare 네트워크 전체에서 코어 프록시가 Bot Management 피처 파일을 읽다 실패해 사이트 방문자들이 HTTP 5xx 오류 페이지를 받았다

용량 한계1건

  1. IL-0341 Cloudflare 와 AWS us-east-1 사이 링크가 혼잡해져 그 리전에 오리진을 둔 고객이 높은 지연과 패킷 손실을 겪었다

클라우드 제공자 장애1건

구성 요소
  1. IL-0284 Workers KV 의 저장소 인프라가 멈춰 KV 에 기대는 Access, WARP, Gateway, 대시보드 같은 Cloudflare 서비스 여럿이 2시간 28분 동안 전 세계에서 실패했다

운영 실수1건

  1. IL-0378 Cloudflare R2 객체 스토리지에서 1시간 7분 동안 쓰기가 모두 실패하고 읽기가 전 세계에서 약 35% 실패했다

소프트웨어 결함1건

  1. IL-0340 Cloudflare 1.1.1.1 리졸버가 4시간 동안 일부 유효한 DNS 질의에 SERVFAIL 을 냈다

DNS·네트워크 장애1건

  1. IL-0240 인증 데이터베이스가 과부하에 걸려 Cloudflare API 와 대시보드가 6시간 33분 동안 실패하고 느려졌다