Cloud Load Balancing 개요

부하 분산기는 애플리케이션의 여러 인스턴스에 사용자 트래픽을 분산합니다. 부하 분산은 부하를 분산시켜 애플리케이션에 성능 문제가 발생할 위험을 줄여줍니다. Google Cloud Load Balancing에는 Maglev, Andromeda, Google 프런트엔드, Envoy와 같은 강력하고 효율적인 기술을 기반으로 합니다. 이러한 기술은 Google 자체 제품에 사용되는 것과 매우 동일한 기술이며 안정성과 고성능을 보장합니다.

Cloud Load Balancing은 애플리케이션과 네트워크 부하 분산기의 포괄적인 포트폴리오를 제공합니다. Google의 전역 프록시 부하 분산기를 사용해서 여러 리전에 있는 백엔드 간에 초당 수백만 개의 요청을 효율적으로 배포할 수 있습니다. 전 세계 80개 이상의 공유 위치에 분산되어 있는 Google 프런트엔드 Fleet는 단일 애니캐스트 IP 주소를 사용해서 이 기능을 사용 설정합니다. TLS/SSL 오프로드를 걱정할 필요 없이 원하는 리전에서 백엔드 및 프록시를 유지하고, 리전별 프록시 부하 분산기를 사용해서 강력한 관할권 제어를 구현할 수 있습니다. Google의 패스 스루 부하 분산기를 사용하여 고성능 직접 서버 반환(DSR)으로 여러 프로토콜을 백엔드로 빠르게 라우팅할 수 있습니다.

Cloud Load Balancing 개요.
Cloud Load Balancing 개요(확대하려면 클릭)

Cloud Load Balancing의 주요 기능

