IL-0555 Sentry · 2024-10-21networking
한 수집 리전에 밀린 트래픽이 다른 엣지 리전으로 번져 Sentry US 의 이벤트 수집이 트래픽을 거부했다
2024년 10월 4일, 16일, 21일에 Sentry 는 근본 원인이 같은 사고를 세 번 겪었다. 계기는 사고마다 달랐지만 장애가 번지는 순서는 같았다. 수집 리전 하나에 밀린 트래픽이 늘었고, 그 리전에서 빠져나간 트래픽이 다른 리전으로 옮겨 갔으며, 트래픽을 받은 리전에도 트래픽이 밀려 쌓이면서 그 리전이 트래픽을 거부했다. 10월 21일에는 US SaaS 에서 오전 9시 42분부터 10시 6분 PT까지 데이터를 수집하지 못했다.
영향이 가장 컸던 부분의 근본 원인은 엣지 설계의 확장 결함이었다. 엣지는 수집에 관여하는 서버들의 CPU 부하를 기준으로 오토스케일링했는데, CPU 로는 영향을 알아채는 데 시간이 너무 걸렸다. 트래픽이 느려지거나 옮겨 갈 때 오토스케일링은 너무 늦게 반응하거나 아예 잘못된 방향으로 확장했다. 느려짐이 CPU 가 아니라 iowait 로 나타나면 확장은 전혀 일어나지 않았다. 이 확장 실패가 연쇄적으로 번져 US 리전의 고객에게 영향을 주었다.
Sentry 는 앞선 사고들에서 이 문제를 발견했고 몇 주 전부터 개선 작업을 하고 있었다. 엣지 리전을 더 작게 여러 개로 나누고, 오토스케일링 규칙의 신호를 바꾸고, 축소 속도를 늦춘 뒤 안정성과 회복 속도가 크게 나아졌다고 밝혔다.
- 심각도
- –
- 영향 범위
- Sentry US event ingestion (errors, transactions, attachments, profiles, replays, spans, cron monitoring): backlogs and rejected traffic; no data ingested in US SaaS from 9:42 to 10:06 AM PT on 21 October 2024
- 영향 사용자
- –
- 지역
- US
- 감지까지
- –
- 복구까지
- 24m
증상
2024년 10월 4일, 16일, 21일에 Sentry 의 이벤트 수집에서 오류가 늘었다. 수집 리전 하나에 밀린 트래픽이 쌓였고, 그 리전에서 빠져나간 트래픽을 받은 다른 리전에도 트래픽이 밀려 쌓이면서 트래픽이 거부됐다.
10월 21일에는 US SaaS 에서 오전 9시 42분부터 10시 6분 PT까지 데이터를 전혀 수집하지 못했다. 영향은 US 의 오류, 트랜잭션, 첨부 파일, 프로파일, 리플레이, 스팬 수집과 크론 모니터링에 미쳤다.
사고마다 실제 장애는 몇 분이었지만 정리 작업과 고객이 보는 영향은 그보다 길게 이어졌다. 세 사고는 10월 초에 있었던 다른 사고들과도 관련이 있었다.
원인
원인 용량 한계
- 촉발
- 세 사고는 계기가 각각 달랐지만, 세 번 모두 수집 리전 하나에서 밀린 트래픽이 늘어나면서 시작했다.
감지
–
조치
–
후속 조치
- 연쇄 장애의 가능성을 줄이려고 엣지 리전을 더 작게 더 많이 만들었다. 남아메리카에 첫 리전을 열고, 북아메리카와 유럽에는 하나씩이던 리전을 둘로 늘려 모두 세 리전을 더했다.
- 오토스케일링 규칙이 원래의 CPU 부하 지표보다 더 강한 신호를 잡도록 바꿨다.
- iowait 때문에 요청이 밀릴 때 축소가 일어나지 않도록 축소 속도를 낮췄다.
- 오토스케일링 규칙과 민감도를 더 다듬을 수 있도록 엣지가 내는 지표를 개선한다.
교훈
–
출처
- https://status.sentry.io/incidents/tft6bj7h9yg8 · official-status · 보관본
관련 사례
같은 원인 · 공통 CDN 과 엣지 네트워크
같은 원인 · 공통 CDN 과 엣지 네트워크
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0555
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0555/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.