컨테이너용 Application Gateway란?

컨테이너용 Azure Application Gateway는 Kubernetes 클러스터에서 실행되는 워크로드를 위한 새로운 애플리케이션(계층 7) 부하 분산 및 동적 트래픽 관리 제품입니다. 이는 Azure의 애플리케이션 부하 분산 포트폴리오를 확장하며 Application Gateway 제품군의 새로운 제품입니다.

컨테이너용 Application Gateway는 AKS(Azure Kubernetes Service) 고객이 Azure의 기본 Application Gateway 애플리케이션 부하 분산 장치를 사용할 수 있게 해주는 Kubernetes 애플리케이션인 AGIC(Application Gateway 수신 컨트롤러)가 진화한 것입니다. 현재 형태에서 AGIC는 Kubernetes 리소스의 하위 집합에서 변경 내용을 모니터링하고 ARM(Azure Resource Manager)을 활용하여 이를 Application Gateway에 적용합니다.

작동 방식

컨테이너용 Application Gateway는 다음 세 가지 구성 요소로 구성됩니다.

  • 컨테이너용 Application Gateway
  • 프런트 엔드
  • 연결

다음 종속성은 컨테이너용 Application Gateway 배포에서도 참조됩니다.

  • 개인 IP 주소
  • 서브넷 위임
  • 사용자가 할당한 관리 ID

컨테이너용 Application Gateway의 아키텍처는 다음 그림에 요약되어 있습니다.

인터넷에서 컨테이너용 Application Gateway로 수신하고 AKS의 백 엔드 Pod로 전송되는 트래픽을 보여 주는 다이어그램

컨테이너용 Azure Application Gateway가 수신 요청을 수락하고 이를 백 엔드 대상으로 라우팅하는 방법에 대한 자세한 내용은 컨테이너용 Azure Application Gateway 구성 요소를 참조하세요.

기능 및 혜택

컨테이너용 Application Gateway는 릴리스 시 다음과 같은 몇 가지 완전히 새로운 기능을 제공합니다.

  • 트래픽 분할/가중 라운드 로빈
  • 백 엔드 대상에 대한 상호 인증
  • 수신 및 게이트웨이 API에 대한 Kubernetes 지원
  • 유연한 배포 전략
  • 향상된 성능으로 Pod, 경로 및 프로브를 추가하거나 이동하기 위한 거의 실시간 업데이트 제품

컨테이너용 Application Gateway는 AKS 클러스터에 대한 탄력적이고 확장 가능한 수신을 제공하며 기존 Application Gateway와는 다른 새로운 ARM API 집합이 포함된 새로운 데이터 평면과 컨트롤 플레인으로 구성됩니다. 이러한 API는 현재 Application Gateway 구현과 다릅니다. 컨테이너용 Application Gateway는 AKS 클러스터 데이터 평면 외부에 있으며 수신을 담당합니다. 이 서비스는 AKS 클러스터 내부에서 실행되고 Kubernetes 게이트웨이 API를 준수하는 ALB 컨트롤러 구성 요소에 의해 관리됩니다.

부하 분산 기능

컨테이너용 Application Gateway는 트래픽 관리를 위해 다음 기능을 지원합니다.

  • 자동 다시 시도
  • 자동 확장
  • 가용성 영역 복원력
  • 기본 및 사용자 지정 상태 프로브
  • 헤더 다시 쓰기
  • HTTP/2
  • HTTPS 트래픽 관리:
    • SSL 종료
    • 종단 간 SSL
  • 수신 및 게이트웨이 API 지원
  • 다음에 대한 접두사/정확한 일치를 기반으로 하는 계층 7 HTTP/HTTPS 요청 전달:
    • Hostname
    • Path
    • 헤더
    • 쿼리 문자열
    • 메서드
    • 포트(80/443)
  • 백 엔드 대상에 대한 상호 인증(mTLS)
  • 트래픽 분할/가중 라운드 로빈
  • TLS 정책
  • URL 리디렉션
  • URL 재작성

