NSX Edge 로드 밸런서는 네트워크 트래픽을 여러 서버로 분산하여 리소스 사용량을 최적화합니다.

NSX 로드 밸런서는 계층 4 및 계층 7 로드 밸런싱 엔진을 지원합니다. 계층 4 로드 밸런서는 패킷을 기반으로 하며 계층 7 로드 밸런서는 소켓을 기반으로 합니다.

패킷 기반의 로드 밸런싱은 TCP 및 UDP 계층에서 구현됩니다. 패킷 기반의 로드 밸런싱은 연결을 중지하거나 전체 요청을 버퍼링하지 않으며 그 대신 패킷을 조작한 후에 선택된 서버로 패킷을 직접 전송합니다. TCP 및 UDP 세션은 단일 세션에 대한 패킷이 동일한 서버로 전달되도록 로드 밸런서에서 유지됩니다. 패킷 기반 로드 밸런싱을 사용하도록 설정하기 위해 글로벌 구성 및 해당 가상 서버 구성 둘 다에서 [가속 사용]을 선택할 수 있습니다.

소켓 기반 로드 밸런싱은 소켓 인터페이스 위에서 구현됩니다. 단일 요청에 대해 클라이언트 쪽 연결과 서버 쪽 연결의 두 연결이 설정됩니다. 서버 쪽 연결은 서버를 선택한 후에 설정됩니다. HTTP 소켓 기반 구현의 경우 선택 사항인 L7 조작을 통해 전체 요청이 선택한 서버로 전송되기 전에 수신됩니다. HTTPS 소켓 기반 구현의 경우 클라이언트 쪽 연결 또는 서버 쪽 연결에서 인증 정보가 교환됩니다. 소켓 기반 로드 밸런싱은 TCP, HTTP 및 HTTPS 가상 서버의 기본 모드입니다.

NSX 로드 밸런서의 핵심 개념은 가상 서버, 서버 풀, 서버 풀 멤버 및 서비스 모니터입니다.

가상 서버

IP, 포트 및 프로토콜(예: TCP 또는 UDP)의 고유 조합으로 나타내는 애플리케이션 서비스를 추상화한 것입니다.

서버 풀

백엔드 서버의 그룹입니다.

서버 풀 멤버

백엔드 서버를 풀의 멤버로 나타냅니다.

서비스 모니터

백엔드 서버의 상태를 입증하는 방법을 정의합니다.

먼저 로드 밸런서에 대한 글로벌 옵션을 설정합니다. 이제 백엔드 서버 멤버로 구성된 서버 풀을 생성하고 서비스 모니터와 풀을 연결하여 백엔드 서버를 효과적으로 관리하고 공유할 수 있습니다.

그런 다음 애플리케이션 프로파일을 생성하여 클라이언트 SSL, 서버 SSL, x-forwarded-for 또는 지속성과 같은 로드 밸런서의 일반적인 애플리케이션 동작을 정의합니다. 지속성은 로드 밸런싱 알고리즘을 실행하지 않고 동일한 풀 멤버로 발송되어야 하는 비슷한 특성(예: 소스 IP 또는 쿠키)을 포함하는 후속 요청을 전송합니다. 가상 서버 간에 애플리케이션 프로파일을 다시 사용할 수 있습니다.

그런 다음 트래픽 조작에 대해 요청별로 다른 풀에서 처리될 수 있게 일치하는 특정 URL 또는 호스트 이름을 찾는 것과 애플리케이션별 설정을 구성하는 선택적 애플리케이션 규칙을 생성합니다. 그런 다음 서비스 모니터를 생성하여 로드 밸런서에 대한 상태 점검 매개 변수를 정의합니다.

가상 서버가 요청을 수신하면 로드 밸런싱 알고리즘에서는 풀 멤버 구성 및 런타임 상태를 고려합니다. 그런 다음 알고리즘에서 해당 풀을 계산하여 하나 이상의 멤버로 구성되는 트래픽을 분산합니다. 풀 멤버 구성에는 가중치, 최대 연결 및 조건 상태와 같은 설정이 포함됩니다. 런타임 상태에는 현재 연결, 응답 시간 및 상태 검사 상태 정보가 포함됩니다. 계산 방법은 라운드 로빈, 가중 라운드 로빈, 최소 연결 또는 소스 IP 해시일 수 있습니다.

각 풀은 연결된 서비스 모니터에 의해 모니터링됩니다. 로드 밸런서가 풀 멤버의 문제를 발견하면 해당 멤버는 [다운] 상태로 표시됩니다. 서버 풀에서 풀 멤버를 선택할 때만 UP 서버가 선택됩니다. 서버 풀이 서비스 모니터로 구성되지 않으면 모든 풀 멤버가 UP로 간주됩니다.