
대규모 트래픽 환경에서 한계 없는 L7 라우팅을 구현하고 고정비까지 움켜쥔 SRE 팀의 실전 아키텍처 재설계기
이 아티클은 100만 개 사이트를 지탱하는 아임웹 SRE 팀이 AWS ALB의 태생적 제한을 극복해 나간 여정을 다룹니다. 관리형 네트워킹 서비스인 VPC Lattice와 오픈소스 Kong Gateway를 결합하여 확장성 문제를 명쾌하게 해결하고, 서비스 그룹 공유 설계를 도입해 클라우드 고정 비용을 드라마틱하게 절감한 실전 노하우를 고스란히 담고 있습니다.
멀티 계정/멀티 VPC 구조에서 EKS 마이크로서비스 간의 네트워킹을 Transit Gateway 없이 효율적으로 설계하고자 하는 SRE 및 DevOps 엔지니어에게 적극 추천합니다. 특히 AWS 관리형 리소스의 과금 구조와 기술적 제약을 실무 관점에서 현명하게 타협하고 돌파하는 힌트를 얻을 수 있습니다.
고객 소유 도메인 기반의 대규모 트래픽을 처리하는 과정에서 AWS ALB의 리스너 규칙 제한(200개) 및 ECS 서비스당 타겟 그룹 제한(최대 5개)으로 인해 마이크로프론트엔드(MFE) 서비스 확장이 불가능한 한계에 직면했습니다. 또한 신규 EKS 워크로드 이전을 위해 보안 격리를 유지하면서도 멀티 계정 및 VPC 경계를 매끄럽고 선언적으로 라우팅해야 하는 과제가 있었습니다.
외부 진입 영역(North-South)과 서비스 간 연결 영역(East-West)을 분리하여 계정 경계는 NLB로 넘고 L7 라우팅은 Kong 게이트웨이에 모았으며 최종 목적지까지는 Amazon VPC Lattice로 연결했습니다. 비용 최적화를 위해 79개 Lattice 서비스를 14개 그룹으로 통합하여 공유 모델로 설계하고, 배포 시 5xx 에러 방지를 위해 단일 Kubernetes Service 구조 하에서 Pod Readiness Gate를 활성화했습니다.
무중단 마이그레이션을 통해 배포 중 단 한 건의 요청 유실도 없이(실측 35,700건 모두 성공) 이관을 완료했습니다. 또한 Lattice 서비스 통합 아키텍처를 통해 월 고정비를 1,874달러에서 332달러로 약 82% 절감하는 정량적 성과를 거두었습니다.
Trade-off
Lattice 서비스를 그룹으로 통합함에 따라 각 서비스가 제공하던 처리량 한도(AZ당 10,000 RPS)를 그룹 내 여러 애플리케이션이 공유하게 되었습니다. 또한 Argo Rollouts 카나리 배포에서 정밀한 가중치 기반 트래픽 분배 대신 Pod 수 기준 분배 방식을 도입해야 했으며, 공유 리소스를 관리하기 위해 GitOps PR을 분리하여 적용해야 하는 등 운영 복잡도가 일부 증가했습니다.
VPC 및 AWS 계정 경계를 가로질러 마이크로서비스 간의 연결, 보안 및 모니터링을 단순화하는 완전관리형 애플리케이션 레이어 네트워킹 서비스입니다.
쿠버네티스 Pod가 트래픽을 처리할 준비가 완료되었는지를 판단할 때 기본 내부 체크 외에 로드밸런서의 상태 정보까지 연동하여 결정하게 해주는 검증 메커니즘입니다.
쿠버네티스 표준 Gateway API 사양을 기반으로 AWS VPC Lattice 리소스를 자동 생성 및 동기화해주는 컨트롤러 구현체입니다.