배포 전략

컨테이너용 Application Gateway를 관리하기 위한 두 가지 배포 전략이 있습니다.

  • BYO(Bring Your Own) 배포: 이 배포 전략에서 컨테이너용 Application Gateway 리소스, 연결 및 프런트 엔드 리소스의 배포 및 수명 주기는 Azure Portal, CLI, PowerShell, Terraform 등을 통해 가정되고 Kubernetes 내에서 구성에서 참조됩니다.
    • 게이트웨이 API: Kubernetes에서 새 게이트웨이 리소스를 만들 때마다 프런트 엔드 리소스가 먼저 Azure에서 프로비전되고 게이트웨이 리소스에서 참조되어야 합니다. 프런트 엔드 리소스 삭제는 Azure 관리자가 담당하며 Kubernetes의 게이트웨이 리소스가 삭제될 때 삭제되지 않습니다.
  • ALB 컨트롤러에서 관리: 이 배포 전략에서 Kubernetes에 배포된 ALB 컨트롤러는 컨테이너 리소스 및 해당 하위 리소스에 대한 Application Gateway의 수명 주기를 담당합니다. ALB 컨트롤러는 ApplicationLoadBalancer 사용자 지정 리소스가 클러스터에 정의되고 해당 수명 주기가 사용자 지정 리소스의 수명 주기를 기반으로 하는 경우 컨테이너용 Application Gateway 리소스를 만듭니다.
    • 게이트웨이 API: ApplicationLoadBalancer 리소스를 참조하여 게이트웨이 리소스가 만들어질 때마다 ALB 컨트롤러는 새로운 프런트 엔드 리소스를 프로비전하고 게이트웨이 리소스의 수명 주기에 따라 해당 수명 주기를 관리합니다.

지원되는 지역

컨테이너용 Application Gateway는 현재 다음 지역에서 제공됩니다.

  • 오스트레일리아 동부
  • 캐나다 중부
  • 인도 중부
  • 미국 중부
  • 동아시아
  • 미국 동부
  • 미국 동부2
  • 프랑스 중부
  • 독일 중서부
  • 한국 중부
  • 미국 중북부
  • 북유럽
  • 노르웨이 동부
  • 미국 중남부
  • 동남아시아
  • 스위스 북부
  • 아랍에미리트 북부
  • 영국 남부
  • 미국 서부
  • 서유럽

게이트웨이 API 구현

ALB 컨트롤러는 게이트웨이 API 버전 v1을 구현합니다.

게이트웨이 API 리소스 지원 설명
GatewayClass
게이트웨이 수신기에서 HTTP 및 HTTPS 프로토콜을 지원합니다. 수신기에 허용되는 유일한 포트는 80과 443입니다.
HTTPRoute
ReferenceGrant 현재 이 API의 v1alpha1 버전을 지원합니다.

수신 API 구현

ALB 컨트롤러는 수신에 대한 지원을 구현합니다.

수신 API 리소스 지원 설명
수신 수신기에서 HTTP 및 HTTPS 프로토콜을 지원합니다.

문제 보고 및 피드백 제공

피드백이 있는 경우 feedback.azure.com에 새로운 아이디어를 게시합니다. 문제가 있는 경우 컨테이너용 Azure Application Gateway 리소스의 Azure Portal을 통해 지원 요청을 제출합니다.

가격 및 SLA

컨테이너용 Application Gateway 가격 책정 정보는 Application Gateway 가격 책정을 참조하세요.

컨테이너용 Application Gateway SLA 정보는 온라인 서비스에 대한 Service Level Agreement(서비스 수준 약정)를 참조하세요.

새로운 기능

컨테이너용 Application Gateway의 새로운 기능을 알아보려면 Azure 업데이트를 참조하세요.

다음 단계