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

사례7건

7건 중 1~5번째

  1. 증상

    2023년 2월 12일 Linode US-West 리전의 고객이 자기 Linode 에 접속하지 못했다. 상태 페이지는 10:22 UTC 에 US-West 의 연결 문제 신고를 조사 중이라고 알렸고, 12:52 에 다시 연결 문제 신고가 들어왔다고 알렸다.

    촉발

    2월 11일 17:45 UTC 에 US-West 두 데이터 센터를 잇는 A 쪽 다중 광섬유 회선의 링크 하나가 끊겼고, 2월 12일 2:45 UTC 에 이중화 짝인 B 쪽 회선 전체가 끊겼다. 하드웨어 업체와 함께 원인을 조사하던 중에는 시스템에 영향을 주지 않는 명령 하나가 드문 버그를 건드려 A 쪽 링크가 모두 끊겼다.

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

    2월 12일 10:22 UTC 상태 페이지에 US-West 리전의 연결 문제 신고를 조사 중이라는 공지가 올라왔다. 12:52 UTC 에는 연결 문제 신고가 더 들어와 다시 살펴보기 시작했다.

    조치
    • 2월 12일 10:13 UTC, Santa Clara 보더 라우터에서 인터넷 트래픽을 모두 뺀 변경을 되돌려 서비스를 살렸다.
    • 버그를 피하려고 두 회선의 코드를 긴급히 업그레이드했다. 업그레이드는 16:25 UTC 에 끝나 연결이 돌아왔고, 17:29 UTC 까지 트래픽이 A 쪽 경로로 돌아왔다.
    • 하드웨어 업체, 광섬유 제공자와 함께 B 쪽 고장 지점을 찾아, 2월 14일 18:30 UTC 에 B 쪽 경로를 살리고 US-West 두 사이트 사이 이중화를 모두 되찾았다.
  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. 증상

    16시 37분 UTC 에 Icinga 가 cr3-eqsin 의 BGP 상태가 CRITICAL 이라고 알렸고, 몇 분 뒤 eqsin 의 호스트들이 한꺼번에 DOWN 으로 떴다. 호출 알림 세 건이 동시에 울렸고 그중 두 건은 batphone 으로 올라갔다.

    촉발

    eqsin 을 코어 데이터센터에 잇는 전송 회선 두 개 중 하나는 오래 이어진 광케이블 절단으로 끊겨 있었다. 남은 하나가 전송 회선 공급사 Arelion 의 계획 작업 PWIC225900 으로 내려갔다.

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

    자동 모니터링이 먼저 잡았다. 16시 37분 UTC 에 Icinga 가 cr3-eqsin 의 BGP 상태 CRITICAL 을 알렸고, 이어서 cr2-eqsin 의 BGP 상태와 eqsin 호스트들의 DOWN 알림이 울렸다. 호출 알림 세 건이 동시에 울렸고 그중 두 건이 batphone 으로 올라갔다.

    조치
    • 16시 48분 UTC 에 eqsin 을 DNS 에서 뺐다.
    • 나중에 eqsin 을 다시 DNS 에 넣었다.
    후속 조치
    • 백업 GRE 터널을 만든다. 작업은 T327265 이다.
    • 오래 끊겨 있던 전송 회선이 수리된 뒤 제대로 다시 올라오는지 확인한다. 작업은 T322529 이다.
    • 공급사의 점검 알림을 자동으로 읽어 들여 점검 일정이 서로 겹치면 알린다. 작업은 T230835 이다.
    교훈

    eqsin 을 DNS 에서 빨리 뺀 것이 잘됐고, 먼저 빼고 나중에 조사한다는 태도가 맞았다. 잘못된 것은 세 가지였다. eqsin 이 너무 오래 전송 회선 하나로만 버텼다. 두 전송 회선이 겹쳐서 내려가는 것을 SRE 들이 잡지 못했다. 공급사의 계획 작업이 작업 티켓이나 알림으로 남지 않았다. 알림은 맞게 울렸지만 IRC 에서 감당하기 어려울 만큼 많았다.

  4. 증상

    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 에 기술적으로 위기가 끝났다.
    후속 조치
    • 명령줄을 그대로 적용하는 이 종류의 장비에서 변경 절차를 다시 평가한다.
    • 평가 결과에 맞춰 관련 변경 절차를 강화한다.
  5. 증상

    Facebook 데이터 센터 사이의 서버 연결과 데이터 센터와 인터넷 사이의 서버 연결이 한꺼번에 완전히 끊겼다. DNS 서버는 동작하고 있었지만 인터넷에서 닿지 않아 누구도 Facebook 서버를 찾을 수 없었다. 백본이 통째로 빠지자 DNS 서버가 있는 작은 시설들이 스스로 비정상이라고 판단해 BGP 광고를 거둬들였기 때문이다.

    촉발

    일상적인 유지보수 작업 중에 전 세계 백본 용량의 가용성을 평가하려고 내린 명령이 의도치 않게 백본 네트워크의 모든 연결을 끊었다. 이런 명령을 검사해 실수를 막는 감사 도구가 버그 때문에 이 명령을 멈추지 못했다.

    원인
    구성 요소
    기여 요인
    조치
    • 주 네트워크 접근과 out-of-band 접근이 모두 끊겨, 팀은 엔지니어를 데이터 센터 현장에 보내 문제를 디버깅하고 시스템을 다시 시작하게 했다.
    • 보안 접근 절차를 거쳐 현장 인력이 서버를 다룰 수 있게 된 뒤 문제를 확인하고 백본을 다시 온라인으로 올렸다.
    • storm 훈련에서 얻은 경험을 살려 서비스를 다시 켜면서 늘어나는 부하를 조심스럽게 관리했다.
    후속 조치
    • 전 세계 백본이 끊기는 상황을 storm 훈련으로 시뮬레이션할 방법을 찾는다.
    • 테스트와 훈련, 전반적인 복원력을 강화해 이런 사고가 최대한 드물게 일어나게 한다.
    교훈

    무단 접근을 막으려고 강화한 보안이, 공격이 아니라 스스로 낸 실수에서 비롯된 장애의 복구를 늦췄다. Meta 는 드문 사고에서 복구가 느려지더라도 평소의 보안을 크게 높이는 편이 낫다고 봤다. 서비스, 데이터 센터, 리전 전체를 내리는 storm 훈련이 부하를 다시 올리는 데 도움이 됐지만, 전 세계 백본이 끊기는 상황은 훈련해 본 적이 없었다.

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

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

