IL-0590 Mailgun · 2014-09-27networking
Rackspace ORD 재부팅 뒤 Mailgun 연결이 간헐적으로 실패하고 이벤트 유실과 이메일 중복 발송이 났다
Mailgun 은 Rackspace 하이브리드 클라우드의 여러 데이터 센터에 환경을 두고, F5 로드 밸런서를 데이터 센터로 들어오고 나가는 모든 연결의 관문으로 쓴다. 장애나 유지 보수 때는 F5 virtual IP 풀로 트래픽을 다른 환경으로 옮겨 DNS 변경 없이 고객 영향을 피한다. 9월 26일 금요일 Rackspace 는 9월 28일 일요일 11:00 UTC 부터 9월 29일 월요일 11:00 UTC 사이에 ORD 의 클라우드 인스턴스를 재부팅한다고 알렸다. Mailgun 은 ORD 트래픽을 옮길 준비를 하다가 9월 27일 18:50 UTC 에 데이터베이스 복제와 환경 사이 내부 트래픽이 타임아웃으로 끊긴 것을 발견했다. 재부팅 전까지 원인을 찾지 못해 트래픽을 제때 옮기지 못했다.
재부팅은 9월 30일 월요일 01:10 UTC 에 시작됐고, 11:29 UTC 까지 간헐적 연결 실패와 이벤트 유실과 약 100,000건의 중복 발송이 이어졌다. Mailgun 이 Rackspace 기업 네트워크 팀과 함께 조사한 결과, 클라우드 유지 보수가 Mailgun F5 서버에 오류 상태를 일으켜 Mailgun 네트워크의 IP 에 Path MTU 를 296 으로 보고하게 만들었다. Mailgun 을 쓰는 Rackspace 전용 고객의 F5 가 모두 이 값을 캐시했다. 그 F5 뒤의 서버는 최소 512 MTU 의 패킷만 보낼 수 있었는데, Mailgun 의 F5 가 더 작은 값을 강제해 패킷이 손실됐다. Rackspace 네트워크 팀이 F5 캐시를 지우고 새 virtual IP 를 만들고, Mailgun 이 DNS 설정을 바꿔 원격 F5 의 캐시를 비우게 하자 남은 문제가 풀렸다. 근본 원인은 글을 쓸 때 아직 조사 중이었고, Mailgun 의 F5 로드 밸런서가 처음 캐시하고 강제한 비정상적으로 낮은 path MTU 값과 관련이 있다는 데까지 밝혀졌다.
- 심각도
- –
- 영향 범위
- Connections to Mailgun: intermittent connection failures, events lost between 2:30 a.m. and 7:00 a.m. UTC, and approximately 100,000 duplicate emails sent
- 영향 사용자
- A portion of Mailgun customers, including Rackspace dedicated customers using Mailgun
- 지역
- Rackspace Chicago data center (ORD); internal traffic between Mailgun's environments in all regions
- 감지까지
- –
- 복구까지
- –
증상
2014년 9월 27일 토요일 18:50 UTC 에 Mailgun 은 모든 데이터베이스 복제와 모든 리전의 환경 사이 내부 트래픽이 끊기고 타임아웃이 보고되는 것을 알아챘다. 그때 Mailgun 은 Rackspace 의 ORD 재부팅을 앞두고 트래픽을 다른 환경으로 옮길 준비를 하고 있었다.
Rackspace 의 시카고 데이터 센터 ORD 에서 클라우드 인스턴스 재부팅이 9월 30일 월요일 01:10 UTC 에 시작됐다. 그때부터 11:29 UTC 까지 연결이 간헐적으로 실패했고, 02:30 UTC 부터 07:00 UTC 사이의 이벤트가 유실됐으며, 이메일 약 100,000건이 중복 발송됐다. 이 동안 수락됐다고 보고된 메시지는 모두 전달됐다.
일부 고객은 9월 30일 화요일 오후까지 간헐적인 연결 끊김과 실패를 계속 겪었다. 마지막까지 남은 문제는 Mailgun 을 쓰는 Rackspace 전용 고객 쪽에 있었다.
Mailgun 은 재부팅이 시작되기 전까지 타임아웃의 원인을 찾지 못해, 고객에게 영향이 가기 전에 트래픽을 옮기지 못했다.
원인
원인 DNS·네트워크 장애
- 촉발
- Rackspace 가 시카고 데이터 센터 ORD 의 클라우드 인스턴스를 재부팅한 유지 보수가 Mailgun 의 F5 서버에 오류 상태를 일으켰다.
감지
9월 27일 18:50 UTC 에 ORD 트래픽 전환을 준비하던 Mailgun 이 모든 데이터베이스 복제와 환경 사이 내부 트래픽이 끊기고 타임아웃이 보고되는 것을 발견했다.
조치
- Rackspace 네트워크 팀이 Mailgun 의 F5 와 일부 Rackspace 전용 고객의 F5 에서 캐시를 지웠다.
- Rackspace 네트워크 팀이 Mailgun 서비스용 새 virtual IP 를 만들었다.
- Mailgun 이 DNS 설정을 바꿔 원격 F5 의 캐시가 강제로 비워지게 했다.
후속 조치
- Rackspace 와 함께 F5 문제의 근본 원인을 계속 조사한다.
- 근본 원인 분석을 마치면 클라우드 인프라 유지 보수가 Mailgun 고객에게 영향을 주지 않도록 조치한다.
교훈
–
출처
참고 문서
관련 사례
같은 원인 · 공통 클라우드 로드 밸런서
IL-0178EKS 에서 HPA 가 파드를 줄일 때 엔드포인트 제거보다 컨테이너 종료가 먼저 끝나 502 가 났고, 블루/그린 전환 뒤에는 conntrack 에 남은 연결이 삭제된 파드로 가서 클라이언트가 타임아웃을 받았다.Lotte E-commerce · 2022같은 원인 · 공통 클라우드 로드 밸런서
같은 원인 · 공통 데이터베이스 복제
IL-021043초 네트워크 단절 뒤 MySQL 프라이머리가 미국 서부로 넘어가 GitHub.com 이 24시간 11분 동안 느려지고 오래된 데이터를 보여 줬다GitHub · 2018같은 원인 · 공통 데이터베이스 복제
같은 원인 · 공통 클라우드 로드 밸런서
내 클러스터에도 있는지 확인하기
AI 도구와 스크립트용
- 이 사례의 JSON: https://incidentlib-api.benchlet.com/cases/IL-0590
- 가장 비슷한 사례들: https://incidentlib-api.benchlet.com/cases/IL-0590/similar
- MCP 서버(Streamable HTTP, 키 없음):
https://incidentlib-mcp.benchlet.com/mcp
API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.