영역 네트워크 엔드포인트 그룹 개요

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

네트워크 엔드포인트 그룹(NEG)은 백엔드 엔드포인트 또는 서비스 그룹을 지정하는 구성 객체입니다. 영역 NEG는 IP 주소 컬렉션 및 단일 서브넷 내 Google Cloud 리소스의 IP 주소/포트 조합을 나타내는 영역 리소스입니다.

NEG를 사용하면 전체 VM 대신 소프트웨어 서비스를 나타내는 IP 주소 및 포트의 논리적 그룹을 만들 수 있기 때문에 유용합니다. Apache Mesos 또는 Cloud Foundry 같은 다른 조정 서비스에서 관리하는 마이크로서비스(Google Cloud VM에서 실행)의 IP 주소는 엔드포인트일 수 있습니다.

다른 NEG 유형에 대한 자세한 내용은 다음을 참조하세요.

NEG를 구성하는 네트워크 엔드포인트 유형에 따라 2가지 유형의 영역 NEG가 있습니다. 두 가지 유형의 영역 NEG는 서로 다른 사용 사례와 부하 분산기 유형을 지원합니다.

엔드포인트가 GCE_VM_IP인 NEG

이러한 영역 NEG에는 Compute Engine VM의 기본 IP 주소로 확인되는 내부 네트워크 엔드포인트가 하나 이상 포함됩니다. 이 유형의 영역 NEG가 있는 포트는 지정할 수 없습니다.

GCE_VM_IP NEG를 사용하면 NEG의 VPC 네트워크에 있는 VM의 기본 내부 IP 주소에 속하는 엔드포인트만 연결할 수 있습니다. NEG가 NIC와 동일한 VPC 네트워크를 사용하면 다중 NIC VM의 모든 NIC의 기본 내부 IP 주소를 NEG에 추가할 수 있습니다.

이러한 유형의 엔드포인트는 내부 TCP/UDP 부하 분산기의 백엔드 서비스에서 백엔드로만 사용할 수 있습니다.

엔드포인트가 GCE_VM_IP_PORT인 NEG

이러한 영역 NEG에는 VM의 기본 내부 IP 주소 또는 별칭 IP 범위 중 하나의 IP 주소로 확인되는 내부 네트워크 엔드포인트가 하나 이상 포함됩니다. 예를 들어 GKE는 엔드포인트가 노드의 별칭 IP 범위의 IP 주소와 포트(Pod IP 주소 및 컨테이너 포트)인 이 유형의 NEG를 사용합니다. 각 네트워크 엔드포인트는 IP 주소와 포트 조합을 사용하여 지정됩니다.

이러한 영역 NEG 백엔드를 사용하면 IP 주소 및 포트를 지정할 수 있으므로 VM 인스턴스 내에서 실행되는 애플리케이션 또는 컨테이너 간에 세분화 방식으로 트래픽을 배포할 수 있습니다.

VM에서 실행되는 컨테이너나 애플리케이션에 고유한 GCE_VM_IP_PORT 네트워크 엔드포인트를 만들려면 VM의 기존 IP 주소를 사용하거나 별칭 IP 주소 기능을 사용하여 VM에 할당된 보조 IP를 사용해야 합니다. VM에서 실행되는 컨테이너 또는 애플리케이션에서 실행 중인 소프트웨어는 네트워크 엔드포인트에서 사용된 IP 주소에 바인딩되도록 구성해야 합니다.

GCE_VM_IP_PORT NEG는 특히 GKE에 유용합니다. 영역 NEG를 GKE와 함께 사용하는 방법은 컨테이너 기반 부하 분산 사용을 참조하세요.

엔드포인트 관계

NEG를 만들 때 영역, 네트워크, 서브넷을 선택합니다. 모든 엔드포인트 IP 주소는 영역 NEG와 동일한 서브넷에 있어야 합니다.

