포스트

Azure Application Gateway?

Azure Application Gateway?

Azure Application GateWay란?

WAF + L7 LB로 클라이언트와 가장 먼저 만나는 곳

AGW는 일반적으로 URI 경로의 HTTP 헤더를 기준으로 라우팅 결정을 내린다. (L7 LoadBalancer의 기능을 수행)

image

이러한 기능은 어떤 백엔드 노드 풀로 사용자를 유도 시켜 서로 다른 컨텐츠를 기능에 맞는 풀로 라우팅이 가능하다. 또한 트래픽에 따라서 자동으로 오토스케일링 기능(AGW Autoscaling)을 제공하는데 AGW 내부의 인스턴스 갯수가 증가 혹은 감소한다.

또한 AGW는 WAF의 기능도 제공하는데 URL의 특정한 패턴, XSS 공격, SQL Injection으로부터 시스템을 지키는 기능을 제공한다.

Azure Application Gateway의 동작

image

  1. Listners 외부 요청을(HTTP/HTTPS)를 받아드린다. 여기서 DNS Hostname을 설정하며 SSL을 사용하는 경우 SSL Offload가 일어난다.
  2. BackEnd Settings 수신기를 통해 들어온 트래픽을 Rule 설정에 따라 나눈다. (로드 밸런싱) 여기서 세션 어피니티들을 설정 가능
  3. BackEnd Pools 트래픽에 대한 Backend 처리 어떤 프로토콜로 받을건지.. 어떤 포트로 받을건지 만약 여기서 적절한 backend를 수신하지 못한다면? -> 404,

    backend가 죽어있다면? -> 502

Azure Application Gateway Ingress Controller (AGIC)

image

AGW에 붙어 있는 Ingress Controller

Kubernetes 어플리케이션으로 자체 Pod 형태로 실행된다. 이는 각각 AKS 클러스들 앞에 별도의 분산 장치가 필요하지 않고, 클러스터들은 감시 및 관리하는 이점을 가진다. (여러 Namespace도 관리 가능!) -> 기존의 백엔드 pod들에 영향을 주지 않은 특별한 AGW!

그외의 AGIC 기능 (Connection draining, Custom error page, HTTP/2 traffic..)

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.