피드로 돌아가기
InfoQInfoQ
DevOps

AWS Load Balancer Controller Reaches GA with Kubernetes Gateway API Support

AWS Load Balancer Controller가 Kubernetes Gateway API GA 지원을 추가해 애노테이션 기반 설정을 타입 안전 CRD로 전환

Steef-Jan Wiggers2026년 3월 25일9intermediate

Context

AWS Load Balancer 설정은 기존 Ingress API에서 JSON을 Kubernetes 애노테이션 문자열로 주입하는 방식을 사용했으며, 스키마 검증이 없어 런타임에 오류가 발생할 수 있었다. 예를 들어 alb.ingress.kubernetes.io/target-group-attributes 애노테이션에 직접 문자열을 입력하는 과정에서 유효성 검증이 불가능했다.

Technical Solution

  • 애노테이션 기반 설정을 세 가지 CRD(TargetGroupConfiguration, LoadBalancerConfiguration, ListenerRuleConfiguration)로 전환: 구조화된 YAML로 apply 시점에 검증 수행
  • Gateway API를 통해 Layer 4 라우팅(TCP, UDP, TLS) 및 Layer 7 라우팅(HTTP, gRPC) 지원: Network Load Balancer와 Application Load Balancer의 모든 라우팅 시나리오 커버
  • 역할 분리 아키텍처 도입: GatewayClass(인프라 템플릿) → Gateway(리스너/TLS 설정) → HTTPRoute(경로 기반 라우팅)로 RBAC 경계 매핑
  • 크로스 네임스페이스 라우팅 지원: 플랫폼 팀이 공유 Gateway를 프로비저닝하면 앱 팀이 별도 네임스페이스에서 HTTPRoute 생성 가능
  • 자동 TLS 인증서 발견: 호스트명 지정 시 AWS Certificate Manager에서 일치하는 인증서 자동 연결 및 회전

Impact

아티클에 정량적 수치(성능 향상도, 지연 시간 감소, 비용 절감 등)가 명시되어 있지 않습니다.

Key Takeaway

Kubernetes Gateway API는 AWS, Google Cloud, NGINX, Envoy 등 20개 이상의 컨트롤러가 준수하는 표준이므로, 포터블한 매니페스트를 작성하되 AWS 특화 CRD는 선택적으로 계층화할 수 있다. 이는 문자열 기반 애노테이션으로 인한 런타임 오류를 IDE 지원과 검증 시간 오류로 전환하는 설계 원칙을 보여준다.


EKS에서 Ingress API를 사용 중인 팀은 새로운 프로젝트부터 Gateway API를 도입해 애노테이션 파싱 오류를 제거하고, v2.13.3+(Layer 4) 또는 v2.14.0+(Layer 7) 이상의 AWS Load Balancer Controller로 업그레이드하며, GatewayClass와 Gateway는 플랫폼 팀이 관리하고 앱 개발 팀은 HTTPRoute만 생성하도록 역할을 분리하면 cluster-admin 권한 없이 트래픽 라우팅을 안전하게 구성할 수 있다.

원문 읽기