IL-0346 Render · 2025-11-05networking
Oregon 리전의 웹 서비스와 정적 사이트가 간헐적으로 404 응답을 냈다
Render 의 라우팅 서비스는 트래픽을 보낼 사용자 서비스의 정보를 메타데이터 서비스에서 받는다. 라우팅 서비스는 처음 시작할 때와 가끔 다시 연결할 때 메타데이터 서비스에서 많은 양의 데이터를 받는다. Render 는 2025년 초 두 서비스 사이의 데이터 전송에 드는 메모리를 줄이는 최적화를 기능 플래그로 켜고 끌 수 있게 해서 배포했다. 10월 말에는 코드에서 플래그를 지우고 다시 배포했지만, 아직 플래그에 기대던 메타데이터 서비스는 다시 배포하지 않았다.
11월 5일, 코드가 더는 참조하지 않는 기능 플래그를 정리하자 메타데이터 서비스가 옛 전송 방식으로 돌아가 메모리가 바닥나고 죽었다. 라우팅 서비스는 메타데이터 서비스가 멈춰도 마지막으로 알던 상태로 트래픽을 계속 처리하도록 설계돼 있었다. 그런데 초기 상태를 받지 못한 새 인스턴스에도 요청이 잘못 보내졌고, 이 인스턴스들이 404 를 냈다. 첫 구간에는 클러스터 두 곳에서 메타데이터 서비스가 죽고 있었고 라우팅 서비스 인스턴스 중 일부만 영향을 받았다. 두 번째 구간에는 영향을 받은 클러스터의 서비스로 가는 HTTP 요청이 크게 늘어 라우팅 서비스가 스케일 업했고, 새로 뜬 인스턴스는 모두 404 를 냈다.
Render 는 메타데이터 서비스의 메모리를 늘리고, 기능 플래그를 잠시 다시 켜 효율적인 전송 방식을 되살렸으며, 메타데이터 서비스가 플래그 없이 동작하도록 다시 배포했다. 상태 페이지에는 19:19 UTC 에 조사를 시작했다는 글이 올라갔고, 21:52 UTC 에 사고가 해결로 닫혔다.
- 심각도
- –
- 영향 범위
- Web services and static sites in two Oregon clusters returned intermittent 404 responses, about 10% of requests in one cluster in the first period and about 50% in the affected cluster in the second; newly created services got 404, updates to existing services propagated slowly, and recently deployed or waking free tier services were affected
- 영향 사용자
- Some customers hosting web services and static sites in the Oregon region
- 지역
- Oregon
- 감지까지
- –
- 복구까지
- 1h 55m
증상
Oregon 리전에 배포한 일부 웹 서비스와 정적 사이트가 간헐적으로 404 응답을 냈다. 장애 동안 이 클러스터들에 새로 만든 서비스는 모두 404 를 받았다.
영향은 두 구간으로 나뉘었다. PST 기준 오전 10시 39분부터 11시 25분까지는 클러스터 두 곳의 서비스가 조금 나빠졌고, 한 곳은 404 가 아주 적었으며 다른 한 곳은 요청의 약 10% 가 404 를 받았다. 오전 11시 59분부터 오후 12시 34분까지는 영향이 더 커져, 영향을 받은 클러스터의 서비스로 가는 전체 요청의 약 50% 가 404 를 받았다.
기존 서비스의 변경 사항은 반영되는 데 오래 걸렸다. 최근에 배포했거나 잠자기 상태에서 깨어나던 무료 등급 서비스도 영향을 받았다.
증상 오류율 상승
원인
- 촉발
- 2025-11-05 에 코드에서 더는 참조하지 않는 기능 플래그를 시스템에서 정리했다. 이 플래그에 아직 기대던 메타데이터 서비스가 효율이 낮은 옛 데이터 전송 방식으로 돌아갔다.
감지
–
조치
- 메타데이터 서비스가 쓸 수 있는 메모리를 늘렸다. 이 조치는 나중에 되돌렸다.
- 라우팅 서비스와 메타데이터 서비스 사이에 효율적인 데이터 전송을 쓰도록 기능 플래그를 잠시 다시 켰다. 이 플래그는 나중에 지웠다.
- 메타데이터 서비스가 더는 기능 플래그에 기대지 않도록 다시 배포했다.
후속 조치
- 메타데이터 서비스의 모니터링을 보강해 이번과 같은 방식의 장애가 나면 알림이 오게 했다.
- 아직 서비스가 값을 읽고 있는 기능 플래그는 지울 수 없도록 기능 플래그 관리 관행을 고친다.
- 메타데이터 서비스에서 상태를 한 번도 받아 오지 못한 라우팅 서비스 인스턴스에는 트래픽이 가지 않게 한다.
교훈
–
출처
- https://status.render.com/incidents/h255yv1rsq2d · official-status · 보관본
관련 사례
같은 원인 · 공통 서비스 디스커버리
같은 원인 · 공통 클라우드 로드 밸런서
IL-0192Crossplane 컴포지션의 병합 정책 변경이 Service 타입을 ClusterIP 로 바꿔 클라우드 로드 밸런서가 지워지고 Grafana Cloud 서비스의 약 25%가 끊겼다.Grafana Labs · 2025같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 서비스 디스커버리
IL-0473Azure 공개 쿠버네티스 클러스터의 노드 풀이 모두 지워지고 다시 만들어지지 않아 Jenkins 인프라 서비스가 4시간 넘게 멈췄다Jenkins project · 2023같은 원인 · 공통 클라우드 로드 밸런서
IL-0513쿠버네티스 노드 순차 재시작 중 Ingress 가 관리하는 ELB 의 HTTPS 리스너가 꺼져 PyPI 백엔드에 HTTPS 로 닿지 못했다Python Software Foundation · 2022같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
IL-0191Loki distributor 서비스에 레이블 셀렉터가 하나 더 들어가 롤아웃 중 새 파드 몇 개에만 쓰기 트래픽이 몰렸고, 그 파드들이 OOM으로 죽으면서 로그 쓰기 경로가 약 25분간 멈췄다.Grafana Labs · 2022같은 원인 · 공통 서비스 디스커버리
IL-0208GitLab Helm 차트 업그레이드가 Service 와 Deployment 의 포트 이름을 바꿔 GCP 로드 밸런서가 다시 구성되는 동안 GitLab.com 요청이 느려지고 50x 오류가 났다GitLab · 2022같은 원인 · 공통 클라우드 로드 밸런서
IL-0111메인 인그레스 컨트롤러를 Traefik v2 로 바꾸자 X-Forwarded 헤더가 전달되지 않아 Okta 로그인이 깨졌고, DFDS 온라인 예약이 한 시간 넘게 멈췄다DFDS · 2021같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 클라우드 로드 밸런서
IL-0052인증 없이 인터넷에 열린 Weave Scope 대시보드를 통해 암호화폐 채굴기가 개발 클러스터와 스테이징 클러스터의 모든 노드에서 돌았다.JW Player · 2019같은 원인 · 공통 클라우드 로드 밸런서
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0346
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0346/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.