Incident Library

IL-0438 ANDPAD · 2026-07-16awsnetworkingkubernetes

CloudFront VPC Origins 장애로 Builder Work 가 504 오류를 내며 거의 모든 접속이 막혔다

2026년 7월 16일 일본 시간 16시 45분쯤부터 20시 20분쯤까지 약 3.5시간 동안 Amazon CloudFront 의 VPC Origins 기능에 장애가 났다. VPC Origins 는 CloudFront 가 VPC 의 Private 서브넷에 있는 ALB, NLB, EC2 인스턴스 같은 애플리케이션의 콘텐츠를 배포하게 하는 기능이다. 나중에 AWS Health 에서 온 알림에 따르면 원인은 VPC Origins 연결을 관리하는 내부 공유 서브시스템의 용량 제약이었다. CloudFront 전체는 정상이었지만 이 서브시스템을 거치는 CloudFront 와 오리진 사이의 통신이 끊겼다.

ANDPAD 에서 영향을 받은 것은 Builder Work 하나였다. Builder Work 는 EKS 위에서 돌고 AWS Load Balancer Controller 가 Ingress 리소스를 ALB 에 반영하며, 주변 인프라는 Terraform 으로 관리한다. 이전에는 Public 서브넷의 ALB 와 CloudFront 로 프런트와 API 도메인을 나눴다. 그런데 CORS 오류와 Cognito 인증 때의 401 오류를 피하려고 만든 복잡한 Ingress 규칙이 부담이 되어, ALB 를 Private 서브넷으로 옮기고 CloudFront VPC Origin 으로 통신 경로를 하나로 묶었다. CloudFront 의 오리진은 VPC Origins 하나뿐이었다.

SRE 팀은 CloudFront 를 거치지 않고 Internet-facing ALB 로만 라우팅하기로 했다. VPC Origins 를 도입할 때 Internet-facing Ingress 와 ALB 를 지웠으므로 Ingress 를 다시 만들어야 했다. Argo Rollouts 의 Rollout 리소스에 묶고 promote 하는 절차까지 있어 시간이 걸렸다. 기존 WAF 는 us-east-1 글로벌 범위의 CloudFront 용이라 ALB 에 연결할 수 없어, 보안 팀과 함께 리전 WAF 를 따로 만들었다. ACM 인증서, WAF, 액세스 로그 설정을 묶은 IngressClass 와 용도별 Ingress 를 더해 라우팅을 되살렸고 Builder Work 가 복구되었다. 그 뒤 ANDPAD 는 VPC Origins 와 CloudFront 구성으로 돌아가되 Internet-facing 으로 바꾸는 수단을 코드에 남겨 두었다.

심각도
–
영향 범위
Builder Work was almost entirely unreachable; other ANDPAD services showed no problems after login
영향 사용자
–
지역
–
감지까지
15m
복구까지
–

증상

2026년 7월 16일 17시쯤 Datadog 이 알림을 울렸고, 거의 같은 때 CloudFront 에서 VPC Origins 연결을 쓰는 배포에 5xx 오류가 늘기 시작했다. CloudFront 자체는 정상으로 돌았지만 VPC Origins 기능에만 장애가 나서 504 Gateway Time-out 이 잇따랐다.

SRE 팀이 조사하니 VPC Origins 를 설정한 CloudFront 배포는 ANDPAD 제품 가운데 건설업 구인·이직 서비스 Builder Work 하나뿐이었다. Builder Work 는 거의 전면적으로 접속할 수 없었고, 다른 ANDPAD 서비스는 로그인한 뒤의 화면과 기능에 이상이 없었다.

Builder Work 는 Private 서브넷의 ALB 를 CloudFront 의 VPC Origin 으로만 두었기 때문에, AWS 가 회복하기를 기다리거나 ALB 를 Internet-facing 으로 되돌리는 것 말고는 방법이 없었다.

증상 서비스 중단오류율 상승

원인

촉발
CloudFront 의 VPC Origins 연결을 관리하는 AWS 내부 공유 서브시스템에서 용량 제약이 생겼다.

감지

17시쯤 Datadog 이 알림을 울렸고, 거의 같은 때 VPC Origins 연결을 쓰는 CloudFront 배포에서 5xx 오류가 늘고 있는 것을 알았다.

조치

후속 조치

교훈

VPC Origins 는 ALB 를 Private 서브넷에 두어 인터넷에서 오는 직접 접근을 막고 통신 경로를 단순하게 해 운영 부담을 줄인다. 그 대신 CloudFront 와 오리진 사이의 통신이 AWS 가 관리하는 공유 서브시스템을 거치므로, 그 서브시스템이 망가지면 CloudFront 전체가 정상이어도 통신이 끊긴다. ANDPAD 는 VPC Origins 의 이점을 버리지 않고 장애 때 쓸 우회 경로를 미리 마련해, 다음에 같은 위험이 드러날 때의 대응 비용을 낮추기로 했다. 상시 켜 둔 ALB 의 유지 비용은 치르지만, 이번에 Ingress 재생성과 Rollout 연결에 시간이 걸린 것을 반성해 주석만 풀면 전환할 수 있게 했다.

출처

관련 사례

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

kubegap 은 Claude Code 나 Codex 에서 쿠버네티스 클러스터를 읽기만 하며 이 사례와 같은 상태를 점검합니다. 이 사례의 구성 요소: CDN 과 엣지 네트워크, 클라우드 로드 밸런서, 인그레스 컨트롤러. 점검 항목의 근거는 이 사례 같은 공개 보고서입니다.

AI 도구와 스크립트용

API 는 키가 필요 없습니다. MCP 서버는 search_incidents, get_incident, list_incidents, get_topic, vocab 도구를 내놓습니다. 사용법은 API 와 MCP.