Incident Library
적용된 필터 증상오래된 엔드포인트 라우팅기여 요인한계 경보 부재모두 풀기검색어 없이 필터만 적용한 목록입니다. 최근 사례부터입니다.
추천 필터 검색하면 검색어에서 찾은 분류 값이 여기에 나옵니다.

그래프

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

사례2건

2건 중 1~2번째

  1. 증상

    us-central1 에서 새로 만든 VM 은 네트워크가 동작하기까지 오래 기다려야 했고, 라이브 마이그레이션된 VM 은 마이그레이션 뒤 오래 연결을 잃었다. us-central1 을 오가는 리전 간 트래픽에서 패킷 손실이 났다. 기존 VM 중 마이그레이션되지 않고 상태도 바뀌지 않은 VM 은 직접 영향을 받지 않았다.

    촉발

    관리 플레인의 동작 변경이 us-central1 에 배포됐다. 이 변경은 로드 밸런서 백엔드로 쓰는 GCP Instance Group 과 Network Endpoint Group 의 API 업데이트 처리를 더 잘 분리하려는 것이었다. 이 리전의 큰 워크로드 규모 때문에 가상 네트워크 라우터 컨트롤 플레인의 메모리가 예상 밖으로 늘었다.

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

    엔지니어들은 10월 4일 미국 태평양 시간 21:45 에 us-central1 가상 네트워크 컨트롤 플레인이 느리다는 알림을 받았고, 10월 5일 02:11 에 가상 네트워크 라우터 컨트롤러가 메모리를 다 써서 실패한다는 알림을 받았다. 03:08 부터는 네트워크 텔레메트리가 us-central1 을 오가는 리전 간 패킷 손실을 보여 주었다.

    조치
    • 컨트롤러에 메모리를 더 할당하는 변경을 배포했고, 이 변경은 미국 태평양 시간 05:27 부터 운영 환경에 닿았다. 08:15 에 리전 안 패킷 손실이 가라앉았다.
    • 08:52 에 관리 플레인 변경의 롤백을 시작해 09:35 에 us-central1 에서 마쳤고, 이때 메모리 부족이 모두 멈췄다.
    • 업데이트를 받지 않던 라우터 몇 대를 손으로 재시작했다. 이 재시작으로 패킷 손실이 더 생기지는 않았다.
    후속 조치
    • 메모리 위험과 예상 밖의 메모리 증가를 미리 알리는 알림을 만든다.
    • 엔지니어가 메모리를 훨씬 빨리 다시 할당할 수 있도록 배포 설정을 다시 짠다.
    • API 조정 작업의 기존 관행과 안전장치를 다시 평가하고 새 관행과 안전장치를 만든다.
    • 관리 플레인 변경을 여러 팀이 더 잘 볼 수 있게 해 장애와 더 빨리 연결 짓게 한다.
    • 리전 단위 API 변경 때문에 리전 전체의 메모리가 한꺼번에 바닥나는 일이 줄도록 배포 구성을 바꾼다.
    • 트래픽 라우터와 컨트롤러의 메모리를 최적화해 불필요한 부담을 없앤다.
  2. 증상

    2020년 5월 12일 태평양 시간 오후 4시 45분 무렵, Slack 이 평소보다 많은 HTTP 503 오류를 내고 있다는 알림이 왔다. 사용자에게 보이는 장애가 이때 시작됐다.

    촉발

    미국 업무 시간이 끝나 트래픽이 줄자 webapp 계층이 축소되기 시작했다. 자동 확장은 오래된 인스턴스부터 종료하므로, HAProxy 상태에 남아 있던 오래된 webapp 서버만으로는 요청을 감당하지 못하게 됐다.

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

    평소보다 HTTP 503 오류가 많다는 알림으로 알아챘다. 이 상황을 직접 잡도록 만든 알림은 고장 나 있어 울리지 않았다.

    조치
    • HAProxy 서버 전체를 순차 재시작했다.
    후속 조치
    • 모든 인그레스 로드 밸런싱을 Envoy Proxy 로 옮기고, HAProxy 서버 상태를 바꾸던 파이프라인을 Envoy 가 xDS 컨트롤 플레인에서 엔드포인트를 받는 방식으로 바꾼다.
    교훈

    변화가 적은 시스템은 엔지니어가 모니터링과 알림을 들여다볼 일이 적어서, 알림이 고장 나도 오래 모른 채 지나간다. HAProxy 서버 상태를 바꾸는 복잡한 파이프라인에는 이번 장애가 드러낸 것 같은 운영상의 위험이 있다.

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

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

원인별2