Azure AGIC
TMTAGIC가 정확히 무엇인지, 왜 사용하는지, 그리고 언제 사용하는지를 아래에 구조적으로 정리.
🔷 AGIC란?
**AGIC(Application Gateway Ingress Controller)**는 Azure에서 제공하는 Kubernetes Ingress Controller입니다. Kubernetes의
Ingress
리소스를 감지해서 **Azure Application Gateway의 규칙(라우팅, 백엔드 등)**을 자동으로 구성해주는 컨트롤러입니다.
✅ 왜 AGIC를 사용하는가? (장점)
목적 | 설명 |
---|---|
🔁 자동 연동 | Ingress 리소스를 만들면 Application Gateway가 자동 설정됨 (백엔드 풀, 리스너, 라우팅 규칙 등) |
🛡️ L7 보안 기능 활용 | Application Gateway의 WAF(Web Application Firewall), SSL 종료(termination) 등을 Kubernetes에서 그대로 활용 가능 |
🌐 Azure 네트워크 통합 | Azure Load Balancer 대신 App Gateway로 외부 트래픽 관리 가능. VNet, NSG, Private IP 구성 통합 |
📉 Ingress Controller 운영 부담 감소 | NGINX Ingress를 직접 운영할 필요 없이 Azure 관리형으로 처리 가능 |
📦 AGIC의 구성 요소
+-------------------------------+
| Azure Application |
| Gateway |
| + Backend Pools |
| + HTTP Settings |
| + Listener |
| + Routing Rules (Path/Host) |
+-------------------------------+
▲
| AGIC가 자동 구성
▼
+-------------------------------+
| AKS (Kubernetes) |
| + Service (ClusterIP) |
| + Ingress (YAML) |
+-------------------------------+
AGIC는 Kubernetes의 Ingress
를 감지해서:
- Application Gateway에 Listener, Path-based Routing, Backend Pool을 자동 생성
- Pod 또는 Service IP를 백엔드에 자동 등록
- Health probe 설정까지 동기화
💡 AGIC vs NGINX Ingress 비교
항목 | AGIC | NGINX Ingress |
---|---|---|
설치 위치 | Azure 관리 Application Gateway 외부 | 클러스터 내부 |
로드밸런싱 | Azure L7 Application Gateway | 내부 Pod 단위 |
WAF 지원 | ✅ 있음 (App Gateway WAF) | ❌ 별도 구성 필요 |
SSL 종료 | App Gateway에서 가능 | 자체 TLS 구성 필요 |
사용 주체 | Azure 네트워크 중심 고객 | 커스텀 제어/운영 선호 고객 |
📌 AGIC를 써야 하는 경우
상황 | AGIC 적합 여부 |
---|---|
AKS에서 Azure WAF와 연동하고 싶음 | ✅ 사용 권장 |
조직이 App Gateway 기반으로 네트워크 보안 관리 중 | ✅ 사용 권장 |
운영 부담 없이 Ingress 구성 원함 | ✅ 사용 권장 |
고도로 커스터마이징된 L7 리버스 프록시 구성 필요 | ❌ NGINX 등 타 솔루션이 적합 |
🧪 예시: 간단한 Ingress 리소스
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: azure-application-gateway
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
위 Ingress를 만들면, AGIC가 감지하여 App Gateway에 다음을 설정합니다:
myapp.example.com
Listener 생성/
경로 라우팅 규칙 생성my-service
로 트래픽 전달될 Backend Pool 생성
✳️ 결론
AGIC는 AKS와 Azure Application Gateway를 연결하는 자동화 브릿지입니다. 보안, 네트워크 일관성, Azure 네이티브 구성에서 매우 유용하며, 보안/운영 통합이 필요한 엔터프라이즈 환경에서 강력한 선택입니다.