Cloud Load Balancing은 다음과 같은 부하 분산기 기능을 제공합니다.

  • 단일 애니캐스트 IP 주소. Cloud Load Balancing을 통해 단일 애니캐스트 IP 주소가 세계 각지의 모든 백엔드 인스턴스의 프런트엔드가 됩니다. 기본 백엔드가 양호하지 않을 경우 트래픽을 장애 조치 백엔드로 이동시키는 자동 멀티 리전 장애 조치 등 리전 간 부하 분산을 제공합니다. Cloud Load Balancing은 사용자, 트래픽, 네트워크, 백엔드 상태, 기타 관련 조건의 변화에 즉각적으로 반응합니다.

  • 원활한 자동 확장. Cloud Load Balancing은 트래픽 처리가 가능한 다른 리전으로 트래픽을 우회시켜 예상치 못한 즉각적인 대규모 트래픽 급증을 쉽게 처리하는 등 사용자 및 트래픽의 증가에 따라 확장이 가능합니다. 자동 확장 시 가동 준비 과정이 필요 없으며 단 몇 초 만에 최대 트래픽까지 확장할 수 있습니다.

  • 소프트웨어 정의 부하 분산. Cloud Load Balancing은 사용자의 트래픽 전체에 적용되는 완전 분산형의 소프트웨어 정의 관리형 서비스입니다. 인스턴스 기반 또는 기기 기반의 솔루션이 아니어서 물리적인 부하 분산 인프라에 종속되거나 인스턴스 기반 부하 분산기에 내재된 고가용성, 확장, 관리 문제가 발생하지 않습니다.

  • 레이어 4 및 레이어 7 부하 분산. 네트워크의 데이터와 TCP, UDP, ESP, GRE, ICMP 및 ICMPv6와 같은 전송 계층 프로토콜을 바탕으로 트래픽을 전달하는 레이어 4 기반 부하 분산을 사용합니다. HTTP 헤더와 통합 리소스 식별자와 같은 속성을 바탕으로 요청 라우팅 결정을 추가하는 레이어 7 기반 부하 분산을 사용합니다.

  • 외부 및 내부 부하 분산. 부하 분산기를 외부 액세스 또는 내부 액세스에 사용할 수 있는지 여부를 정의합니다. 외부 부하 분산기는 인터넷의 트래픽을 수락하지만 내부 부하 분산기는 RFC 1918 트래픽만 수락합니다. 사용자가 인터넷에서 애플리케이션에 도달할 때 외부 부하 분산을 사용할 수 있습니다. 클라이언트가 Google Cloud 내부에 있을 때는 내부 부하 분산을 사용할 수 있습니다. 자세한 내용은 외부 부하 분산과 내부 부하 분산 비교를 참고하세요.

  • 글로벌 및 리전 부하 분산. 부하 분산기의 범위를 정의합니다. 전역 부하 분산기는 여러 리전의 백엔드를 지원하는 반면 지역 부하 분산기는 단일 리전의 백엔드를 지원합니다. 리전 부하 분산기의 IP 주소가 한 리전에 있지만 리전 부하 분산기는 전 세계에서 액세스할 수 있습니다. 백엔드를 단일 또는 여러 리전에 배포하여 사용자와 가까운 연결을 종료하고 고가용성 요구사항을 충족할 수 있습니다. 자세한 내용은 전역 부하 분산과 리전 부하 분산 비교를 참고하세요.

  • 프리미엄 등급 및 표준 등급의 트래픽 라우팅 Google Cloud의 부하 분산 서비스는 선택한 네트워크 등급(프리미엄 등급 또는 표준 등급)에 따라 다양한 버전으로 제공되며, 프리미엄 등급이 표준 등급보다 비쌉니다. 프리미엄 등급은 Google의 고품질 글로벌 백본을 활용하는 반면 표준 등급은 공개 인터넷을 사용하여 네트워크 전반에서 트래픽을 라우팅합니다. 선택하는 네트워크 등급은 엔터프라이즈 워크로드의 비용 또는 성능 중 어느 쪽에 우선순위를 둘지에 따라 다릅니다. 일부 부하 분산 서비스는 표준 등급이 아닌 프리미엄 등급에서만 사용할 수 있습니다. 자세한 내용은 프리미엄 네트워크 서비스 등급과 표준 네트워크 서비스 등급 비교를 참고하세요.

  • 고급 기능 지원. Cloud Load Balancing은 IPv6 부하 분산, 소스 IP 기반 트래픽 조정, 가중치가 적용된 부하 분산, WebSocket, 사용자 정의 요청 헤더, 비공개 가상 IP 주소(VIP)용 프로토콜 전달 등의 기능을 지원합니다.

    또한 다음 통합이 포함됩니다.

    • 캐시된 콘텐츠 전달을 위한 Cloud CDN과의 통합 Cloud CDN은 전역 외부 애플리케이션 부하 분산기 및 기본 애플리케이션 부하 분산기에서 지원됩니다.
    • Google Cloud Armor와 통합하여 DDoS 공격 및 기타 타겟팅된 애플리케이션 공격으로부터 인프라 보호 상시 사용 설정된 DDoS 보호는 전역 외부 애플리케이션 부하 분산기, 기본 애플리케이션 부하 분산기, 외부 프록시 네트워크 부하 분산기, 외부 패스 스루 네트워크 부하 분산기에 대해 제공됩니다. 또한 Google Cloud Armor는 외부 패스 스루 네트워크 부하 분산기에 대해서만 고급 네트워크 DDoS 보호를 지원합니다. 자세한 내용은 고급 네트워크 DDoS 보호 구성을 참조하세요.

Google Cloud 부하 분산기 유형

Cloud Load Balancing은 애플리케이션 부하 분산기 및 네트워크 부하 분산기의 두 가지 부하 분산기 유형을 제공합니다. HTTP(S) 트래픽을 사용하는 애플리케이션에 레이어 7 부하 분산기가 필요하면 애플리케이션 부하 분산기를 선택합니다. TLS 오프로딩을 지원하는 레이어 4 부하 분산기가 필요하거나(프록시 부하 분산기 사용) UDP, ESP, ICMP와 같이 IP 프로토콜을 지원해야 하는 경우(패스 스루 부하 분산기 사용)에는 네트워크 부하 분산기를 선택할 수 있습니다.

다음 표에는 작동하는 OSI 레이어 및 외부 액세스 또는 내부 액세스에 사용되는지 여부에 따라 분류된 다양한 유형의 Google Cloud 부하 분산기에 대한 개요가 나와 있습니다.

lan Cloud Load Balancing 외부
(인터넷 트래픽 수락)
내부
(RFC 1918 트래픽만 허용)
애플리케이션 부하 분산기

