Azure AGIC

TMT

AGIC가 정확히 무엇인지, 왜 사용하는지, 그리고 언제 사용하는지를 아래에 구조적으로 정리.


🔷 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 비교

항목AGICNGINX 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 네이티브 구성에서 매우 유용하며, 보안/운영 통합이 필요한 엔터프라이즈 환경에서 강력한 선택입니다.

Edit this page

On this Page