요약

  • 2023년 1월 25일 07:08 UTC, 마드리드의 용량 작업 중 사용된 자격 미확인 명령이 특정 벤더 플랫폼에서 로컬 장치를 넘어 라우팅 정보를 소거하여 글로벌 IGP 재계산, BGP 재광고, 그리고 첫 번째 고객 영향 파동을 촉발했습니다.
  • 경과 33분 후 엔지니어가 활성 알림을 통보받지 못한 상태에서 두 번째 마드리드 라우터에 동일 작업이 반복되어 두 번째 파동이 발생했고, 변경-대응 조율 문제가 중심 책임 쟁점으로 부상했습니다.
  • 대부분의 리전과 서비스는 09:05 UTC까지, 마지막 네트워킹 장비는 09:25까지 복구되었으나, 일시 중단된 WAN 상태 및 트래픽 엔지니어링 시스템은 수동 재시작이 필요했고 12:43에 완전 완화가 선언되었습니다. 복구는 단일 롤백이 아니라 단계적으로 이루어졌습니다.

범위가 한정된 작업이 글로벌 라우팅 도메인에 도달했다

2023년 1월 25일 07:08 UTC, 마드리드의 한 엔지니어가 Microsoft 글로벌 광역 네트워크(WAN)에 용량을 추가하는 작업을 시작했습니다. 이 작업은 신규 라우터의 IP 주소를 변경하고 이를 네트워크의 내부·외부 라우팅 도메인에 편입하는 과정이었습니다. 물리적 작업 범위는 두 대의 라우터로 한정되어 있었지만, 그 작업에서 사용된 명령의 논리적 영향 범위는 그렇지 않았습니다.

Microsoft의 최종 사후 검토에 따르면, 해당 절차에는 내부 게이트웨이 프로토콜(IGP) 데이터베이스를 소거하는 명령이 포함되어 있었습니다. 두 제조사의 장비에서 이 명령은 로컬로만 동작했습니다. 그러나 세 번째 제조사의 플랫폼에서는 기본 적용 범위가 IGP를 통해 연결된 모든 라우터로 확장되었습니다. Microsoft의 명령 권한 시스템은 이 플랫폼별 동작을 차단 대상으로 분류하지 않았습니다.

이 불일치는 네트워크 전반의 내부 토폴로지 재계산을 유발했습니다. 이후 경계 게이트웨이 프로토콜(BGP) 라우터들이 경로 변화에 따라 인터넷 프리픽스를 재광고하고 검증했습니다. 고객들은 지연 시간 증가, 타임아웃, 간헐적 패킷 손실, 일부 경로에서는 완전한 연결 단절이 뒤섞인 양상을 경험했습니다. 이 장애는 인터넷-Azure 트래픽, 리전 간 트래픽, ExpressRoute 및 VPN·가상 WAN을 이용한 온프레미스 연결에 영향을 미쳤습니다. Microsoft 365, Power Platform, Azure Government의 일부를 포함해 Azure 연결에 의존하는 서비스도 영향을 받았습니다.

이 인과 연쇄는 본 장애를 일반적인 클라우드 중단이 아니라 네트워크 인프라 책임성 사례로 만듭니다. IGP 소거, BGP 재광고, 변화하는 포워딩 경로를 제거하면 중심 설명 자체가 사라집니다. 시스템 수준의 질문은 단순히 왜 한 사람이 명령을 입력했는가가 아니라, 주변 절차와 권한 통제가 명령의 실효 범위를 실제 라우팅 도메인에 도달하기 전에 확인하지 못한 이유는 무엇인가입니다.

이 실패는 또한 겉보기에 일상적인 용량 변경에도 더 파격적인 작업과 동일한 의미론적 규율이 필요하다는 점을 보여줍니다. 작업 라벨은 의도를 기술합니다. 라우터는 소프트웨어를 실행합니다. 두자가 어긋나면 작업 지시서가 얼마나 좁게 보이든 실행 중인 구현이 영향 반경을 결정합니다.

절차는 하나의 작업을 기술했고, 라우터는 다른 작업을 실행했다

Microsoft의 최종 검토에 따르면, 마드리드 용량 작업에 사용된 표준 운영 절차는 사건 전에 변경되었으나 재테스트되지 않았습니다. 또한 실행 전후에 요구되는 점검이 누락되어 있었습니다. 같은 문장이 플랫폼마다 동일한 운영 범위를 갖지 않았기 때문에 이 누락은 실질적 의미를 지녔습니다.