HTTPS
레이어 7 부하 분산
  • 전역 외부
  • 리전 외부
  • 클래식
  • 리전 간 내부
  • 리전 내부
네트워크 부하 분산기

TCP/SSL/기타
레이어 4 부하 분산
프록시 네트워크 부하 분산기
  • 전역 외부
  • 리전 외부
  • 클래식
  • 리전 간 내부
  • 리전 내부
패스 스루 네트워크 부하 분산기
  • 리전 외부
  • 리전 내부

애플리케이션 부하 분산기

애플리케이션 부하 분산기는 애니캐스트 IP 주소 뒤에서 서비스를 실행 및 확장할 수 있게 해주는 프록시 기반의 레이어 7 부하 분산기입니다. 애플리케이션 부하 분산기는 Compute Engine 및 Google Kubernetes Engine(GKE)과 같은 다양한 Google Cloud 플랫폼에서 호스팅되는 백엔드는 물론 Google Cloud 외부의 외부 백엔드로 HTTP 및 HTTPS 트래픽을 배포합니다.

다음 다이어그램은 애플리케이션이 인터넷 연결 또는 내부용으로 구성되었는지에 따라 외부 또는 내부적으로 배포할 수 있는 다양한 유형의 애플리케이션 부하 분산기에 대한 개요를 제공합니다.

다양한 유형의 애플리케이션 부하 분산기
다양한 유형의 애플리케이션 부하 분산기

외부 애플리케이션 부하 분산기Google 프런트엔드(GFE) 또는 Envoy 프록시에 관리형 서비스로 구현됩니다. 클라이언트는 인터넷 어디에서나 이러한 부하 분산기에 연결할 수 있습니다. 다음에 유의합니다.

  • 이러한 부하 분산기는 전역, 리전 또는 기본 모드 중 하나로 배포할 수 있습니다.
  • 전역 외부 애플리케이션 부하 분산기는 여러 리전의 백엔드를 지원합니다.
  • 리전 외부 애플리케이션 부하 분산기는 단일 리전의 백엔드만 지원합니다.
  • 기본 애플리케이션 부하 분산기는 프리미엄 등급에서 전역입니다. 표준 등급에서는 단일 리전의 백엔드에만 트래픽을 분산할 수 있습니다.
  • 애플리케이션 부하 분산기는 오픈소스 Envoy 프록시를 사용해서 고급 트래픽 관리 기능을 사용 설정합니다.

내부 애플리케이션 부하 분산기는 Andromeda 네트워크 가상화 스택 및 오픈소스 Envoy 프록시를 기반으로 구축됩니다. 이 부하 분산기는 레이어 7 애플리케이션 데이터의 내부 프록시 기반 부하 분산을 제공합니다. 부하 분산기는 동일한 VPC 네트워크에 있는 클라이언트 또는 VPC 네트워크에 연결된 클라이언트에만 액세스할 수 있는 내부 IP 주소를 사용합니다. 다음에 유의하세요.

  • 이러한 부하 분산기는 리전별 또는 리전 간 모드 중 하나로 배포할 수 있습니다.
  • 리전 내부 애플리케이션 부하 분산기는 단일 리전의 백엔드만 지원합니다.
  • 리전 간 내부 애플리케이션 부하 분산기는 여러 리전에서 백엔드를 지원하며 항상 전역에서 액세스할 수 있습니다. Google Cloud 리전의 클라이언트가 부하 분산기로 트래픽을 전송할 수 있습니다.

애플리케이션 부하 분산기에 대한 자세한 내용은 애플리케이션 부하 분산기 개요를 참고하세요.

네트워크 부하 분산기

네트워크 부하 분산기는 TCP, UDP, 기타 IP 프로토콜 트래픽을 처리할 수 있는 레이어 4 부하 분산기입니다. 이러한 부하 분산기는 프록시 부하 분산기 또는 패스 스루 부하 분산기로 제공됩니다. 애플리케이션 니즈 및 처리해야 하는 트래픽 유형에 따라 부하 분산기를 선택할 수 있습니다. 고급 트래픽 제어를 제공하고 백엔드에 대해 온프레미스 및 멀티 클라우드 환경을 모두 지원하는 리버스 프록시 부하 분산기를 설정해야 할 때는 프록시 네트워크 부하 분산기를 선택합니다. 클라이언트 패킷의 소스 IP 주소를 보존할 때 응답에 대해 직접 서버 반환을 활용하거나 TCP, UDP, ESP, GRE, ICMP, ICMPv6와 같은 다양한 IP 프로토콜을 처리하는 것이 중요한 경우에는 패스 스루 네트워크 부하 분산기를 사용합니다.