선택한 네트워크가 자동 모드 네트워크이면 서브넷 지정 단계는 생략해도 됩니다. 하지만 서브넷은 여전히 영역 NEG와 연결되어 있습니다. 자동 모드 네트워크를 지정했지만 영역 NEG를 만들 때 서브넷을 지정하지 않으면 영역 NEG에 대해 선택한 영역이 포함된 리전에 자동으로 생성된 서브넷을 사용하게 됩니다.

만드는 영역 NEG 유형은 NEG를 만들 때 지정됩니다(GCE_VM_IP 또는 GCE_VM_IP_PORT). 이렇게 하면 NEG가 지원하는 엔드포인트 유형이 결정됩니다.

GCE_VM_IPGCE_VM_IP_PORT 영역 NEG의 경우:

  • 각 VM 엔드포인트의 이름을 지정해야 합니다.

  • 각 엔드포인트 VM은 NEG와 동일한 영역에 있어야 합니다.

  • NEG의 모든 엔드포인트는 IP 주소와 포트의 고유한 조합이어야 합니다. 2개 이상의 NEG에서 엔드포인트 IP 주소와 포트의 고유한 조합을 참조할 수 있습니다.

  • 각 엔드포인트 VM은 NEG와 동일한 VPC 네트워크에 네트워크 인터페이스(NIC)가 있어야 합니다. 엔드포인트 IP 주소는 NEG에 지정된 것과 동일한 서브넷과 연결되어야 합니다.

  • 각 NEG는 NEG당 최대 엔드포인트 수를 지원합니다. 엔드포인트는 여러 고유한 VM 간에 분산되거나 하나의 VM에 위치할 수 있습니다.

GCE_VM_IP_PORT NEG의 경우 엔드포인트를 추가할 때 IP 주소와 포트를 지정하거나, IP 주소만 지정할지, 둘 다 지정하지 않을 있습니다.

  • IP 주소와 포트를 지정하는 경우 IP 주소는 VM NIC의 기본 내부 IP 주소이거나 NIC의 별칭 IP일 수 있습니다. 포트는 선택 항목입니다.

  • IP 주소만 지정하는 경우 IP 주소는 VM NIC의 기본 내부 IP 주소이거나 NIC의 별칭 IP일 수 있습니다. 사용되는 포트는 NEG의 기본 포트입니다.

  • 둘 다 생략하는 경우 Google Cloud가 NIC의 기본 내부 IP 주소를 선택하고 NEG의 기본 포트를 사용합니다.

영역 NEG를 사용한 부하 분산

영역 NEG는 부하 분산기에서 백엔드 서비스의 백엔드로 사용할 수 있습니다. 영역 NEG를 백엔드 서비스의 백엔드로 사용하면 해당 백엔드 서비스의 다른 모든 백엔드도 동일한 유형의 영역 NEG여야 합니다(모든 GCE_VM_IP 또는 GCE_VM_IP_PORT). 인스턴스 그룹과 영역 NEG를 동일한 백엔드 서비스에서 백엔드로 사용할 수 없습니다.

동일한 네트워크 엔드포인트를 둘 이상의 영역 NEG에 추가할 수 있습니다. 둘 이상의 백엔드 서비스의 백엔드로 동일한 영역 NEG를 사용해도 됩니다.

GCE_VM_IP_PORT 영역 NEG는 백엔드 서비스의 프로토콜에 따라 RATE 분산 모드 또는 CONNECTION 분산 모드를 사용할 수 있습니다. 지원되는 부하 분산기에는 대상 용량이 정의되어 있어야 합니다.

GCE_VM_IP 영역 NEG는 CONNECTION 분산 모드를 사용해야 하며 내부 TCP/UDP 부하 분산기는 대상 용량 설정을 지원하지 않으므로 대상 용량을 정의할 수 없습니다.

UTILIZATION 분산 모드는 영역 NEG 백엔드와 함께 사용할 수 없습니다.