로컬 범위 명령과 IGP 전체 범위 명령의 구분은 문서화 각주 수준의 문제가 아닙니다. 글로벌 WAN에서 IGP로 연결된 모든 라우터에 도달하는 명령은 내부 도달 가능성을 계산하는 장치 집합을 동시에 변화시킵니다. Microsoft가 기술한 초기 실패는 WAN 내부에 있었습니다. 광범위하게 작동하는 IGP 소거가 토폴로지 재계산을 촉발했고, 이어 BGP 재광고와 경로 검증이 뒤따랐습니다.

명령이 허용된 이유는 Microsoft의 권한 통제가 세 번째 플랫폼의 글로벌 동작을 금지 항목으로 식별하지 않았기 때문입니다. 이는 권한(permission)과 자격(qualification)을 분리합니다. 명령이 접근 통제 시스템에 수용되더라도 사용되는 맥락에서는 안전하지 않을 수 있습니다. 권한은 운영자가 행할 수 있는지를 답합니다. 자격은 그 행위가 특정 플랫폼, 소프트웨어 환경, 장치 역할에 도달할 때 네트워크가 무엇을 할지를 답해야 합니다.

텍스트 수준의 허용 목록만으로는 이 답을 제공할 수 없습니다. 두 벤더가 유사한 언어로 명령을 명명하더라도 기본 범위가 실질적으로 다를 수 있습니다. 같은 벤더 계열 내에서도 안전한 판단은 소프트웨어와 장치 역할에 따라 달라집니다. 사건 기록은 이 변수들의 전체 목록을 제공하지 않으므로 정확히 어떤 플랫폼이나 버전이 관련되었는지 추론하는 것은 잘못입니다. 다만 통제 시스템이 제조사별 글로벌 효과를 놓쳤다는 사실은 확립합니다.

여기서 조직적 책임이 시작됩니다. 다중 벤더 명령 라이브러리에는 승인된 문자열 이상이 필요합니다. 명령이 실행될 수 있는 환경에 대해 범위가 테스트되었다는 증거, 실행 전에 의도한 경계를 검증할 수 있는 수단, 실행 후 관측된 네트워크 상태를 기대치와 비교하는 절차가 필요합니다. 이러한 요소 없이 승인은 신원과 접근에 관한 진술에 그치고 변경에 대한 안전성 사례가 되지 못합니다.

누락된 사전·사후 점검은 이 의미론적 간극을 증폭시켰습니다. 사전 점검은 변경 책임자가 기대하는 장치·라우팅 범위를 명시하도록 요구할 수 있었습니다. 사후 점검은 실제 토폴로지와 도달 가능성을 그 선언과 비교할 수 있었습니다. 이는 사건에서 도출된 통제 설계 시사점이며, 어떤 점검이 모든 실패를 예방했을 것이라는 주장이 아닙니다. 그 가치는 두 번째 행위가 같은 가정을 반복하기 전에 범위를 반증 가능하게 만든다는 점에 있습니다.

공개 라우팅 데이터는 교란을 보여주었지만 근본 원인은 아니었다

외부 관측자들은 네트워크가 반응하는 것을 보았습니다. ThousandEyes는 Microsoft 프리픽스의 철회와 재광고, 직접 피어링 링크에서 트랜짓 사업자 쪽으로의 트래픽 이동, 상당한 패킷 손실을 기록했습니다. Kentik은 두 차례의 총 트래픽 감소와 경로·리전 간 매우 상이한 영향을 보고했습니다. 일부 프리픽스는 손상된 반면 다른 프리픽스는 트래픽을 계속 운반했습니다.

이 관측들은 고객과 이웃 네트워크가 측정할 수 있는 경계에서 실패가 나타났음을 보여주기 때문에 중요합니다. 동시에 공개 BGP 데이터가 뒷받침할 수 있는 결론의 한계도 규정합니다. Kentik은 가시적 라우팅 불안정이 내부 사건의 증상이지 기원이 아니라고 경계했습니다. 철회와 트랜짓 이동은 악의적 경로 하이재킹, 외부 공격 또는 BGP 설계 결함을 입증하지 않습니다.