프록시 네트워크 부하 분산기

프록시 네트워크 부하 분산기는 Google Cloud VPC 네트워크에서 가상 머신(VM) 인스턴스로 TCP 트래픽을 배포하는 레이어 4 역방향 프록시 부하 분산기입니다. 트래픽은 부하 분산 레이어에서 종료된 후 TCP를 통해 사용 가능한 가장 가까운 백엔드로 전달됩니다.

다음 다이어그램은 애플리케이션이 인터넷 연결 또는 내부용으로 구성되었는지에 따라 외부 또는 내부적으로 배포할 수 있는 다양한 유형의 프록시 네트워크 부하 분산기에 대한 개요를 제공합니다.

다양한 유형의 프록시 네트워크 부하 분산기
다양한 유형의 프록시 네트워크 부하 분산기

외부 프록시 네트워크 부하 분산기는 인터넷에서 발생한 트래픽을 Google Cloud VPC 네트워크, 온프레미스 또는 기타 클라우드 환경의 백엔드로 배포하는 레이어 4 부하 분산기입니다. 이러한 부하 분산기는 Google 프런트엔드 (GFE) 또는 Envoy 프록시를 기반으로 빌드됩니다.

이러한 부하 분산기는 전역, 리전 또는 기본 모드 중 하나로 배포할 수 있습니다.

  • 전역 외부 프록시 네트워크 부하 분산기는 여러 리전의 백엔드를 지원합니다.
  • 리전 외부 프록시 네트워크 부하 분산기는 단일 리전의 백엔드를 지원합니다.
  • 기본 프록시 네트워크 부하 분산기는 프리미엄 등급에서 전역입니다. 표준 등급에서는 단일 리전의 백엔드에만 트래픽을 분산할 수 있습니다.

내부 프록시 네트워크 부하 분산기는 Envoy 프록시 기술을 기반으로 하는 리전별 레이어 4 부하 분산기입니다. 이러한 부하 분산기를 사용하면 동일한 VPC 네트워크 내에 있는 클라이언트 또는 VPC 네트워크에 연결된 클라이언트만 액세스할 수 있는 내부 IP 주소를 사용해서 TCP 서비스 트래픽을 배포 및 확장할 수 있습니다.

이러한 부하 분산기는 리전별 또는 리전 간 모드 중 하나로 배포할 수 있습니다.

  • 리전 내부 프록시 네트워크 부하 분산기는 단일 리전의 백엔드만 지원합니다.
  • 리전 간 내부 프록시 네트워크 부하 분산기는 여러 리전에서 백엔드를 지원하며 항상 전역에서 액세스할 수 있습니다. Google Cloud 리전의 클라이언트가 부하 분산기로 트래픽을 전송할 수 있습니다.

프록시 네트워크 부하 분산기에 대한 자세한 내용은 프록시 네트워크 부하 분산기 개요를 참고하세요.

패스 스루 네트워크 부하 분산기

패스 스루 네트워크 부하 분산기는 리전별 레이어 4 패스 스루 부하 분산기입니다. 이러한 부하 분산기는 부하 분산기와 동일한 리전의 백엔드 간에 트래픽을 분산시킵니다. 이러한 부하 분산기는 Andromeda 가상 네트워크 및 Google Maglev를 사용하여 구현됩니다.

이름에 표시된 것처럼 이러한 부하 분산기는 프록시가 아닙니다. 백엔드 VM은 패킷의 소스 및 대상 IP 주소, 프로토콜, 프로토콜이 포트 기반인 경우 소스 및 대상 포트가 변경되지 않은 상태로 부하 분산된 패킷을 수신합니다. 부하 분산된 연결은 백엔드에서 종료됩니다. 백엔드 VM의 응답은 부하 분산기를 통하지 않고 클라이언트에 직접 전달됩니다. 업계에서는 이를 직접 서버 반환(DSR)이라 합니다.