내부 TCP/UDP 부하 분산

GCE_VM_IP 엔드포인트가 있는 영역 NEG는 내부 TCP/UDP 부하 분산기에서 백엔드 서비스의 백엔드로만 사용할 수 있습니다.

GCE_VM_IP 엔드포인트가 있는 NEG의 기본 사용 사례는 다음과 같습니다.

내부 TCP/UDP 부하 분산기의 간소화된 VM 관리

인스턴스 그룹과 마찬가지로 여러 내부 TCP/UDP 부하 분산기의 백엔드와 동일한 NEG를 사용할 수 있습니다. 인스턴스 그룹과 달리 VM 엔드포인트는 여러 NEG의 구성원일 수 있으며, 이러한 NEG는 각각 하나 이상의 내부 TCP/UDP 부하 분산기의 백엔드로 사용할 수 있습니다.

겹치는 `GCE_VM_IP` 영역 NEG가 있는 내부 TCP/UDP 부하 분산기
겹치는 영역 NEG가 있는 내부 TCP/UDP 부하 분산기

GKE 하위 설정

GKE는 GCP_VM_IP 영역 NEG 및 하위 설정을 사용하여 다음과 같은 방법으로 내부 TCP/UDP 부하 분산기의 확장성을 개선합니다.

하위 설정을 사용하지 않으면 GKE는 영역당 하나의 비관리형 인스턴스 그룹을 만듭니다. 이는 해당 영역에 있는 모든 노드 풀의 클러스터 노드로 구성됩니다. 이러한 영역 인스턴스 그룹은 하나 이상의 내부 LoadBalancer 서비스(및 NEG를 사용하지 않는 외부 인그레스)의 백엔드로 사용됩니다.

하위 설정을 사용하면 GKE는 각 내부 LoadBalancer 서비스에 대해 GCE_VM_IP 영역 NEG를 만듭니다. 동일한 엔드포인트가 둘 이상의 영역 NEG의 구성원이 될 수 있습니다. 인스턴스 그룹과 달리 Google Cloud는 동일한 엔드포인트가 포함된 여러 영역 NEG에 부하를 분산할 수 있습니다.

하위 설정은 노드가 250개가 넘는 클러스터에서 내부 LoadBalancer 서비스에 트래픽을 보다 효율적으로 분산합니다. 예를 들어 300노드 GKE 클러스터에는 NEG에 25개 노드가 있는 한 개의 내부 LoadBalancer 서비스가 있을 수 있습니다. 해당 서비스에는 25개의 제공 Pod가 있기 때문입니다. 이 서비스의 인스턴스 그룹 백엔드에 300개 노드를 모두 추가할 필요는 없습니다.

NEG, 전달 규칙, 백엔드 서비스, 기타 Google Cloud 네트워킹 리소스의 할당량은 계속 적용됩니다.

자세한 내용은 내부 TCP/UDP 부하 분산기 하위 설정 사용을 참조하세요.

외부 HTTP(S), 내부 HTTP(S), 외부 TCP/SSL 프록시, 내부 TCP 프록시 부하 분산

다음 그림은 GCE_VM_IP_PORT 엔드포인트가 있는 영역 NEG가 백엔드인 부하 분산기의 구성 요소를 보여줍니다.

부하 분산의 영역 네트워크 엔드포인트 그룹(확대하려면 클릭)
부하 분산의 영역 네트워크 엔드포인트 그룹(확대하려면 클릭)

이러한 부하 분산기의 아키텍처 요구사항에 대한 자세한 내용은 다음을 참조하세요. * 외부 HTTP(S) 부하 분산기 개요 * 내부 HTTP(S) 부하 분산기 개요 * 외부 TCP 프록시 부하 분산기 개요 * 내부 리전 TCP 프록시 부하 분산기 개요 * 외부 SSL 프록시 부하 분산기 개요

