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

사례8건

8건 중 3~7번째

  1. 증상

    Terraform 변경을 전 세계 Relay 클러스터에 적용하던 중 01:40 UTC 에 us-east4 와 europe-west6 두 클러스터의 연결 수가 줄어드는 것이 보였다. Client 와 Connector 는 두 클러스터를 찾을 수는 있었지만 접속할 수는 없어 교착 상태에 빠졌다.

    촉발

    2023년 2월 14일 01:00 UTC 에 Relay 클러스터 인프라에 스팟 인스턴스 스케일링을 넣는 Terraform 변경을 전 세계 모든 Relay 클러스터에 적용하기 시작했다. 적용에는 약 45분이 걸렸다.

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

    01:40 UTC 에 엔지니어들이 us-east4 와 europe-west6 두 클러스터의 연결 수가 줄어든 것을 보고 조사를 시작했다.

    조치
    • 02:04 UTC 에 영향을 받은 두 클러스터의 파드를 꺼서 Client 와 Connector 가 다음으로 가까운 Relay 클러스터로 다시 붙게 했다.
    • 03:30 UTC 에 Terraform 설정 오류를 고치고 영향을 받은 클러스터를 다시 배포했다.
    후속 조치
    • 스테이징 환경에 Relay 클러스터의 크기 차이와 설정 차이를 정확히 반영한다.
    • 기능 개발 브랜치에서 운영의 모든 설정 변형을 포함해 모든 환경의 Terraform plan 을 자동으로 만든다.
    • 필요한 네트워크 방화벽 태그가 없으면 Connector 와 Client 가 그 클러스터를 발견하지 못하도록 Relay 헬스 체크를 강화한다.
    • Relay 클러스터 인프라에 Terraform 으로 단계적 롤아웃을 하는 방법을 조사하고 도입한다.
    • 중기 계획으로 Connector 가 여러 클러스터에 연결할 수 있게 해 리전 단위의 Relay 클러스터 문제를 자동으로 처리한다.
  2. 증상

    2023-01-25 07:08 UTC 부터 Azure 리전의 리소스와 Microsoft 365, Power Platform 같은 Microsoft 서비스에 연결할 때 네트워크 지연이 길어지거나 타임아웃이 났다. 모니터링은 07:11 UTC 부터 DNS 와 WAN 문제를 잡았고, 명령을 실행하고 5분 안에 당직 엔지니어에게 알림이 갔다.

    촉발

    07:08 UTC 에 마드리드에서 전 세계 WAN 에 용량을 더하던 엔지니어가, 다시 검증하지 않은 표준 운영 절차대로 IGP 데이터베이스를 비우는 명령을 실행했다. 이 명령은 한 제조사의 라우터에서는 로컬 라우터에 그치지 않고 IGP 로 이어진 모든 라우터에 IGP 토폴로지 데이터베이스를 다시 계산하라고 지시했다.

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

    모니터링이 07:11 UTC 부터 DNS 와 WAN 문제를 잡았고, 명령을 실행하고 5분 안에 당직 엔지니어에게 알림이 갔다. 변경하던 엔지니어는 바뀐 절차 때문에 이 알림을 전달받지 못했다. 팀은 최근 변경을 모두 살펴 08:20 UTC 에 문제의 명령을 찾았다.

    조치
    • WAN 라우팅이 수렴한 뒤에도 남은 패킷 손실을 없애려고, 사고 중 멈춰 있던 비정상 장비 제거 시스템과 트래픽 엔지니어링 시스템을 손으로 다시 시작했다. 12:43 UTC 에 복구를 마쳤다.
    후속 조치
    • 세 제조사 전부와 모든 WAN 라우터 역할을 대상으로, 넓은 영향을 줄 수 있는 비슷한 명령을 감사하고 막는다. 2023년 2월에 끝낼 예정이다.
    • 승인된 자동화와 승인된 비상 접근인 break glass 작업, 승인되지 않은 장비 작업을 실시간으로 보여 줘, 당직 엔지니어가 누가 네트워크 장비에서 무엇을 바꾸는지 볼 수 있게 한다. 2023년 2월에 끝낼 예정이다.
    • 정기적인 필수 운영 교육과 모든 표준 운영 절차를 지키겠다는 확인 절차를 도입해 절차를 계속 개선한다. 2023년 2월에 끝낼 예정이다.
    • 아직 검증을 기다리는 표준 운영 절차를 모두 감사하고, 엔지니어 의견을 받아 30일 안에 Change Advisory Board 검토를 우선 받게 한다. 2023년 4월에 끝낼 예정이다.
  3. 증상

    09시 39분에 알림이 울렸다. 첫 알림은 eqiad 의 Icinga 가 싱가포르 eqsin 의 공인 text-lb 주소에 닿지 못해서 울렸다.

    촉발

    09시 37분쯤 cr1-eqiad 와 cr2-eqiad 에서 BGP 경로 선택에 영향을 주려고 BGP 설정 하나를 뺐다. 이 설정은 BGP "MED" 속성 값을 BGP 경로의 다음 홉까지 가는 OSPF 비용으로 정했다. 설정을 뺀 것은 T295672 작업의 일부였다.

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

    09시 39분에 알림이 울렸다. eqiad 의 Icinga 가 eqsin 같은 엣지 캐시 클러스터를 상태 검사하다가 eqsin 의 공인 text-lb 주소에 닿지 못했다.

    조치
    • 09시 42분 cr1-eqiad 와 cr2-eqiad 두 장비에서 설정 변경을 되돌렸다. 정책이 바뀔 때 경로가 갱신되는 방식 때문에 이것만으로는 바로 풀리지 않았다.
    • 09시 51분 eqiad 라우터 사이의 BGP 세션을 강제로 재설정했고, 문제가 풀렸다.
    후속 조치
    • T295672 티켓에 사고 내용을 더 자세히 적고, "second IXP port" 문제를 다루면서 같은 일이 다시 나지 않도록 BGP 세션을 조정하자는 제안을 올렸다.
  4. 증상

    2021년 10월 25일 11시 16분쯤부터 KT 의 DNS 서버로 들어오는 트래픽이 갑자기 늘었고, 이어서 전국에서 KT 인터넷이 끊겼다. KT 는 11시 20분에 인터넷 장애를 알아챘다.

    촉발

    KT 부산국사에서 기업망 라우터를 교체하던 작업자가 IS-IS 설정 명령을 마무리하면서 exit 명령을 빠뜨렸다. 그 바람에 뒤의 설정이 BGP 와 연결돼, BGP 로 주고받아야 할 경로 정보가 IS-IS 로 전송됐다.

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

    11시 16분부터 DNS 서버 트래픽이 급증했고, KT 는 11시 20분에 인터넷 장애를 알아챘다. 정부도 네트워크 트래픽 모니터링에서 트래픽 증가를 보고 현장에 나가 조사했다. KT 는 처음에 DDoS 공격을 의심했다가 11시 44분 라우팅 오류로 판단했다.

    조치
    • 먼저 문제가 된 부산 라우터를 망에서 고립시켰다.
    • 망이 더 나빠지지 않는 상태를 만든 뒤 지역 라우터마다 접속해 확인하고, 문제가 된 프로세스를 지우고 다시 살려 정상화했다.
    후속 조치
    • 주요 통신사업자의 네트워크 작업 체계와 기술적 오류 확산 방지 체계 같은 네트워크 관리 체계를 점검한다.
    • 주요 통신사업자가 네트워크 작업으로 생길 오류를 미리 진단하는 시뮬레이션 시스템을 도입하도록 검토한다.
    • 주요 통신사업자는 승인된 작업계획서의 내용과 절차를 지켰는지 NMS센터와 네트워크관제센터에서 직접 기술적으로 점검하는 체계를 갖춘다.
    • 라우팅 작업 때 한 번에 갱신되는 경로 정보의 개수를 일정 수준 이하로 제한하는 식으로 안전장치를 강화한다.
    • 통신 장애 모니터링 체계를 강화하고, AI 로 예방 진단과 대응을 더 빠르게 하는 기술처럼 네트워크의 안정성과 복원력을 높이는 기술을 개발한다.
    • 안정적인 망 구조와 네트워크 생존성을 확보하는 구조적 대책을 추진한다.
    • 장애를 홈페이지 공지에 그치지 않고 SNS 와 문자를 비롯한 여러 수단으로 알릴 수 있게 고친다.
    교훈

    조사반은 이 장애를 관리 문제와 기술 문제로 나눠 정리했다. 승인된 작업 시간은 야간이었지만 작업은 주간에 관리자 없이 네트워크를 연결한 채 진행됐다. 사람이 직접 검토하는 1·2차 사전검증도 빠진 exit 를 찾지 못했다. 설정을 미리 돌려 볼 가상 테스트베드와 한 지역의 오류가 전국으로 번지는 것을 막는 장치가 없어서 라우터 하나의 실수가 전국 장애가 됐다. 정부는 3년 전 KT 아현국사 화재 뒤의 대책이 물리적이고 국지적인 재난에 맞춰져 있었고, 이번 장애는 시스템 전체에 번지는 새로운 종류였다고 밝혔다.

  5. 증상

    2021-10-13 09:20 CET 에 네트워크 설정을 바꾸던 중 문제가 생겼고, 09:21 CET 에 팀이 라우터 성능 문제를 감지해 곧바로 에스컬레이션했다. IPv6 트래픽은 계속 정상으로 오갔다.

    촉발

    늘어나는 DDoS 공격에 맞서 방어 설정을 강화하려고 미국 Vint Hill 데이터 센터의 라우터에 계획된 변경을 하던 중이었다. 이때 라우터가 BGP 경로를 OSPF 로 재분배하는 설정을 조절하려던 명령을 제대로 해석하지 못했다.

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

    변경 작업 중이던 09:21 CET 에 팀이 라우터 성능 문제를 감지하고 곧바로 에스컬레이션 절차를 시작했다.

    조치
    • 연결을 격리해 서비스를 최대한 빨리 되살리려고, 10:02 CET 에 데이터 센터 기술자에게 광 장비 연결을 먼저 끊어 달라고 요청했다.
    • 10:10 CET 에 고장 라우터의 전원을 끄기로 했고, 10:18 CET 에 장비를 껐다. 네트워크가 수렴하는 데 2분이 걸렸고 10:20 CET 에 첫 서비스가 돌아왔다.
    • 10:30 CET 부터 남은 서비스를 모두 되살리려고 연결 안정화 작업을 시작했다. 10:57 CET 에 기술적으로 위기가 끝났다.
    후속 조치
    • 명령줄을 그대로 적용하는 이 종류의 장비에서 변경 절차를 다시 평가한다.
    • 평가 결과에 맞춰 관련 변경 절차를 강화한다.