이러한 부하 분산기는 다음 이미지와 같이 부하 분산기가 인터넷 연결 또는 내부용으로 구성되었는지에 따라 두 가지 모드로 배포됩니다.

다양한 유형의 패스 스루 네트워크 부하 분산기
다양한 유형의 패스 스루 네트워크 부하 분산기
  • 외부 패스 스루 네트워크 부하 분산기는 Maglev를 기반으로 합니다. 클라이언트는 네트워크 서비스 등급에 관계없이 인터넷 어디서나 이러한 부하 분산기에 연결할 수 있습니다. 또한 부하 분산기는 외부 IP 주소가 있는 Google Cloud VM 또는 Cloud NAT 또는 인스턴스 기반 NAT를 통해 인터넷에 액세스할 수 있는 Google Cloud VM에서 트래픽을 수신할 수 있습니다.

    외부 패스 스루 네트워크 부하 분산기의 백엔드는 백엔드 서비스 또는 대상 풀을 사용하여 배포할 수 있습니다. 신규 배포의 경우 백엔드 서비스를 사용하는 것이 좋습니다.

  • 내부 패스 스루 네트워크 부하 분산기는 Andromeda 네트워크 가상화 스택을 기반으로 합니다. 내부 패스 스루 네트워크 부하 분산기를 사용하면 동일한 VPC 네트워크에 있는 시스템 또는 VPC 네트워크에 연결된 시스템에만 액세스할 수 있는 내부 부하 분산 IP 주소 뒤에서 TCP/UDP 트래픽의 부하를 분산할 수 있습니다. 이 부하 분산기는 프리미엄 등급에서만 구성할 수 있습니다.

패스 스루 네트워크 부하 분산기에 대한 자세한 내용은 패스 스루 네트워크 부하 분산기를 참고하세요.

부하 분산기 구성요소

부하 분산기는 상호작용하는 여러 구성요소로 구성된 시스템입니다. 부하 분산기를 나타내는 단일 API 리소스는 없습니다. 대신 여러 구성요소가 함께 작동하여 수신 트래픽을 여러 백엔드에 분산합니다.

다음 다이어그램은 애플리케이션 부하 분산기, 프록시 네트워크 부하 분산기, 패스 스루 네트워크 부하 분산기의 핵심 구성요소를 보여줍니다.

애플리케이션 부하 분산기

애플리케이션 부하 분산기 구성요소
애플리케이션 부하 분산기의 구성요소 (확대하려면 클릭)

프록시 네트워크 부하 분산기

프록시 네트워크 부하 분산기 구성요소
프록시 네트워크 부하 분산기의 구성요소 (확대하려면 클릭)

패스 스루 네트워크 부하 분산기

패스 스루 네트워크 부하 분산기 구성요소
패스 스루 네트워크 부하 분산기의 구성요소 (확대하려면 클릭)

다음 정보는 트래픽이 부하 분산기에 도달하는 지점부터 백엔드 리소스로 라우팅되는 단계까지 부하 분산기의 주요 구성요소에 관한 개요입니다. 각 부하 분산기 구성요소에 대해 자세히 알아보려면 각 섹션에 연결된 페이지를 참고하세요.

전달 규칙

전달 규칙은 IP 주소, IP 프로토콜과 부하 분산기에서 트래픽을 허용하는 포트 하나 이상을 지정합니다. 전달 규칙 및 연결된 IP 주소는 Google Cloud 부하 분산기의 프런트엔드를 나타냅니다.

자세한 내용은 전달 규칙 개요를 참고하세요.

대상 프록시

대상 프록시가 클라이언트에 수신되는 연결을 종료하고 부하 분산기에서 백엔드로 새 연결을 만듭니다.

  • 첫 번째 연결은 클라이언트에서 시작되어 부하 분산기의 대상 프록시에서 종료됩니다.

  • 두 번째 연결은 대상 프록시에서 시작하여 클라이언트 요청을 처리하는 백엔드 인스턴스에서 종료됩니다.

첫 번째 연결은 Google 프런트엔드 (GFE) 또는 Envoy 프록시 전용으로 예약된 프록시 전용 서브넷이라는 특별히 지정된 서브넷에서 종료됩니다. 부하 분산기가 GFE 기반인지 Envoy 기반인지 확인하려면 이 문서의 Google Cloud 부하 분산기의 기본 기술 섹션에 있는 표를 참고하세요.

