내부 HTTP(S) 부하 분산용 인그레스

이 페이지에서는 내부 HTTP(S) 부하 분산용 인그레스가 Google Kubernetes Engine(GKE)에서 작동하는 방식을 설명합니다. 내부 HTTP(S) 부하 분산용 인그레스의 설정 및 사용 방법에 대해서도 배울 수 있습니다.

GKE에서 부하 분산을 사용하는 방법에 대한 일반적인 내용은 인그레스로 HTTP(S) 부하 분산을 참조하세요.

개요

GKE에서 내부 HTTP(S) 부하 분산기는 프록시 기반의 리전별 레이어 7 부하 분산기로 내부 부하 분산 IP 주소를 기반으로 서비스를 실행하고 확장할 수 있습니다. GKE 인그레스 객체는 GKE 클러스터에서 인그레스 객체를 생성하여 기본적으로 내부 HTTP(S) 부하 분산기를 지원합니다.

내부 HTTP(S) 부하 분산기용 인그레스 사용 시 이점

내부 HTTP(S) 부하 분산에 GKE 인그레스를 사용하면 다음과 같은 이점이 있습니다.

  • 가용성이 높은 GKE 관리형 인그레스 컨트롤러입니다.
  • 내부 서비스 간 통신을 위한 부하 분산입니다.
  • 네트워크 엔드포인트 그룹(NEG)을 통한 컨테이너 기반 부하 분산입니다.
  • HTTP 및 HTTPS를 지원하는 애플리케이션 라우팅입니다.
  • 고품질의 Compute Engine 상태 확인을 통해 복원력이 우수한 서비스를 제공합니다.
  • 트래픽 용량 요구사항을 충족하도록 필요에 따라 배포되는 Envoy 기반 프록시입니다.

Google Cloud 기능 지원

내부 HTTP(S) 부하 분산용 인그레스는 다양한 추가 기능을 지원합니다.

필수 네트워킹 환경

내부 HTTP(S) 부하 분산에 인그레스를 사용하려면 프록시 전용 서브넷을 사용해야 합니다.

내부 HTTP(S) 부하 분산기는 네트워크의 프록시 풀을 제공합니다. 프록시는 URL 맵, BackendService의 세션 어피니티, 각 백엔드 NEG의 분산 모드 등 기타 요인을 기반으로 이동하는 각 HTTP(S) 요청의 위치를 평가합니다.

다음 다이어그램은 내부 HTTP(S) 부하 분산기에 대한 트래픽 흐름을 간략하게 보여줍니다.

내부 HTTP(S) 부하 분산용 인그레스 다이어그램

프록시는 다음과 같은 방식으로 연결합니다.

  1. 클라이언트는 부하 분산기 전달 규칙의 IP 주소와 포트에 연결됩니다.
  2. 프록시 중 하나에서 클라이언트의 네트워크 연결을 수신하고 종료합니다.
  3. 프록시는 부하 분산기의 URL 맵과 백엔드 서비스에서 지정한 대로 NEG의 적절한 백엔드 VM 또는 엔드포인트에 대한 연결을 설정합니다.

각 부하 분산기의 프록시에는 내부 IP 주소가 할당됩니다. 리전에서 모든 내부 HTTP(S) 부하 분산기의 프록시는 내부 IP 주소를 사용합니다. 이 주소는 VPC 네트워크의 해당 리전에 있는 프록시 전용 단일 서브넷에서 가져옵니다. 이 서브넷은 내부 HTTP(S) 부하 분산 프록시 전용으로 예약되므로 다른 용도로 사용할 수 없습니다. 프록시 전용 서브넷에는 64개 이상의 IP 주소를 제공해야 합니다. 이는 /26 이하의 프리픽스 길이에 해당합니다. VPC 네트워크의 각 리전별로 1개의 프록시 전용 서브넷만 활성화될 수 있습니다.

리전의 내부 HTTP(S) 부하 분산기용으로 Google Cloud에서 만든 프록시만 프록시 전용 서브넷을 사용합니다. 부하 분산기 전달 규칙의 IP 주소는 프록시 전용 서브넷에서 시작되지 않습니다. 백엔드 VM 및 엔드포인트의 IP 주소도 프록시 전용 서브넷에서 시작되지 않습니다.

각 프록시는 해당 부하 분산기의 전달 규칙에서 지정한 IP 주소와 포트를 리슨합니다. 프록시에서 백엔드 VM 또는 엔드포인트로 전송되는 각 패킷에는 프록시 전용 서브넷의 소스 IP 주소가 있습니다.

이 프록시 전용 서브넷을 배포하는 단계는 네트워크 및 서브넷 구성에서 설명합니다. GKE 인그레스 컨트롤러는 방화벽 규칙의 배포를 관리하므로 직접 배포하지 않아도 됩니다.

다음 단계