원인별4

소프트웨어 결함2건

  1. IL-0344 Linode US-West 의 Fremont 와 Santa Clara 데이터 센터가 인터넷 연결과 두 사이트 사이 연결을 잃었다
    Linode2023
  2. IL-0222 유지보수 자동화가 여러 위치의 네트워크 제어 평면 작업을 한꺼번에 내려 미국 Google Cloud 리전의 네트워크가 심하게 혼잡해졌다.

설정 변경2건

  1. IL-0225 라우터 명령 하나가 Microsoft WAN 의 모든 라우터에 토폴로지를 다시 계산하게 해 전 세계 Azure 네트워크 연결이 불안정해졌다.
  2. IL-0228 라우터 설정 변경 중 인터넷 전체 라우팅 테이블이 IGP 로 광고돼 OVHcloud 전 세계 네트워크의 IPv4 라우팅이 멈췄다.

의존성 장애2건

  1. IL-0267 싱가포르 캐시 거점 eqsin 의 전송 회선 두 개가 함께 끊겨 BGP 가 내려가고 eqsin 의 호스트에 닿을 수 없게 됐다
  2. IL-0358 Packet 공용 클라우드의 여러 리전에서 라우팅 루프와 블랙홀로 연결이 간헐적으로 끊겼다
    Packet2019

운영 실수1건

조직
  1. IL-0221 유지보수 명령이 Facebook 백본 네트워크의 연결을 모두 끊어 데이터 센터와 DNS 서버가 인터넷에서 닿지 않게 됐다.
    Meta2021