대상 프록시는 애플리케이션 부하 분산기 및 프록시 네트워크 부하 분산기와 같은 프록시 기반 부하 분산기에서만 사용됩니다. 이러한 유형의 부하 분산기의 경우 백엔드 인스턴스의 응답이 클라이언트로 직접 전송되지 않고 타겟 프록시로 다시 전송됩니다.

자세한 내용은 대상 프록시를 참고하세요.

프록시 전용 서브넷

프록시 전용 서브넷에서는 Google Cloud 부하 분산기에서 사용하는 Envoy 프록시 전용으로 예약된 IP 주소 풀을 제공합니다. 프록시는 수신 연결을 종료한 후 백엔드에 새 연결을 만듭니다.

자세한 내용은 Envoy 기반 부하 분산기용 프록시 전용 서브넷을 참고하세요.

SSL 인증서

SSL 인증서는 전송 계층 보안 (TLS) 인증서라고도 하며 클라이언트와 부하 분산기 간의 보안 통신을 용이하게 합니다. 전달 규칙이 대상 HTTPS 프록시 또는 대상 SSL 프록시를 참조하는 프록시 기반 부하 분산기에는 부하 분산기 대상 프록시 구성의 일부로 비공개 키와 SSL 인증서가 필요합니다.

자세한 내용은 SSL 인증서를 참고하세요.

URL 맵

연결을 종료하면 대상 HTTP(S) 프록시는 URL 맵을 사용하여 새 요청을 라우팅할 위치 (대상 프록시 섹션에 설명된 두 번째 연결)를 결정합니다. 요청은 백엔드 서비스 또는 백엔드 버킷으로 라우팅됩니다. URL 맵은 애플리케이션 부하 분산기에서만 사용됩니다. 애플리케이션 부하 분산기는 OSI 모델의 레이어 7에서 작동하므로 도메인 이름, 요청 경로, 쿼리 매개변수와 같은 HTTP 속성을 기반으로 라우팅 결정을 내릴 수 있습니다.

자세한 내용은 URL 맵을 참고하세요.

백엔드 서비스

백엔드 서비스는 부하 분산기가 트래픽을 분산하는 방식을 정의합니다. 백엔드 서비스 구성에는 백엔드에 연결하는 데 사용되는 프로토콜, 다양한 배포 및 세션 설정, 상태 확인, 제한 시간 등의 다양한 값 집합이 포함됩니다.

이 설정은 부하 분산기의 동작을 세부적으로 제어할 수 있으며 트래픽을 올바른 백엔드(VM 인스턴스 그룹 또는 네트워크 엔드포인트 그룹(NEG))로 전달할 수 있습니다.

자세한 내용은 백엔드 서비스 개요를 참고하세요.

백엔드 버킷

워크로드가 HTTP(S) 프로토콜을 사용하여 정적 콘텐츠를 제공하는 경우 Cloud Storage 버킷을 사용하여 정적 콘텐츠를 저장한 후 백엔드 버킷을 사용하여 요청을 라우팅할 수 있습니다.

상태 점검

부하 분산기의 백엔드 서비스를 구성할 때 백엔드에 하나 이상의 상태 점검을 지정해야 합니다. 상태 확인은 이름에서 알 수 있듯이 부하 분산기의 백엔드 인스턴스가 정상적인지 여부를 확인합니다. 이 결정은 수신 트래픽에 응답하는 백엔드의 기능을 기반으로 합니다. 백엔드에서 응답해야 하는 트래픽은 부하 분산기 유형에 따라 다릅니다. 레이어 7 및 레이어 4 프로토콜을 모두 사용하여 상태 확인을 만들어 부하 분산 인스턴스를 모니터링할 수 있습니다.

방화벽 규칙

상태 점검이 작동하려면 상태 점검 프로브가 백엔드에 도달할 수 있도록 인그레스 allow 방화벽 규칙을 만들어야 합니다.