그럼에도 BGP는 고객 대면 실패 연쇄의 중심이었습니다. 내부 토폴로지가 재계산되는 동안 경계 라우터는 인터넷 프리픽스를 재광고하고 검증해야 했습니다. 경로가 변했고 일부 트래픽이 직접 피어링에서 트랜짓으로 이동했습니다. 고객에게는 이 컨트롤 플레인 움직임이 지연, 손실 또는 접근 불가 서비스로 나타났습니다. 외부 관측자에게는 철회, 광고, 경로 변화로 나타났습니다. 어느 쪽 시야도 그 자체로 내부 명령을 밝히지 못했습니다.

이 구분은 사후 책임성에 중요합니다. 외부 텔레메트리는 도달 가능성이 변했음을 검증하고 어떤 경로가 사라지고, 돌아오고, 트랜짓으로 이동했는지 재구성하는 데 도움을 줄 수 있습니다. 그러나 그 자체로 내부 명령, 이를 허용한 의사결정 경로, 또는 사유 컨트롤 시스템의 상태를 식별할 수는 없습니다. Microsoft의 최종 검토가 그 내부 메커니즘을 제공합니다. 외부 측정은 기술된 메커니즘이 인터넷에서 관측된 것과 일치하는지 검증하는 역할을 합니다.

따라서 두 기록은 서로 다른 증거적 역할을 수행합니다. 운영자의 설명은 내부 순서와 자체 시스템 상태를 설명합니다. ThousandEyes와 Kentik은 경로 및 트래픽 동작에 대한 독립적 관측을 제공합니다. 두 계층 간의 일치는 인과 설명을 강화하고, 불일치는 추가 조사의 근거가 됩니다. 한 계층을 다른 계층의 대체물로 취급하면 분석이 약화됩니다.

동일한 규율이 초기 설명에도 적용됩니다. 초기 외부 분석에서는 자동화가 변경을 반복했을 가능성이 검토되었습니다. 사건 기록이 불완전했던 시점에는 합리적인 질문이었으나, 이것이 지배적 결론은 아닙니다. Microsoft의 최종 검토는 그 작업이 두 번째 라우터에서 반복 수행되었다고 명시합니다. 이후 제공된 더 구체적인 증거가 초기 가설에 우선합니다.

33분이 하나의 통제 실패를 두 개의 파동으로 만들었다

사건은 하나의 중단 없는 자동 연쇄로 전개되지 않았습니다. Microsoft는 모니터링이 DNS 및 WAN 증상을 수분 내에 감지하여 07:11에 알림을 생성했다고 밝혔습니다. 그러나 마드리드 작업을 수행하던 엔지니어는 그 알림을 통보받지 못했고, 첫 실행 33분 후 두 번째 라우터에서 동일 작업을 반복했습니다. 그 두 번째 작업이 또 하나의 영향 파동을 만들었습니다.

ThousandEyes와 Kentik 모두 서로 구분되는 라우팅·트래픽 교란을 관측하여 두 파동 설명을 뒷받침했습니다. 이 측정으로 운영자나 내부 통신 경로를 식별할 수는 없지만, 네트워크 바깥에서 가시적인 분리를 입증합니다. 최종 검토는 같은 절차 아래 두 번째 작업이 발생한 이유를 제공합니다.

33분 간격이 중요한 이유는 변경 실행과 인시던트 대응 사이의 통제 경계를 드러내기 때문입니다. 모니터링은 문제를 감지했고, 대응 절차가 시작되었으며, 같은 메커니즘을 다시 호출할 수 있는 사람은 중단에 필요한 정보를 받지 못했습니다. 각 구성 요소는 작동 중이었을 수 있으나 결합된 시스템은 네트워크가 이미 복구 중인 상태에서 두 번째 실행을 막지 못했습니다.

모니터링 플랫폼에는 도달하지만 위험한 작업을 계속하는 사람에게는 도달하지 않는 알림은 불완전한 보호 장치입니다. 고영향 WAN 작업에서 탐지는 작업의 상태를 변경할 수 없다면 보호 가치가 제한적입니다. 절차를 일시 정지하거나, 다음 단계를 취소하거나, 새 권한을 요구하거나, 인시던트 책임자에게 통제권을 넘기는 방식으로 말입니다. 공개 기록은 통보 공백을 넘어 그러한 통제가 존재했는지 실패했는지를 특정하지 않으므로, 그 선택은 설계 문제로 남습니다.

