IL-0345 Render · 2020-12-06networking
Render Oregon 리전의 많은 서비스가 4시간 동안 503 오류를 평소보다 많이 냈다
2020년 12월 6일 13:34 PST, Render 의 Oregon 리전에 올라간 고객 API 하나가 들어온 요청을 타임아웃이 날 때까지 붙잡기 시작했다. Render 플랫폼에서 HTTP 요청을 나누는 로드 밸런싱 알고리즘은 이런 고장이 나면 고장 난 서비스로 가는 트래픽을 거부하도록 만들어져 있다. 그래야 TCP 연결이 바닥나 같은 로드 밸런서의 다른 서비스까지 영향을 받는 일을 막을 수 있다. 그런데 이 서비스는 Oregon 리전에서 요청을 가장 많이 받는 축에 들었다. 이 서비스의 고장이 로드 밸런싱 알고리즘의 버그를 드러냈고, 다른 서비스로 가는 요청까지 간헐적으로 503 으로 거부됐다. 모니터링이 바로 문제를 알렸고, 팀은 원인을 찾아 고칠 때까지 영향을 줄이는 조치를 했다. 한때 문제가 풀린 것처럼 보였다가 오류율이 다시 오르기도 했다. 장애는 17:33 PST 에 끝났다. 상태 페이지에는 01:53 UTC 에 수정을 적용하고 결과를 지켜본다는 공지가 올라왔다. Render 는 같은 장애를 막는 수정을 모든 로드 밸런서에 내보냈다.
- 심각도
- –
- 영향 범위
- many Render services in the Oregon region and the Render Dashboard
- 영향 사용자
- –
- 지역
- Oregon
- 감지까지
- –
- 복구까지
- 3h 59m
증상
2020년 12월 6일 13:34 PST 부터 Render 의 Oregon 리전에서 많은 서비스가 높은 비율로 503 Service Unavailable 응답을 냈다. 모니터링 시스템이 바로 문제를 알렸다.
상태 페이지는 21:57 UTC 에 조사를 시작했다고 알렸고, 23:40 UTC 에는 상위 로드 밸런서 일부가 나머지 인프라에 연결하는 데 문제가 있다고 밝혔다. 23:58 UTC 에 그 문제를 풀어 연결 문제가 사라진 것으로 보였지만, 00:59 UTC 에 연결 오류율이 다시 올랐다.
요청이 실패하는 서비스는 장애를 일으킨 고객 API 하나에 그치지 않았다. 같은 로드 밸런서를 거치는 다른 서비스들로 가는 요청도 간헐적으로 503 으로 거부됐다.
증상 오류율 상승
원인
원인 소프트웨어 결함
- 촉발
- 13:34 PST 에 Oregon 리전에 올라간 고객 API 하나가 들어온 요청을 붙잡고 있다가 타임아웃 오류로 끝내기 시작했다. 이 서비스는 Oregon 리전에서 요청을 가장 많이 받는 축에 들었다.
감지
13:34 PST 에 장애가 시작되자 모니터링 시스템이 바로 Render 팀에 알렸다.
조치
- 이번 같은 장애를 막는 수정을 모든 로드 밸런서에 내보냈다.
후속 조치
- Render 의 라우팅 계층과 로드 밸런싱 계층에서 서비스끼리 더 격리하는 장치를 만든다.
- 로드 밸런싱 코드의 테스트 범위를 넓힌다.
- 예상하지 못한 일이 생겨도 플랫폼이 버티도록, CI 테스트 스위트에 가상의 장애 상태를 더 넣는다.
- 카오스 엔지니어링에 다시 힘을 쏟는다.
교훈
–
출처
- https://status.render.com/incidents/rn1m41h82n5g · official-status · 보관본
관련 사례
IL-0150DynamoDB DNS 자동화의 경쟁 조건이 us-east-1 리전 엔드포인트의 DNS 레코드를 비워 DynamoDB 와 EC2 인스턴스 시작이 실패했고, 그 여파로 EKS, ECS, Fargate 의 컨테이너 시작과 클러스터 스케일링이 14시간 넘게 막혔다Amazon Web Services · 2025같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
IL-0131새로운 형태의 GenerateContent 요청이 Vertex AI 예측 API 서버에 세그폴트를 일으켰고, 동시에 재시작하는 서버가 늘자 서빙 용량이 모자라 여러 리전에서 오류가 치솟았다.Google Cloud · 2024같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
IL-0243Google External Proxy Load Balancing 뒤의 HTTP/S 엔드포인트가 전 세계에서 Google 404 오류를 냈다Google Cloud · 2021같은 원인 · 공통 클라우드 로드 밸런서
IL-0106잘못된 IngressRoute 매니페스트가 Traefik v2 버그를 건드려 Traefik 파드가 모두 재시작된 뒤 Kubernetes 의 모든 서비스가 404 를 냈다DFDS · 2021같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
IL-0338Google Cloud 의 HTTP(S) 로드 밸런서와 TCP/SSL Proxy 로드 밸런서가 32분 동안 요청의 33~87% 에 502 나 연결 재설정을 냈다Google Cloud · 2018같은 원인 · 공통 클라우드 로드 밸런서
IL-0395Google Cloud HTTP(S) Load Balancer 가 한참 오래된 구성으로 되돌아가 요청의 25%가 22분 동안 502 오류로 실패했다Google Cloud · 2017같은 원인 · 공통 클라우드 로드 밸런서
IL-0396새로 만들거나 라이브 마이그레이션한 GCE 인스턴스, Cloud VPN 터널, 네트워크 로드 밸런서가 2시간 8분 동안 공인 IP 주소로 연결되지 않았다Google Cloud · 2017같은 원인 · 공통 클라우드 로드 밸런서
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0345
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0345/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.