Google 프런트엔드를 기반으로 하는 부하 분산기에는 Google 프런트엔드의 CIDR의 트래픽이 백엔드에 연결되도록 허용하는 인그레스 허용 방화벽 규칙이 필요합니다. 오픈소스 Envoy 프록시를 기반으로 하는 부하 분산기에는 프록시 전용 서브넷의 트래픽이 백엔드 인스턴스에 도달하도록 허용하는 인그레스 allow 방화벽 규칙이 필요합니다.

자세한 내용은 방화벽 규칙을 참고하세요.

백엔드

백엔드는 부하 분산된 트래픽의 최종 대상입니다.

부하 분산기마다 지원하는 백엔드 유형이 다릅니다. 백엔드 서비스에 백엔드를 추가할 때 백엔드의 새 요청 처리 용량을 평가하고 백엔드 간에 트래픽이 분산되는 방식을 결정하는 분산 모드를 지정합니다.

자세한 내용은 백엔드를 참고하세요.

Google Cloud 부하 분산기의 기본 기술

다음 표에는 각 Google Cloud 부하 분산기가 빌드되는 기본 기술이 나와 있습니다.

  • Google 프런트엔드 (GFE)는 다른 시스템 및 제어 영역과 함께 전역 부하 분산을 수행하고 Google 접속 지점 (PoP)에 위치하는 소프트웨어 정의 분산 시스템입니다.
  • Andromeda는 Google Cloud의 소프트웨어 정의 네트워크 가상화 스택입니다.
  • Maglev는 네트워크 부하 분산을 위한 분산 시스템입니다.
  • Envoy는 클라우드 네이티브 애플리케이션용으로 설계된 오픈소스 에지 및 서비스 프록시입니다.
부하 분산기 기술
전역 외부 애플리케이션 부하 분산기 Envoy 기반 Google 프런트엔드 (GFE)
기본 애플리케이션 부하 분산기 GFE : Google 프런트엔드
리전 외부 애플리케이션 부하 분산기 Envoy
리전 간 내부 애플리케이션 부하 분산기 Envoy
리전 내부 애플리케이션 부하 분산기 Envoy
전역 외부 프록시 네트워크 부하 분산기 Envoy 기반 GFE
기존 프록시 네트워크 부하 분산기 GFE : Google 프런트엔드
리전 외부 프록시 네트워크 부하 분산기 Envoy
리전 내부 프록시 네트워크 부하 분산기 Envoy
리전 간 내부 프록시 네트워크 부하 분산기 Envoy
외부 패스 스루 네트워크 부하 분산기 Maglev
내부 패스 스루 네트워크 부하 분산기 안드로메다자리

부하 분산기 선택

사용할 Cloud Load Balancing 제품을 결정하려면 먼저 부하 분산기가 처리해야 하는 트래픽 유형을 결정해야 합니다. 일반적으로 HTTP(S) 트래픽을 사용하는 애플리케이션에 유연한 기능 집합이 필요하면 애플리케이션 부하 분산기를 선택합니다. 그리고 대규모 TLS 부하 분산, UDP 지원, 클라이언트 IP 주소를 애플리케이션에 노출하는 기능이 필요하면 네트워크 부하 분산기를 선택합니다.

애플리케이션이 외부용(인터넷 연결) 또는 내부용인지, 백엔드를 전역적으로 또는 리전별로 배포해야 하는지, 네트워크 서비스 등급이 프리미엄 또는 표준인지와 같은 애플리케이션 요구사항에 따라 선택 범위를 좁힐 수 있습니다.

다음 다이어그램은 Cloud Load Balancing에 사용 가능한 모든 배포 모드를 보여줍니다. 자세한 내용은 부하 분산기 선택 가이드를 참고하세요.

부하 분산기 선택.
부하 분산기 선택(확대하려면 클릭)

1. 전역 외부 애플리케이션 부하 분산기는 전역 및 기본 등 두 가지 작업 모드를 지원합니다.

2. 전역 외부 프록시 네트워크 부하 분산기는 전역 및 기본 등 두 가지 작업 모드를 지원합니다.

3. 패스 스루 네트워크 부하 분산기는 클라이언트 소스 IP 주소를 보존합니다. 패스 스루 네트워크 부하 분산기는 또한 UDP, ESP, ICMP와 같은 추가 프로토콜을 지원합니다.

Google Cloud 부하 분산기 유형 요약

