AKS(Azure Kubernetes Service)의 수신

AKS의 수신은 클러스터 내의 서비스에 대한 외부 HTTP 유사 트래픽 액세스를 관리하는 Kubernetes 리소스입니다. AKS 수신은 부하 분산, SSL 종료, 이름 기반 가상 호스팅과 같은 서비스를 제공할 수 있습니다. Kubernetes 수신에 대한 자세한 내용은 Kubernetes 수신 설명서를 참조하세요.

수신 컨트롤러

수신 컨트롤러는 애플리케이션 트래픽을 관리할 때 7계층에서 작동하여 고급 기능을 제공합니다. 이를 통해 인바운드 URL을 기반으로 다양한 애플리케이션으로 HTTP 트래픽을 라우팅하여 보다 지능적이고 유연한 트래픽 분산 규칙을 ​​구축할 수 있습니다. 예를 들어, 수신 컨트롤러는 URL 경로에 따라 트래픽을 다양한 마이크로 서비스로 전달하여 서비스의 효율성과 구성을 향상할 수 있습니다.

반면, LoadBalancer 형식 서비스는 만들 때 기본 Azure Load Balancer 리소스를 설정합니다. 이 부하 분산 장치는 4계층에서 작동하여 지정된 포트에서 서비스의 Pod로 트래픽을 분산합니다. 그러나 4계층 서비스는 실제 애플리케이션을 인식하지 못하며 이러한 형식의 복잡한 라우팅 규칙을 구현할 수 없습니다.

두 가지 방식의 차이점을 이해하면 트래픽 관리 요구 사항에 맞는 올바른 도구를 선택하는 데 도움이 됩니다.

AKS 클러스터의 수신 트래픽 흐름을 보여 주는 다이어그램

수신 옵션 비교

다음 표에서는 다양한 수신 컨트롤러 옵션 간의 기능 차이점을 나열합니다.

기능 애플리케이션 라우팅 추가 기능 컨테이너용 Application Gateway Azure 서비스 메시/Istio 기반 서비스 메시
수신/게이트웨이 컨트롤러 NGINX 수신 컨트롤러 컨테이너용 Azure Application Gateway Istio 수신 게이트웨이
API 수신 API 수신 API 및 게이트웨이 API 게이트웨이 API
호스팅 클러스터 내 Azure 호스팅 클러스터 내
크기 조정 자동 확장 자동 확장 자동 확장
부하 분산 내부/외부 외부 내부/외부
SSL 종료 클러스터 내 예: 오프로드 및 E2E SSL 클러스터 내
mTLS 해당 없음 백 엔드의 경우 예 해당 없음
고정 IP 주소 해당 없음 FQDN 해당 없음
Azure Key Vault에 저장된 SSL 인증서 해당 없음
DNS 영역 관리에 대한 Azure DNS 통합 해당 없음

다음 표에서는 각 수신 컨트롤러를 사용할 수 있는 다양한 시나리오를 나열합니다.

수신 옵션 사용 시기
관리형 NGINX - 애플리케이션 라우팅 추가 기능 • 클러스터 내 호스팅, 사용자 지정 가능 및 스케일링 가능한 NGINX 수신 컨트롤러
• 기본 부하 분산 및 라우팅 기능
• 내부 및 외부 부하 분산 장치 구성
• 정적 IP 주소 구성
• 인증서 관리를 위해 Azure Key Vault와 통합
• 퍼블릭 및 프라이빗 DNS 관리를 위해 Azure DNS 영역과 통합
• 수신 API를 지원합니다.
컨테이너용 Application Gateway • Azure 호스팅 수신 게이트웨이
• 컨트롤러에서 관리하는 유연한 배포 전략 또는 Bring Your Own 컨테이너용 Application Gateway
• 자동 재시도, 가용성 영역 복원력, 백 엔드 대상에 대한 mTLS(상호 인증), 트래픽 분할/가중 라운드 로빈 및 자동 스케일링과 같은 고급 트래픽 관리 기능
• 인증서 관리를 위해 Azure Key Vault와 통합
• 퍼블릭 및 프라이빗 DNS 관리를 위해 Azure DNS 영역과 통합
• 수신 및 게이트웨이 API를 지원합니다.
Istio 수신 게이트웨이 • 서비스 메시에 Istio와 함께 사용하는 경우 Envoy를 기준으로 합니다.
• 속도 제한 및 회로 차단과 같은 고급 트래픽 관리 기능
• mTLS 지원
• 게이트웨이 API를 지원합니다.

수신 리소스 만들기

애플리케이션 라우팅 추가 기능은 AKS에서 수신 컨트롤러를 구성하는 데 권장되는 방법입니다. 애플리케이션 라우팅 추가 기능은 다음 기능을 제공하는 AKS(Azure Kubernetes Service)용 완전 관리형 수신 컨트롤러입니다.

  • Kubernetes NGINX 수신 컨트롤러를 기준으로 하는 관리형 NGINX 수신 컨트롤러의 손쉬운 구성

  • 퍼블릭 및 프라이빗 영역 관리를 위해 Azure DNS와 통합

  • Azure Key Vault에 저장된 인증서로 SSL 종료.

애플리케이션 라우팅 추가 기능에 대한 자세한 내용은 애플리케이션 라우팅 추가 기능을 사용하는 관리형 NGINX 수신을 참조하세요.

클라이언트 원본 IP 유지

AKS 클러스터의 컨테이너에 대한 요청에 클라이언트 원본 IP를 유지하도록 수신 컨트롤러를 구성합니다. 수신 컨트롤러가 클라이언트의 요청을 AKS 클러스터의 컨테이너에 라우팅하는 경우, 해당 요청의 원래 원본 IP는 대상 컨테이너에서 사용할 수 없습니다. 클라이언트 원본 IP 유지를 사용 설정하면 클라이언트의 원본 IP는 X-Forwarded-For 아래의 요청 헤더에서 사용할 수 있습니다.

수신 컨트롤러에서 클라이언트 원본 IP 유지를 사용하는 경우에는 TLS 통과를 사용할 수 없습니다. 클라이언트 원본 IP 유지 및 TLS 통과는 LoadBalancer 유형과 같은 다른 서비스와 함께 사용할 수 있습니다.

클라이언트 원본 IP 보존에 대한 자세한 내용은 AKS의 부하 분산 장치 서비스에서 클라이언트 원본 IP 보존이 작동하는 방식을 참조하세요.