IL-0244 UK Ministry of Justice · 2024-09-20kubernetesawsnetworking
EKS 서브넷의 라우팅 테이블 연결이 사라져 live 클러스터의 Cloud Platform 서비스에 접근할 수 없었다
Cloud Platform 팀은 Terraform 원격 상태를 손으로 고쳐야 해서 인프라 파이프라인을 오랫동안 멈춰 두었다. 그동안 팀이 알아보지 못한 PR 하나가 실행 대기열에 들어가 있었다. 2024년 9월 20일 11:21 에 infrastructure-vpc-live-1 파이프라인을 다시 켜자 이 PR 이 자동으로 실행됐고, 11:22 에 EKS 서브넷의 라우팅 테이블 연결을 지워 Cloud Platform 서비스로 가는 인터넷 라우팅이 끊겼다. 11:24 에 우선순위 높은 알림이 울렸고, 11:30 에 장애를 선언했다. 11:32 에 팀이 로컬에서 terraform apply 를 다시 실행해 라우팅 테이블 연결을 다시 만들었고, 11:33 에 사용자에게 서비스가 돌아왔다고 알렸다. 11:40 에 장애가 해결됐다고 선언했다. 복구까지 11분, 해결까지 20분이 걸렸다.
- 심각도
- –
- 영향 범위
- Cloud Platform services on the live cluster were unavailable for a period of time
- 영향 사용자
- –
- 지역
- –
- 감지까지
- 2m
- 복구까지
- 11m
증상
2024년 9월 20일 11:24 에 live 클러스터 서비스를 감시하는 Pingdom 에서 우선순위 높은 알림이 울렸고, 사용자들은 서비스 주소를 찾을 수 없다고 알려 왔다.
11:22 에 서브넷 라우팅 테이블 연결이 삭제되자 Cloud Platform 서비스로 가는 인터넷 라우팅이 끊겼다. 2분 뒤 Cloud Platform 팀이 알림을 받았고, 11:26 부터는 여러 팀이 #ask 채널에 서비스를 쓸 수 없다고 알리기 시작했다.
원인
원인 운영 실수
- 촉발
- 11:21 에 infrastructure-vpc-live-1 파이프라인의 일시 정지를 풀자, 팀이 미처 알아보지 못한 채 대기열에 있던 PR 이 자동으로 실행돼 EKS 서브넷 라우팅 테이블 연결을 지웠다.
감지
11:24 에 live 클러스터 서비스를 감시하는 Pingdom 이 Cloud Platform 팀에 우선순위 높은 알림을 보냈다. 11:26 부터는 사용자들이 #ask 채널에 서비스를 쓸 수 없다고 알려 왔다.
조치
- 11:32 에 Cloud Platform 팀이 로컬에서 terraform apply 를 다시 실행해 서브넷 라우팅 테이블 연결을 다시 만들었고, 서비스를 쓸 수 있게 됐다.
후속 조치
- 인프라 파이프라인을 멈추고 다시 켜는 절차를 검토하고 고쳐, 팀원 모두가 파이프라인을 멈추고 다시 켰을 때의 영향을 알게 한다.
- 인프라를 손으로 고치는 동안 대기열의 PR 실행을 멈출 방법을 찾는다.
- 인프라 파이프라인의 plan 작업과 apply 작업을 더 잘 격리할 방법을 찾는다.
교훈
–
출처
관련 사례
IL-0095엔지니어가 kubectl 이 다른 클러스터를 가리키는 줄 모르고 prod 네임스페이스를 지워 LEAP JupyterHub 가 약 1시간 동안 멈췄다.2i2c · 2025같은 원인 · 공통 Terraform
IL-0018DockerHub 비밀번호를 바꾼 뒤 Concourse 와 EKS 클러스터 노드가 Docker Hub 에서 이미지를 받지 못했다UK Ministry of Justice · 2023같은 원인 · 공통 CI 시스템
같은 원인 · 공통 VPC 라우팅 테이블과 방화벽 규칙
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0244
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0244/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.