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

사례2건

2건 중 1~2번째

  1. 증상

    2026년 1월 29일 AssemblyAI 의 Async Transcription API 와 LLM Gateway 가 500 오류를 내며 25분 동안 멈췄다. 상태 페이지에는 17:54 UTC 에 첫 공지가 올라왔다.

    촉발

    평소보다 많은 배치 전사 작업이 한꺼번에 들어왔다. 오토스케일링이 워커를 늘리다가 spot 인스턴스가 바닥나 on-demand 로 넘어갔고, 그다음 AWS 의 Elastic Network Interface 한도에 걸렸다.

    원인
    구성 요소
    기여 요인
    조치
    • 쌓인 요청을 모두 처리했고, 처리 완료 시간이 정상으로 돌아왔다.
    후속 조치
    • ENI 사용률에 알림을 건다.
    • 인증 서비스를 전용 자원으로 떼어 낸다.
    • AWS API 를 마구 호출한 Lambda 함수를 고친다.
    • 중기적으로 모든 서비스를 완전한 다중 지역 구성으로 옮긴다.
    교훈

    AssemblyAI 는 ENI 사용률을 모니터링하지 않은 것과, 인증 서비스가 배치 워커와 자원을 함께 쓴 것을 실제 잘못으로 꼽았다. 한쪽에 몰린 트래픽이 다른 쪽이 쓸 자원을 빼앗았다. 장애 대응을 돕도록 만든 Lambda 함수가 오히려 복구를 막았다. AssemblyAI 는 이 장애를 막을 수 있었고, 경고 신호가 있었지만 그 신호들을 함께 놓고 보지 못했다고 밝혔다.

  2. 증상

    운영 ECS 에 배포한 직후 ALB 의 HTTPCode_ELB_5XX_Count 가 갑자기 치솟았다. 분당 1만 건쯤 요청을 받는 서비스에서 요청의 20% 쯤이 5XX 를 받았고, 같은 때 타깃 연결 오류도 났다.

    촉발

    CircleCI 와 Terraform 으로 운영 ECS 에 배포해 ECS 태스크가 다시 만들어졌고, 그 시점에 ELB 와 백엔드 사이의 통신이 불안정해졌다.

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

    팀은 운영 ECS 에 배포한 직후 ALB 의 HTTPCode_ELB_5XX_Count 가 갑자기 치솟은 것을 보고 알았다.

    조치
    • ECS 태스크를 가장 먼저 재시작했지만 복구되지 않았다.
    • ELB 의 서브넷 가운데 1d 를 같은 1d 의 다른 서브넷으로 바꿨다. dig 로 ELB 이름을 조회해 IP 가 바뀐 것을 확인했지만 해결되지 않았다.
    • ECS 서비스 설정을 바꿔 ECS 태스크 15개 가운데 1d 에서 돌던 6개를 1a 와 1c 로 옮겼지만 해결되지 않았다.
    • 1d 에서 도는 ECS 태스크가 없어진 뒤 ELB 에서 1d 서브넷을 뺐지만 복구되지 않았다.
    • 배포로 ECS 태스크가 무거워져 ELB 와 백엔드 사이에 타임아웃이 났을 가능성을 보고 ELB 의 유휴 타임아웃 설정을 바꿨지만 복구되지 않았다.
    • ECS 태스크를 배포 전으로 되돌렸지만 복구되지 않았다.
    • VPC, 서브넷, 백엔드, SecurityGroup 이 옛 ELB 와 똑같은 새 ELB 를 만들었다.
    • ECS 서비스 하나에 ELB 여러 개를 붙일 수 있으므로 ECS 서비스에 새 ELB 를 함께 붙였다.
    • 서비스의 호스트 존에 옛 ELB 를 가리키는 레코드와 같은 레코드를 새 ELB 쪽으로 하나 더 만들었다. 두 레코드에 가중치를 줘서 트래픽의 1/10 만 새 ELB 로 보냈다.
    • 새 ELB 에서 ELB_5XX 가 하나도 나오지 않아 옛 ELB 에 문제가 있다고 보고 가중치를 새 쪽 10, 옛 쪽 0 으로 바꿨다.
    교훈

    네트워크 구성상 있을 수 없는 그래프가 보이면 AWS 쪽도 의심해 봐야 한다.

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

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

원인별2