Application Gateway for Containers는 Kubernetes 워크로드를 위한 관리형 애플리케이션 계층(7계층) 부하 분산 및 Ingress 서비스입니다. Azure 클러스터 외부에서 기본 데이터 평면을 작동하는 동안 HTTP, HTTPS, gRPC 및 AI 유추 트래픽을 AKS(Azure Kubernetes Service) 애플리케이션으로 라우팅합니다.
지원되는 Ingress 및 Gateway API 리소스를 사용하여 Kubernetes에서 Application Gateway for Containers를 구성합니다. 이 구성 모델을 사용하면 플랫폼 팀이 공유 Azure 관리되는 수신 계층을 제공할 수 있으며, 애플리케이션 팀은 Kubernetes 네이티브 리소스를 사용하여 서비스에서 트래픽을 받는 방법을 설명합니다.
AI 워크로드의 경우 Application Gateway for Containers 유추 게이트웨이는 모델 인식 라우팅 및 요청 시간 엔드포인트 선택이 필요한 자체 호스팅 모델 서버를 지원합니다. 자세한 내용은 컨테이너용 Application Gateway - 유추 게이트웨이를 참조하세요.
컨테이너용 Application Gateway는 Application Gateway Ingress Controller (AGIC)에서 얻은 교훈을 바탕으로 구성된 전용 컨트롤 플레인과 데이터 플레인을 갖춘, 처음부터 Kubernetes용으로 설계된 별도의 Application Gateway 오퍼링입니다. ALB 컨트롤러는 클러스터에서 실행되며 Kubernetes 구성을 Azure Application Gateway for Containers 구성으로 변환합니다.
제품 요약
상위 수준에서 컨테이너용 Application Gateway는 다음을 제공합니다.
- Kubernetes 네이티브 구성: Ingress 및 Gateway API 리소스를 사용하여 요청이 클러스터 내 서비스에 도달하는 방식을 정의합니다.
- Azure 관리되는 수신 데이터 평면: Azure 클라이언트 요청을 처리하는 데이터 평면을 작동하는 동안 AKS 클러스터 외부에서 수신 트래픽을 유지합니다.
- 공유 수신 플랫폼: 애플리케이션 소유 라우팅 구성과 플랫폼 소유 수신 인프라를 분리합니다.
- 점진적 도입: 워크로드를 점진적으로 컨테이너용 Application Gateway로 이동할 수 있도록 Ingress 또는 Gateway API 리소스를 사용합니다.
- AI 유추 지원: 게이트웨이 API 유추 확장을 통해 구성된 모델 인식 라우팅 및 요청 시간 엔드포인트 선택을 사용하여 자체 호스팅 모델 서버로 유추 트래픽을 라우팅합니다.
- 애플리케이션 배달 제어: 계층 7 라우팅, 트래픽 분할, 상태 프로브, 재시도, TLS, 상호 인증 및 WAF(Web Application Firewall) 정책을 사용합니다.
작동 원리
컨테이너용 Application Gateway는 Kubernetes 구성을 Azure 트래픽 처리와 구분합니다. ALB 컨트롤러는 Ingress, Gateway, HTTPRoute 및 ApplicationLoadBalancer와 같은 Kubernetes 리소스를 모니터링하고, 원하는 구성을 Azure의 컨테이너용 Application Gateway에 적용합니다.
컨테이너용 Application Gateway 배포는 다음 네 가지 구성 요소로 구성됩니다.
- 컨테이너용 Application Gateway 리소스
- 프런트 엔드
- 연결
- 보안 정책
배포는 다음 종속성도 참조합니다.
- 서브넷 위임
- 사용자가 할당한 관리 ID
컨테이너용 Application Gateway의 아키텍처는 다음 그림에 요약되어 있습니다.
컨테이너용 Azure Application Gateway가 수신 요청을 수락하고 이를 백 엔드 대상으로 라우팅하는 방법에 대한 자세한 내용은 컨테이너용 Azure Application Gateway 구성 요소를 참조하세요.
지원되는 트래픽 관리 기능
컨테이너용 Application Gateway는 트래픽 관리를 위해 다음 기능을 지원합니다.
- AI 게이트웨이 기능
- 게이트웨이 API 유추 확장 지원
- 관리되는 BBR(본문 기반 라우터)을 사용하여 모델 인식 라우팅
- EPP(엔드포인트 선택기)를 사용하여 대기 시간을 낮추기 위해 최소 로드된 모델 복제본으로의 부하 인식 라우팅
- WAF(Web Application Firewall 사용하여 보안 유추)
- AKS 관리되는 애드온
- 자동 다시 시도
- 자동 확장
- 가용성 영역 복원력
- 사용자 지정 및 기본 상태 프로브
- ECDSA 및 RSA 인증서 지원
- 유연한 부하 분산 전략
- 최소 요청
- 부하 인식 라우팅
- 링 해시
- 라운드 로빈
- 가중 라운드 Robin
- gRPC
- 헤더 다시 쓰기
- HTTP/2
- HTTPS 트래픽 관리:
- SSL 종료
- 엔드투엔드 SSL
- 수신 및 게이트웨이 API 지원
- 다음에 대한 접두사/정확한 일치를 기반으로 하는 계층 7 HTTP/HTTPS 요청 전달:
- 호스트명
- 경로
- 헤더
- 쿼리 문자열
- 메서드
- 포트(80/443)
- 프런트 엔드, 백 엔드 또는 엔드투엔드에 대한 상호 인증(mTLS)
- SSE(서버 전송 이벤트) 지원
- TLS 정책
- URL 리디렉션
- URL 다시 쓰기
- WAF(웹 애플리케이션 방화벽)
- WebSocket 지원
배포 전략
컨테이너용 Application Gateway를 관리하기 위한 두 가지 배포 전략이 있습니다.
-
BYO(Bring Your Own) 배포: Azure 포털, Azure CLI, Azure PowerShell 또는 Terraform을 사용하여 컨테이너용 Application Gateway 리소스, 연결 리소스 및 프런트 엔드 리소스의 배포 및 수명 주기를 관리합니다. Kubernetes 내에서 구성에서 이러한 리소스를 참조합니다.
- 게이트웨이 API에서: Kubernetes에서 새 게이트웨이 리소스를 만들 때마다 먼저 Azure 프런트 엔드 리소스를 프로비전하고 게이트웨이 리소스에서 참조합니다. Azure 관리자는 프런트 엔드 리소스의 삭제를 관리합니다. Kubernetes의 게이트웨이 리소스가 삭제되면 프런트 엔드 리소스가 삭제되지 않습니다.
-
ALB 컨트롤러에서 관리: Kubernetes에 배포된 ALB 컨트롤러는 컨테이너 리소스 및 해당 하위 리소스에 대한 Application Gateway의 수명 주기를 담당합니다. ALB 컨트롤러는 ApplicationLoadBalancer 사용자 지정 리소스가 클러스터에 정의되면 컨테이너용 Application Gateway 리소스를 만듭니다. 해당 수명 주기는 사용자 지정 리소스의 수명 주기를 기반으로 합니다.
- 게이트웨이 API에서: ApplicationLoadBalancer 리소스를 참조하는 게이트웨이 리소스를 만들 때마다 ALB 컨트롤러는 새 프런트 엔드 리소스를 프로비전하고 게이트웨이 리소스의 수명 주기에 따라 수명 주기를 관리합니다.
지원되는 지역
컨테이너용 Application Gateway는 현재 다음 지역에서 사용할 수 있습니다.
- 오스트레일리아 동부
- 브라질 남부
- 캐나다 중부
- 인도 중부
- 미국 중부
- 동아시아
- 미국 동부
- 미국 동부 2
- 프랑스 중부
- 독일 중서부
- 한국 중부
- 미국 중북부
- 북유럽
- 노르웨이 동부
- 미국 중남부
- 동남아시아
- 스웨덴 중부
- 스위스 북부
- 아랍에미리트 북부
- 영국 남부
- 미국 서부
- 미국 서부 2
- 미국 서부 3
- 서유럽
게이트웨이 API 지원
ALB 컨트롤러는 게이트웨이 API의 버전 v1.5를 구현합니다.
| 게이트웨이 API 리소스 | 지원 | 주석 |
|---|---|---|
| GatewayClass | 예 | |
| 게이트웨이 | 예 | 수신기에서 HTTP 및 HTTPS 프로토콜을 지원합니다. 수신기에 허용되는 유일한 포트는 80과 443입니다. |
| HTTPRoute | 예 | |
| GRPCRoute | 예 | |
| ReferenceGrant | 예 | 현재 이 API의 v1alpha1 버전을 지원합니다. |
| InferencePool | 예 | |
| InferenceObjective | 예 | 현재 이 API의 버전 v1alpha1을 구현합니다. |
Ingress API 지원
ALB 컨트롤러는 수신에 대한 지원을 구현합니다.
| 수신 API 리소스 | 지원 | 주석 |
|---|---|---|
| 수신 | 예 | 수신기에서 HTTP 및 HTTPS 프로토콜을 지원합니다. |
문제 보고 및 피드백 제공
피드백을 얻으려면 feedback.azure.com 새 아이디어를 게시하세요. 문제의 경우 Application Gateway for Containers 리소스의 Azure 포털을 통해 지원 요청을 제기합니다.
가격 및 SLA
컨테이너용 Application Gateway에 대한 가격 책정 정보는 Application Gateway 가격 책정을 참조하세요.
컨테이너용 Application Gateway에 대한 SLA 정보는 온라인 서비스에 대한 SLA(서비스 수준 계약)를 참조하세요.
새로운 기능
컨테이너용 Application Gateway의 새로운 기능을 알아보려면 Azure 업데이트를 참조하세요.