사례2건
2건 중 1~2번째
IL-0235Azure OpenAI Service 의 GPT-5.2 모델 요청이 일곱 개 리전에서 HTTP 400 과 HTTP 429 오류로 실패했다Microsoft Azure2026- 증상
2026-03-09 23:20 UTC 부터 Azure OpenAI Service 고객의 GPT-5.2 모델 요청이 HTTP 400 과 HTTP 429 오류로 실패했다. 다른 GPT 모델은 영향을 받지 않았다. 영향을 받은 리전은 Australia East, Central US, East US 2, Korea Central, Norway East, Sweden Central, UK South 였다.
- 촉발
Azure OpenAI 의 GPT-5.2 모델 업데이트에 든 구성 변경이 운영 중인 모델 엔진 코드 버전과 맞지 않았다. 업데이트가 효율과 복원력을 높이려고 일부 기능 설정을 켰는데, 배포된 엔진 버전은 그 설정을 아직 지원하지 않았다.
- 원인
- 구성 요소
- 기여 요인
- 감지
3월 10일 00:19 UTC 에 서비스 모니터링이 문제를 잡았다. 고객 영향이 시작되고 약 1시간 뒤였다. 모니터링은 클라이언트 쪽 오류만 보고 서비스 쪽 HTTP 400 이상은 보지 않아 초기 감지가 늦었다.
- 조치
- 롤백이 핫픽스보다 빨리 완화할 수 있다고 판단하고 03:18 UTC 에 영향받은 모델의 롤백을 시작했다. 18:00 UTC 에 모든 영향 리전에서 롤백을 마쳤다.
- 19:30 UTC 에 리전 전체의 용량 정보를 되살려 트래픽 분산을 정상으로 돌렸다.
- 후속 조치
- 비슷한 문제를 더 빨리 완화하도록 엔지니어에게 운영 절차 교육을 더 했다. 교육에는 어떤 상황에서 빠르게 롤백할 수 있는지가 들어갔다.
- 의존 서비스가 리전 용량의 최신 정보를 주지 못할 때를 대비해, 검증된 트래픽 라우팅 정보를 캐시에 저장해 두게 했다.
- 서비스 쪽 오류에 임계값을 두어 HTTP 400 오류 모니터링을 개선했다.
- 평소 임계값에 닿지 않는 비정상 오류율에도 알림이 가도록 HTTP 4xx 오류의 이상 탐지를 개선한다. 2026년 4월에 마칠 예정이다.
- 배포 시스템에 신호를 더 넣어 문제가 있는 배포를 자동으로 멈추게 한다. 2026년 5월에 마칠 예정이다.
- Safe Deployment Practices 의 앞 단계에 백엔드 모델 인스턴스가 충분히 있게 해 이런 문제를 더 일찍 잡는다. 2026년 6월에 마칠 예정이다.
- 증상
2024년 7월 13일 00:00 UTC 부터 Azure OpenAI 엔드포인트를 호출하는 일부 고객이 5xx 오류를 비롯한 문제를 겪었다. 00:05 UTC 에 서비스 모니터링이 실패율이 정해 둔 기준을 넘었다고 엔지니어에게 알렸다.
- 촉발
Microsoft 는 쓰지 않는 리소스를 정리하는 작업의 하나로, 쓰지 않는다고 본 리소스 그룹 14개를 전역 설정 파일에서 뺐다. 이 변경은 커밋 직후 적용됐고, 그 리소스 그룹 안의 리소스가 짧은 시간에 모두 지워졌다.
- 원인
- 구성 요소
- 기여 요인
- 감지
서비스 내부 모니터링이 2024년 7월 13일 00:05 UTC 에 실패율이 정해 둔 기준을 넘었다고 엔지니어에게 알렸다. 영향이 시작되고 5분 뒤였다.
- 조치
- 자동 정리 작업이 리소스를 지우는 것을 확인하고, 정리를 실행하던 자동화부터 멈췄다.
- ARM 과 자동화 양쪽에서 리소스 잠금을 걸고 삭제 요청을 막아 더 지워지지 않게 했다.
- 지워진 리소스를 다시 만들기 시작했고, 14개 지역의 모델 풀을 병렬로 다시 세웠다.
- GPT-4o 가 쓰는 REDIS 와 Private Link 를 Azure REDIS 팀, Azure Networking 팀과 함께 손으로 다시 설정했다.
- DALL-E 프론트엔드와 백엔드 사이의 Managed Identity 를 허용 목록에 추가해 DALL-E 를 복구했다.
- 모든 것이 복구되고 안정된 7월 15일에 자동화를 다시 켰고, 이와 함께 fine-tuning 배포 기능이 돌아왔다.
- 후속 조치
- 안전 배포 절차에 따라 이후의 모든 설정 업데이트가 지역 단위로 나가도록 설정 정책을 바꿨다. 문제가 있는 변경이 한 지역에 머물게 하려는 것이다.
- 자동화가 관리하면 안 되는 리소스에 붙은 잘못된 메타데이터 태그를 지우고, 자동화 설정에서 그 리소스를 빼서 중요한 리소스를 실수로 지우지 않게 했다.
- 워크로드마다 걸치는 지역 수를 줄여, 비슷한 실수로 리소스가 지워져도 피해가 넓게 퍼지지 않게 했다.
- 장애 대응 인력을 더 빨리 불러 모으도록 장애 대응 호출 자동화를 고쳤다.
- 운영 환경의 모든 변경이 단계마다 확인을 거쳐 나가는 안전 배포 절차를 따르도록 변경 관리 통제를 더 넣는 방안을 검토한다. 완료 예정은 2024년 8월이다.
- 영향받은 고객의 범위를 정하기 어려운 상황에서도 더 빨리 알릴 수 있도록 공지 도구에 Azure OpenAI 관련 데이터를 넣는다. 완료 예정은 2024년 9월이다.
- 앞으로의 설정 업데이트 위험을 줄이려고 테스트 범위와 검증 절차를 더 늘리는 방안을 검토한다. 완료 예정은 2024년 9월이다.
- 고객 트래픽에 기대지 않고 시스템 상태를 확인할 수 있도록 모델 계열마다 능동 모니터링을 더 만든다. 완료 예정은 2024년 9월이다.
- 복구 시간을 줄이려고 모델 풀을 세우는 작업의 병렬도를 높인다. 완료 예정은 2024년 12월이다.
- 교훈
Microsoft 는 이 장애의 가장 큰 빈틈이 변경 관리 절차에 있었다고 밝혔다. 설정 변경이 전역 범위의 콘텐츠 업데이트로 나가서, 변경이 지역 하나씩 차례로 적용되게 통제하는 안전 배포 절차를 거치지 않았다. 그래서 한 번에 여러 지역이 무너졌다. 자동화가 관리하는 리소스와 모르는 리소스가 같은 리소스 그룹에 섞이면서 설정 파일과 실제 구독의 상태가 어긋났고, 이 어긋남 때문에 필요한 리소스까지 지워졌다. 고객에게는 주 지역이 내려갈 때를 대비해 여러 지역에 엔드포인트를 두라고 권했다.
이 2건에서 가장 많이 나오는 구성 요소: 모델 추론 서버, 자동 용량 관리 시스템. kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이런 틈을 점검합니다. 점검 항목의 근거는 이 라이브러리와 같은 공개 보고서입니다.