이것이 개인 비난이 분석의 대체물이 될 수 없는 이유이기도 합니다. 공개 기록은 엔지니어의 이름을 밝히지 않았고, 운영자의 전체 콘솔 맥락을 공개하지 않았으며, 개인적 의도를 확립하지 않았습니다. 다만 재테스트되지 않은 절차, 누락된 사전·사후 점검, 불완전한 명령 분류, 두 번째 작업을 멈추지 못한 통보 경로를 확립합니다. 이들은 인프라 소유자가 점검하고 개선할 수 있는 시스템 속성입니다.

두 번째 파동은 단순한 추가 중단 기간이 아니었습니다. 첫 번째 수렴이 진행되는 동안 새로운 교란을 도입하여 복구를 복잡하게 만들었습니다. 자료는 각 파동에 귀속되는 증분 피해를 정량화하지 않으므로 그런 수치를 추론해서는 안 됩니다. 말할 수 있는 것은 더 좁습니다. 동일한 자격 미확인 작업이 두 번 라우팅 도메인에 도달할 수 있었고, 외부 관측자들은 서로 다른 두 가지 효과를 보았습니다.

영향은 경로에 따라 달랐다

장애는 글로벌 범위였지만 고객 영향은 균일하지 않았습니다. Microsoft는 출발지·목적지에 따른 동적 차이를 기술합니다. 일부 고객은 지연이나 간헐적 패킷 손실을, 다른 고객은 특정 경로에서 타임아웃이나 완전한 연결 단절을 겪었습니다. Kentik 역시 모든 Microsoft 경로가 사라졌다는 증거가 아니라 영향받은 프리픽스와 영향받지 않은 프리픽스가 공존함을 확인했습니다.

이 변동성은 경로가 철회·재광고·검증되고 다른 경로로 이동하는 네트워크와 부합합니다. 모든 Azure 리전, 서비스, 고객 또는 인터넷 경로가 실패했다는 단순한 주장을 뒷받침하지 않습니다. 인도와 북미 일부가 더 긴 복구 경로에 속했지만, 자료는 리전별 완전한 목록을 제공하지 않습니다.

과장 없이 뒷받침되는 영향 면은 상당합니다. 인터넷-Azure 트래픽과 리전 간 트래픽이 영향을 받았고, ExpressRoute, VPN, 가상 WAN을 통한 온프레미스 연결에 문제가 발생했습니다. Microsoft 365와 Power Platform 의존성, 공용 Azure에 의존하는 Azure Government 서비스도 연루되었습니다. 기록은 정확한 영향 사용자 수, 감증된 매출 손실, 완전한 서비스 목록을 확립하지 않습니다.

경로 변동성은 집계 가용성이 지속 피해의 국소 구간을 숨길 수 있기 때문에 책임성 문제의 일부입니다. 광범위한 복구 비율이 건강해 보일 수 있지만 특정 출발지-목적지 쌍은 여전히 손상되어 있을 수 있습니다. 이 장애의 단계적 복구는 운영자가 고객 경험의 복원을 선언하기 전에 네트워크 전체 지표와 경로 수준 증거를 모두 확보해야 하는 이유를 보여줍니다.

복구는 계층적으로 이루어졌다

Microsoft는 라우팅 복구가 진행 중이던 08:20까지 엔지니어들이 최근 변경을 검토하여 문제의 명령을 식별했다고 밝혔습니다. 거의 모든 네트워크 장치, 리전, 서비스는 09:05까지 복구되었고, 마지막 네트워킹 장비는 09:25까지 복구되었습니다. 그것이 사건의 끝은 아니었습니다.

인도와 북미 일부를 포함한 일부 위치는 더 긴 복구 경로를 따랐습니다. WAN 상태 및 트래픽 엔지니어링 시스템이 일시 중단되어 국소적 패킷 손실이 지속되었고, Microsoft가 12:43에 완전 완화를 선언하기 전까지 이 시스템들은 수동 재시작이 필요했습니다. 따라서 공식 고객 영향 구간은 07:08부터 12:43까지이며, 대부분의 서비스는 훨씬 이르게 복구되었습니다.