다음 표에는 각 부하 분산기가 작동하는 네트워크 서비스 등급과 부하 분산 스킴과 같은 세부정보가 나와 있습니다.

부하 분산기 배포 모드 트래픽 유형 네트워크 서비스 등급 부하 분산 스키마 *
애플리케이션 부하 분산기 전역 외부 HTTP 또는 HTTPS 프리미엄 등급 EXTERNAL_MANAGED
리전 외부 HTTP 또는 HTTPS 프리미엄 또는 표준 등급 EXTERNAL_MANAGED
기본 HTTP 또는 HTTPS

프리미엄 등급의 경우 전역

표준 등급의 경우 리전

외부
리전 내부 HTTP 또는 HTTPS 프리미엄 등급 INTERNAL_MANAGED
리전 간 내부 HTTP 또는 HTTPS 프리미엄 등급 INTERNAL_MANAGED
프록시 네트워크 부하 분산기 전역 외부 선택적 SSL 오프로드가 있는 TCP 프리미엄 등급 EXTERNAL_MANAGED
리전 외부 TCP 프리미엄 또는 표준 등급 EXTERNAL_MANAGED
기본 선택적 SSL 오프로드가 있는 TCP

프리미엄 등급의 경우 전역

표준 등급의 경우 리전

외부
리전 내부 SSL 오프로드가 없는 TCP 프리미엄 등급 INTERNAL_MANAGED
리전 간 내부 SSL 오프로드가 없는 TCP 프리미엄 등급 INTERNAL_MANAGED
패스 스루 네트워크 부하 분산기

외부

항상 리전

TCP, UDP, ESP, GRE, ICMP 및 ICMPv6 프리미엄 또는 표준 등급 외부

내부

항상 리전

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, GRE 프리미엄 등급 내부

* 부하 분산 스키마는 부하 분산기의 전달 규칙백엔드 서비스의 속성이며 내부 또는 외부 트래픽에 부하 분산기를 사용할 수 있는지 여부를 나타냅니다.

`EXTERNAL_MANAGED` 또는 `INTERNAL_MANAGED` 의 managed는 부하 분산기가 Google 프런트엔드 (GFE) 또는 오픈소스 Envoy 프록시에서 관리형 서비스로 구현되었음을 나타냅니다. 관리형 부하 분산 스키마에서 요청은 GFE 또는 Envoy 프록시로 라우팅됩니다.

EXTERNAL_MANAGED 백엔드 서비스를 EXTERNAL 전달 규칙에 연결할 수 있습니다. 그러나 EXTERNAL 백엔드 서비스는 EXTERNAL_MANAGED 전달 규칙에 연결할 수 없습니다. 전역 외부 애플리케이션 부하 분산기에서만 사용할 수 있는 새로운 기능을 활용하려면 기존 애플리케이션 부하 분산기에서 전역 외부 애플리케이션 부하 분산기로 리소스 이전에 설명된 이전 프로세스를 사용하여 기존 EXTERNAL 리소스를 EXTERNAL_MANAGED로 이전하는 것이 좋습니다.

인터페이스

다음 인터페이스를 사용하여 부하 분산기를 구성하고 업데이트할 수 있습니다.

  • Google Cloud CLI: Google Cloud CLI에 포함된 명령줄 도구입니다. 문서에서는 이 도구를 자주 호출하여 태스크를 수행합니다. 이 도구에 대한 전체 개요는 gcloud CLI 가이드를 참조하세요. 부하 분산 관련 명령어는 gcloud compute 명령어 그룹에서 확인할 수 있습니다.

    또한 --help 플래그를 사용하면 gcloud 명령어에 대한 상세 도움말을 이용할 수 있습니다.

    gcloud compute http-health-checks create --help
    
    
  • Google Cloud 콘솔: Google Cloud 콘솔을 사용하여 부하 분산 작업을 수행할 수 있습니다.

  • REST API: 모든 부하 분산 작업은 Cloud Load Balancing API를 사용하여 수행될 수 있습니다. API 참조 문서는 사용 가능한 리소스와 메서드를 설명합니다.

  • Terraform: Terraform과 같은 오픈소스 IaC(infrastructure-as-code) 도구를 사용하여 Google Cloud 부하 분산 인프라를 프로비저닝, 업데이트, 삭제할 수 있습니다.

다음 단계