내 클러스터에도 있는지 확인하기

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

원인별1

설정 변경8건

  1. IL-0400 웨일스 공공 부문 광역 네트워크 PSBA 에서 웨일스 전역의 기관 사이트가 연결과 인터넷 접속을 잃었고, 관리 링크도 계속 끊겼다 붙었다
    PSBA2026
  2. IL-0473 Azure 공개 쿠버네티스 클러스터의 노드 풀이 모두 지워지고 다시 만들어지지 않아 Jenkins 인프라 서비스가 4시간 넘게 멈췄다
  3. IL-0541 Twingate 의 us-east4 와 europe-west6 Relay 클러스터에 Client 와 Connector 가 접속하지 못했다
  4. IL-0225 라우터 명령 하나가 Microsoft WAN 의 모든 라우터에 토폴로지를 다시 계산하게 해 전 세계 Azure 네트워크 연결이 불안정해졌다.
  5. IL-0266 eqiad 코어 라우터 두 대 사이에 라우팅 루프가 생겨 eqiad 가 다른 데이터센터의 공인 IP 주소에 닿지 못했다
  6. IL-0539 잘못된 경로 정보가 IS-IS 로 전국 라우터에 퍼져 KT 인터넷이 약 89분 동안 끊겼다
    KT2021
  7. IL-0228 라우터 설정 변경 중 인터넷 전체 라우팅 테이블이 IGP 로 광고돼 OVHcloud 전 세계 네트워크의 IPv4 라우팅이 멈췄다.
  8. IL-0519 AWS 보안 그룹 변경으로 cloud.gov PaaS 의 나가는 트래픽이 막혀 애플리케이션들이 멈췄다