Azure Load Balancer 알고리즘

Azure Load Balancer는 대기 시간을 최소화하면서 Azure에서 가장 성능이 뛰어난 Load Balancer입니다. Azure Load Balancer에 대해 자세히 알아보려면 Azure Load Balancer 개요 또는 Azure Load Balancer 구성 요소를 방문하세요.

Azure Load Balancer는 튜플 기반 해시를 부하 분산 알고리즘으로 사용합니다.

부하 분산 알고리즘

부하 분산 장치 규칙을 만들어 부하 분산 장치의 프런트 엔드에서 백 엔드 풀로 인바운드 트래픽 흐름을 분산할 수 있습니다. Azure Load Balancer는 5개 튜플 해시 알고리즘을 사용하여 인바운드 흐름 분포를 사용합니다(바이트 아님). 부하 분산 장치는 백 엔드 풀 인스턴스로 트래픽을 지시할 때 TCP/UDP 헤더 흐름의 헤더를 다시 생성합니다(부하 분산 장치는 HTTP/HTTPS 헤더를 다시 생성하지 않음). 부하 분산 장치의 상태 프로브가 정상 백 엔드 엔드포인트를 나타내는 경우 백 엔드 인스턴스를 사용하여 새 트래픽 흐름을 수신할 수 있습니다.

기본적으로 Azure Load Balancer는 5 튜플 해시를 사용합니다.

5 튜플은 다음과 같습니다.

  • 원본 IP 주소
  • 원본 포트
  • 대상 IP 주소
  • 대상 포트
  • 사용 가능한 서버에 흐름을 매핑하기 위한 IP 프로토콜 번호

2 튜플 또는 3 튜플 기반 부하 분산을 사용하는 세션 선호도 분산 모드를 사용할 수도 있습니다.

Azure Load Balancer는 모든 TCP/UDP 애플리케이션 시나리오를 지원하며 흐름을 닫거나 시작하지 않습니다. 부하 분산 장치는 또한 흐름의 페이로드와 상호 작용하지 않습니다. 애플리케이션 페이로드는 부하 분산 장치에 투명합니다. 모든 UDP 또는 TCP 애플리케이션을 지원할 수 있습니다.

부하 분산 장치는 계층 4에서 작동하며 응용 프로그램 계층 게이트웨이 기능을 제공하지 않습니다. 프로토콜 핸드셰이크는 항상 클라이언트와 백 엔드 풀 인스턴스 간에 직접 발생합니다. 부하 분산 장치는 TCP 페이로드와 상호 작용하지 않고 TLS 오프로드를 제공하지 않으므로 포괄적인 암호화된 시나리오를 빌드할 수 있습니다. 부하 분산 장치를 사용하면 VM 자체에서 TLS 연결을 종료하여 TLS 애플리케이션에 대한 대규모 확장이 구현됩니다. 예를 들어 TLS 세션 키 용량은 백 엔드 풀에 추가하는 VM의 수와 유형으로만 제한됩니다.

인바운드 흐름에 대한 응답은 항상 가상 머신의 응답입니다. 흐름이 가상 머신에 도착하면 원래 원본 IP 주소도 유지됩니다. 모든 엔드포인트는 VM을 통해 응답합니다. 예를 들어 클라이언트와 선택한 백 엔드 VM 간에 TCP 핸드셰이크가 발생합니다. 프런트 엔드에 대한 요청에 대한 응답은 백 엔드 VM에서 생성된 응답입니다. 프런트 엔드에 대한 연결의 유효성을 성공적으로 검사하면 하나 이상의 백 엔드 가상 머신에 대한 연결의 유효성을 검사합니다.

다음 단계