The Register의 동시대 보도는 사건이 진행 중이던 시점에 가시적 Azure 및 Microsoft 서비스 장애와, 라우팅 변경 및 롤백에 관한 Microsoft의 초기 언급을 포착했습니다. 이 초기 진술은 당시 고객에게 무엇이 통보되었는지 보여주는 유용한 증거입니다. 그러나 이후 사후 검토의 더 완전한 시계나 자동 수렴 및 수동 재시작에 관한 설명을 대체해서는 안 됩니다.

복구를 단일 롤백으로 기술하면 최초 경로 복원 이후의 운영 작업이 지워집니다. 네트워크는 광범위한 도달 가능성을 회복하면서도 상태 측정과 트래픽 엔지니어링은 여전히 저하된 상태일 수 있습니다. 따라서 복구 증거는 패킷이 다시 이동할 수 있는지뿐 아니라 불량 경로를 감지하고 트래픽을 유도하는 시스템이 알려진 운영 상태로 돌아왔는지까지 다루어야 합니다.

이 구분은 사건 타임라인이 오도적으로 짧아지는 것도 막습니다. 09:05 마일스톤은 거의 모든 장치, 리전, 서비스가 복구된 시점을, 09:25 마일스톤은 마지막 네트워킹 장비를 기술합니다. 12:43 경계는 지원 시스템과 지속된 패킷 손실을 반영합니다. 각 시계는 서로 다른 질문에 답하며, 그 어느 것도 다른 것으로 무단 대체되어서는 안 됩니다.

단계적 타임라인은 더 엄격한 복구 정의를 뒷받침합니다. 첫째, 라우팅 수렴이 광범위한 도달 가능성을 복원해야 합니다. 둘째, 남은 장비와 경로가 돌아와야 합니다. 셋째, 상태 및 트래픽 엔지니어링 기능이 재시작·검증되어야 합니다. 자료는 이 사건에 대해 그 순서를 확립하지만, Microsoft가 현재 복구를 어떻게 정의하는지 또는 이후 수리 약속이 이행되었는지는 증명하지 않습니다.

기록은 법적 판정이 아닌 시스템 결론을 뒷받침한다

네 개 출처의 기록은 특정 연쇄를 뒷받침합니다. 변경되고 테스트되지 않은 절차가 라우터 제조사에 따라 범위가 다른 명령을 포함했고, 그 명령은 광범위한 IGP 재계산을 촉발했으며, BGP 광고와 경로가 변했고, 고객들은 고르지 않은 연결 실패를 겪었으며, 엔지니어가 알림을 통보받기 전에 작업이 반복되어 두 번째 파동이 만들어졌습니다. 복구는 이후 라우팅 수렴과 지원 시스템의 수동 재시작을 통해 진행되었습니다.

Microsoft의 검토는 벤더·역할 전반의 고영향 명령 감사, 차단 목록 확대, 승인 및 자격 미확인 장치 활동의 대응자 가시화, 운영 교육 및 인증 요구, 변경 자문 절차를 통한 보류 절차 검토를 포함하는 예정 작업을 나열했습니다. 여기서 사용된 공개 기록은 각 조치의 이행이나 효과를 독립적으로 확립하지 않습니다. 이들은 검증된 결과가 아니라 명시된 수리 약속입니다.

기록은 영향받은 고객이나 사용자 수, 손상된 모든 리전·서비스의 완전한 목록, 감증된 재정 손실, 고객 데이터 손실, 악의적 활동, 과실이나 책임에 관한 법적 판정을 확립하지 않습니다. 또한 모든 의사결정을 특정 책임자에게 귀속하거나 사건 중 작동했을 수 있는 모든 보상 통제를 평가할 만큼의 내부 로그를 공개하지 않습니다.

이 한계들은 인프라 결론을 약화시키지 않고 적절히 범위를 한정합니다. Microsoft의 2023년 WAN 장애는 절차, 권한, 플랫폼 의미론이 명령의 도달 범위에 대해 불일치할 때 글로벌 라우팅 시스템이 교란될 수 있음을 보여주었습니다. 통제의 척도는 변경이 무엇이라 불렸는지 또는 누가 입력할 수 있었는지가 아니라, 두 번째 파동이 가능해지기 전에 실제 네트워크의 실제 동작이 경계되고, 관측 가능하며, 회복 가능했는지 여부입니다.

출처