GCE_VM_IP_PORT NEG 영역 NEG의 기본 사용 사례는 컨테이너 기반 부하 분산이므로 VM에서 실행되는 컨테이너(예: GKE 클러스터의 Pod IP 주소)에 직접 트래픽을 분산시킬 수 있습니다.

컨테이너 기반 부하 분산은 부하 분산기가 Pod를 직접 대상으로 지정하고, VM 수준 대신 Pod 수준으로 부하 분산 결정을 내릴 수 있게 해줍니다.

다음 예시는 VM의 컨테이너에서 실행되는 마이크로서비스 간에 부하 분산기가 트래픽을 분산시키는 방법을 보여줍니다. VM은 서브넷에서 별칭 IP 범위를 사용하도록 구성되며, 이러한 범위는 컨테이너에서 주소로 사용합니다.

컨테이너를 사용한 부하 분산의 영역 네트워크 엔드포인트 그룹(확대하려면 클릭)
컨테이너를 사용한 부하 분산의 영역 네트워크 엔드포인트 그룹(확대하려면 클릭)

GKE 인그레스에서 관리되는 NEG 또는 독립형 NEG를 사용하는 두 가지 방법으로 컨테이너 기반 부하 분산을 구성할 수 있습니다.

  • NEG가 있는 Kubernetes 인그레스(권장)

    NEG가 인그레스와 함께 사용되면 인그레스 컨트롤러는 HTTP(S) 부하 분산기의 모든 측면을 용이하게 해줍니다. 여기에는 가상 IP 주소, 전달 규칙, 상태 확인, 방화벽 규칙 등이 포함됩니다. 이를 구성하는 방법은 인그레스를 통한 컨테이너 기반 부하 분산을 참조하세요.

    인그레스는 NEG 관리를 간소화하는 기능이 많기 때문에 컨테이너 기반 부하 분산을 위해 NEG를 사용할 때 권장되는 방법입니다. 또는 다음 지점(독립형 NEG)에 설명된 대로 프록시 부하 분산기를 수동으로 만들 수 있지만 GKE에서 NEG 엔드포인트 멤버십을 계속 관리할 수 있습니다.

    인그레스를 통해 부하 분산기를 설정하는 방법에 대한 자세한 내용은 인그레스를 통한 컨테이너 기반 부하 분산을 참조하세요.

  • 독립형 NEG

    독립형 NEG는 GKE 외부에서 부하 분산기 구성요소를 유연하게 구성할 수 있는 동시에 포드 IP 주소 및 컨테이너 포트를 나타내는 GCE_VM_IP_PORT 엔드포인트를 가진 영역 NEG를 만드는 방법을 GKE 클러스터에 제공합니다.

    GKE에서 독립형 영역 NEG를 사용하는 예시는 다음을 참조하세요.

제한사항

  • 기존 네트워크에서는 영역 NEG를 사용할 수 없습니다.
  • NEG를 백엔드로 사용하는 백엔드 서비스는 인스턴스 그룹도 백엔드로 사용할 수 없습니다.
  • 영역 NEG는 외부 TCP/UDP 네트워크 부하 분산의 백엔드로 사용할 수 없습니다.

GCE_VM_IP 영역 NEG에 대한 제한사항:

  • GCE_VM_IP 엔드포인트가 있는 영역 NEG는 내부 TCP/UDP 부하 분산기에서만 지원됩니다.
  • default-port 속성GCE_VM_IP 영역 NEG에 지원되지 않습니다.
  • Google Cloud 콘솔을 사용하여 GCE_VM_IP NEG를 만들거나 관리할 수 없습니다. gcloud 또는 REST API를 사용합니다.

할당량

  • 프로젝트당 NEG, 백엔드 서비스당 NEG, NEG당 엔드포인트 같은 NEG 할당량에 대한 자세한 내용은 부하 분산 할당량 페이지를 참조하세요.

다음 단계