Cloudflare incident on November 14, 2024, resulting in lost logs
The Cloudflare Blog
Cloudflare는 항상 발생한 장애를 투명하고 자세하게 공개하기 때문에 좋아합니다. 각 회사마다 상황은 다르지만 다른 회사가 겪은 장애에서 배울수 있는 것도 많고 설계할 때 고려할 수 있는 부분도 많이 배울 수 있습니다.
지난 11월 14일 Cloudflare에서 3.5시간 정도 고객이 전송하는 로그의 55%가 유실되는 장애가 발생했습니다. Cloudflare Logs는 모든 이벤트 로그를 고객이 볼 수 있도록 제공하는 기능인데 하루에 4조 5천억개의 이벤트 로그를 전송하고 있습니다.
이 시스템에는 로그를 일정 크기로 사용자에게 푸시하는 Logpush가 있습니다. 글로벌 네트워크에서 Logfwdr이라는 컴포넌트가 로그를 받아서 Logreceiver로 보내게 되고 Logreceiver는 Buftee 컴포넌트로 보내서 버퍼링되는 데 사용자별로 따로 버퍼링하기 때문에 문제가 발생해서 고객간에는 영향을 주지 않는 구조로 만들어졌습니다. Logpush는 Buftee에서 로그를 읽어서 고객에게 전달하게 되고 이 모두는 Golang으로 작성되었습니다.
이번 장애는 Logfwdr에 새로운 구성을 추가하다가 실수로 빈 내용의 구성이 적용되었고 이를 인지하고 5분 이내에 롤백했습니다. 하지만 이 시스템을 구축한 초창기에 안정장치로 Logfwdr 구성을 사용할 수 없는 경우에는 로그 손실을 방지하기 위해 Logpush를 성정하지 않은 모든 고객에게 로그를 보내도록 만들어져 있었습니다. 이번 실수로 이 안정장치가 발동되었고 이 과부하로 인해서 Buftee는 엄청나게 많은 버퍼를 만들게 되었고 이를 복구하는데 몇시간이 걸렸다고 합니다.
https://blog.cloudflare.com/cloudflare-incident-on-november-14-2024-resulting-in-lost-logs/
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 12월 15일 오전 3:27