로드 밸런서는 들어오는 서비스 요청을 사용자에게 투명한 로드 분산 방식으로 여러 서버에 분산합니다. 로드 밸런싱은 리소스 사용을 최적화하고, 처리량을 극대화하며, 응답 시간을 최소화하고, 오버로드를 방지하는 데 도움이 됩니다.

NSX 로드 밸런서는 두 개의 로드 밸런싱 엔진을 지원합니다. 계층 4 로드 밸런서는 패킷 기반으로 빠른 경로 처리를 제공합니다. 계층 7 로드 밸런서는 소켓 기반이며, 고급 트래픽 관리 전략과 백엔드 서비스를 위한 DDOS 완화를 지원합니다.

Edge 게이트웨이는 외부 네트워크에서 수신되는 트래픽을 로드 밸런싱하기 때문에 NSX Data Center for vSphere Edge 게이트웨이에 대한 로드 밸런싱은 외부 인터페이스에 구성됩니다. 로드 밸런싱을 위한 가상 서버를 구성할 때 조직 VDC에 있는 사용 가능한 IP 주소 중 하나를 지정합니다.

로드 밸런싱 전략 및 개념

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

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

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

가상 서버
IP, 포트, 프로토콜 및 TCP 또는 UDP와 같은 애플리케이션 프로파일의 고유 조합으로 나타내는 애플리케이션 서비스의 추상적 개념입니다.
서버 풀
백엔드 서버 그룹입니다.
서버 풀 멤버
백엔드 서버를 풀의 멤버로 나타냅니다.
서비스 모니터
백엔드 서버의 상태에 대한 검색 방법을 정의합니다.
애플리케이션 프로파일
특정 애플리케이션에 대한 TCP, UDP, 지속성 및 인증서 구성을 나타냅니다.

설정 개요

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

그런 다음 애플리케이션 프로파일을 생성하여 클라이언트 SSL, 서버 SSL, X-Forwarded-For 또는 지속성과 같은 로드 밸런서의 공통 애플리케이션 동작을 정의합니다. 지속성은 유사한 특성을 가진 후속 요청을 전송합니다. 예를 들어 로드 밸런싱 알고리즘을 실행하지 않고 소스 IP 또는 쿠키를 동일한 풀 멤버로 디스패치해야 합니다. 애플리케이션 프로파일은 가상 서버에서 재사용할 수 있습니다.

그런 다음 선택적 애플리케이션 규칙을 생성하여 서로 다른 요청이 서로 다른 풀에 의해 처리될 수 있도록 특정 URL 또는 호스트 이름 일치와 같은 트래픽 조작에 대해 애플리케이션별 설정을 구성합니다. 다음으로, 애플리케이션과 관련된 서비스 모니터를 생성하거나 요구에 부합하는 경우 기존 서비스 모니터를 사용할 수 있습니다.

필요한 경우 L7 가상 서버의 고급 기능을 지원하는 애플리케이션 규칙을 생성할 수 있습니다. 애플리케이션 규칙의 일부 사용 사례로는 컨텐츠 전환, 헤더 조작, 보안 규칙, DOS 보호 등이 있습니다.

마지막으로 서버 풀, 애플리케이션 프로파일 및 잠재적 애플리케이션 규칙을 함께 연결하는 가상 서버를 생성합니다.

가상 서버가 요청을 수신하면 로드 밸런싱 알고리즘이 풀 멤버 구성과 런타임 상태를 고려합니다. 이후 알고리즘은 트래픽을 분산하기 위해 하나 이상의 멤버로 이루어진 적절한 풀을 계산합니다. 풀 멤버 구성에는 가중치, 최대 연결, 조건 상태와 같은 설정이 포함됩니다. 런타임 상태에는 현재 연결, 응답 시간, 상태 점검 상태 정보가 포함됩니다. 계산 방법은 라운드 로빈, 가중치가 적용된 라운드 로빈, 최소 연결, 소스 IP 해시, 가중치가 적용된 최소 연결, URL, URI 또는 HTTP 헤더일 수 있습니다.

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

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이의 로드 밸런싱 구성

글로벌 로드 밸런서 구성 매개 변수에는 전체 지원, 일부 계층 4 또는 계층 7 엔진 및 기록할 이벤트 유형의 규격이 포함됩니다.

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 글로벌 구성으로 이동합니다.
  3. 사용하도록 설정할 옵션을 선택합니다.
    옵션 작업
    상태 토글 아이콘을 클릭하여 로드 밸런서를 사용하도록 설정합니다.

    로드 밸런서가 L7 엔진보다 빠른 L4 엔진을 사용하도록 구성하려면 가속화 사용을 설정합니다. L4 TCP VIP가 Edge 게이트웨이 방화벽보다 먼저 처리되므로 방화벽 허용 규칙이 필요하지 않습니다.

    참고:

    HTTP 및 HTTPS에 대한 L7 VIP는 방화벽 다음에 처리되므로 가속화를 사용하도록 설정하지 않은 경우 이러한 프로토콜에 대한 L7 VIP 액세스를 허용하려면 Edge 게이트웨이 방화벽 규칙이 있어야 합니다. 가속화를 사용하도록 설정하고 서버 풀이 비투명 모드인 경우 SNAT 규칙이 추가되므로 Edge 게이트웨이에서 방화벽을 사용하도록 설정되어 있는지 확인해야 합니다.

    로깅 사용 Edge 게이트웨이 로드 밸런서가 트래픽 로그를 수집할 수 있도록 로깅을 사용하도록 설정합니다.
    로그 수준 로그에 수집될 이벤트의 심각도 선택합니다.
  4. 변경 내용 저장을 클릭합니다.

다음에 수행할 작업

로드 밸런서에 대한 애플리케이션 프로파일을 구성합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이의 애플리케이션 프로파일 만들기의 내용을 참조하십시오.

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이의 애플리케이션 프로파일 만들기

애플리케이션 프로파일은 특정 유형의 네트워크 트래픽에 대한 로드 밸런서의 동작을 정의합니다. 프로파일을 구성한 후 가상 서버에 연결합니다. 그러면 가상 서버가 프로파일에 지정된 값에 따라 트래픽을 처리합니다. 프로파일을 사용하면 네트워크 트래픽 관리를 효과적으로 제어하고 트래픽 관리 작업을 더 쉽고 효율적으로 수행할 수 있습니다.

HTTPS 트래픽에 프로파일을 만드는 경우 다음 HTTPS 트래픽 패턴을 사용할 수 있습니다.
  • 클라이언트 -> HTTPS -> LB(SSL 종료) -> HTTP -> 서버
  • 클라이언트 -> HTTPS -> LB(SSL 종료) -> HTTPS -> 서버
  • 클라이언트 -> HTTPS -> LB(SSL 패스스루) -> HTTPS -> 서버
  • 클라이언트 -> HTTP-> LB -> HTTP -> 서버

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 애플리케이션 프로파일로 이동합니다.
  3. 만들기(만들기 버튼) 버튼을 클릭합니다.
  4. 프로파일의 이름을 입력합니다.
  5. 애플리케이션 프로파일을 구성합니다.
    옵션 설명
    유형 서버에 요청을 보낼 때 사용할 프로토콜 유형을 선택합니다. 필수 매개 변수 목록은 선택한 프로토콜에 따라 다릅니다. 선택한 프로토콜에 해당되지 않는 매개 변수는 입력할 수 없습니다. 다른 모든 매개 변수는 필수입니다.
    SSL 패스스루 사용 가상 서버에 SSL 인증을 패스스루하려면 클릭합니다.

    그렇지 않으면 SSL 인증이 대상 주소에서 수행됩니다.

    HTTP 리디렉션 URL (HTTP 및 HTTPS) 대상 주소에 도착하는 트래픽을 리디렉션할 URL을 입력합니다.
    지속성 프로파일에 대한 지속성 메커니즘을 지정합니다.

    지속성은 세션 데이터(예: 클라이언트 요청에 서비스를 제공한 특정 풀 구성원)를 추적하고 저장합니다. 따라서 클라이언트 요청이 세션 수명 전체 또는 후속 세션에서 동일한 풀 구성원에 전달될 수 있습니다. 옵션은 다음과 같습니다.

    • 소스 IP

      소스 IP 지속성은 소스 IP 주소를 기반으로 세션을 추적합니다. 클라이언트가 소스 주소 선호도 지속성을 지원하는 가상 서버에 대한 연결을 요청할 경우 로드 밸런서는 해당 클라이언트가 이전에 연결한 적이 있는지 여부를 확인한 후 연결한 적이 있으면 클라이언트를 동일한 풀 구성원에 할당합니다.

    • MSRDP

      (TCP만 해당) MSRDP(Microsoft 원격 데스크톱 프로토콜) 지속성은 Microsoft RDP(원격 데스크톱 프로토콜) 서비스를 실행하는 서버와 Windows 클라이언트 간에 영구 세션을 유지합니다. MSRDP 지속성 사용에 권장되는 시나리오는 Windows Server 게스트 운영 체제를 실행하는 구성원으로 구성되는 로드 밸런싱 풀을 만드는 것입니다. 이 풀의 모든 구성원은 Windows 클러스터에 속하고 Windows 세션 디렉터리에 참여합니다.

    • SSL 세션 ID

      SSL 세션 ID 지속성은 SSL 패스스루를 사용하도록 설정할 때 사용할 수 있습니다. SSL 세션 ID 지속성은 동일한 클라이언트로부터의 반복 연결이 동일한 서버로 전송되도록 합니다. 세션 ID 지속성을 사용하면 SSL 세션 재개를 사용하여 클라이언트와 서버 모두에 대한 처리 시간을 절약할 수 있습니다.

    쿠키 이름 (HTTP 및 HTTPS) 지속성 메커니즘으로 쿠키를 지정한 경우 쿠키 이름을 입력합니다. 쿠키 지속성은 클라이언트가 사이트에 처음으로 액세스할 때 쿠키를 사용하여 세션을 고유하게 식별합니다. 로드 밸런서는 이 쿠키를 참조로 세션의 후속 요청을 연결하여 모두 동일한 가상 서버로 이동할 수 있도록 합니다.
    모드 쿠키를 삽입할 때 사용할 모드를 선택합니다. 다음 모드가 지원됩니다.
    • 삽입

      Edge 게이트웨이가 쿠키를 전송합니다. 서버가 하나 이상의 쿠키를 전송하면 클라이언트에 쿠키 하나가 추가로 수신됩니다(서버 쿠키와 Edge 게이트웨이 쿠키). 서버가 쿠키를 전송하지 않으면 클라이언트에 Edge 게이트웨이 쿠키만 수신됩니다.

    • 접두사
      클라이언트가 둘 이상의 쿠키를 지원하지 않는 경우 이 옵션을 선택합니다.
      참고: 모든 브라우저는 다중 쿠키를 수락합니다. 그러나 단일 쿠키만 지원하는 독점적 클라이언트 기반의 독점적 애플리케이션의 경우는 다릅니다. 웹 서버는 평소대로 쿠키를 전송합니다. Edge 게이트웨이는 쿠키 정보를 서버 쿠키 값에 접두사로 주입합니다. 이 추가 쿠키 정보는 Edge 게이트웨이가 쿠키 정보를 서버로 보낼 때 제거됩니다.
    • 애플리케이션 세션 이 옵션을 선택하면 서버가 쿠키를 보내지 않습니다. 대신 사용자 세션 정보를 URL로 보냅니다. 예를 들어 http://example.com/admin/UpdateUserServlet;jsessionid=OI24B9ASD7BSSD URL로 전송합니다. 여기서 jsessionid가 사용자 세션 정보이며 지속성을 위해 사용됩니다. 애플리케이션 세션 지속성 테이블은 문제 해결용으로 확인할 수 없습니다.
    (초) 후에 만료됨 지속성을 유효한 상태로 유지할 시간(초)을 입력합니다. 1~86400 범위의 양수여야 합니다.
    참고: TCP 소스 IP 지속성을 사용하는 L7 로드 밸런싱의 경우 새 TCP 연결이 일정 기간 동안 생성되지 않으면 기존 연결이 유지되는 경우에도 지속성 항목이 시간 초과됩니다.
    X-Forwarded-For HTTP 헤더 삽입 (HTTP 및 HTTPS) X-Forwarded-For HTTP 헤더 삽입을 선택하면 로드 밸런서를 통해 웹 서버에 연결하는 클라이언트의 원래 IP 주소가 식별됩니다.
    참고: SSL 패스스루를 사용하도록 설정한 경우에는 이 헤더를 사용할 수 없습니다.
    풀 쪽 SSL 사용 (HTTPS만 해당) [풀 인증서] 탭에서 풀 쪽 SSL 사용을 선택하여 서버 측 로드 밸런서 인증에 사용할 인증서, CA 또는 CRL을 정의합니다.
  6. (HTTPS만 해당) 애플리케이션 프로파일에 사용할 인증서를 구성합니다. 필요한 인증서가 없는 경우 인증서 탭에서 인증서를 만들 수 있습니다.
    옵션 설명
    가상 서버 인증서 HTTPS 트래픽 암호 해독에 사용할 인증서, CA 또는 CRL을 선택합니다.
    풀 인증서 서버 측 로드 밸런서의 인증에 사용할 인증서, CA 또는 CRL을 정의합니다.
    참고: 이 탭을 사용하려면 풀 쪽 SSL 사용을 선택합니다.
    암호 SSL/TLS 핸드셰이크 중에 협상되는 암호 알고리즘(또는 암호 그룹)을 선택합니다.
    클라이언트 인증 클라이언트 인증을 무시할지, 아니면 필수로 설정할지를 지정합니다.
    참고: 필수로 설정하면 요청 또는 핸드셰이크가 취소된 후 클라이언트가 인증서를 제공해야 합니다.
  7. 변경 내용을 보존하려면 유지를 클릭합니다.

다음에 수행할 작업

로드 밸런서에 대한 서비스 모니터를 추가하여 다양한 유형의 네트워크 트래픽에 대한 상태 점검을 정의합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에서 서비스 모니터 만들기의 내용을 참조하십시오.

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에서 서비스 모니터 만들기

특정 유형의 네트워크 트래픽에 대한 상태 점검 매개 변수를 정의하는 서비스 모니터를 만듭니다. 서비스 모니터를 풀에 연결하면 풀 구성원이 서비스 모니터 매개 변수에 따라 모니터링됩니다.

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 서비스 모니터링으로 이동합니다.
  3. 만들기(만들기 버튼) 버튼을 클릭합니다.
  4. 서비스 모니터의 이름을 입력합니다.
  5. (선택 사항) 서비스 모니터에 대한 다음 옵션을 구성합니다.
    옵션 설명
    간격 지정된 방법을 사용하여 서버를 모니터링할 간격을 입력합니다.
    시간 초과 서버의 응답을 수신해야 하는 최대 시간을 초 단위로 입력합니다.
    최대 재시도 횟수 서버가 다운된 것으로 선언하기 전에 지정된 모니터링 방법이 연속으로 실패해야 하는 횟수를 입력합니다.
    유형 상태 점검 요청을 서버로 보낼 때 사용할 방법(HTTP, HTTPS, TCP, ICMP 또는 UDP)을 선택합니다.

    선택한 유형에 따라 새 서비스 모니터 대화 상자의 나머지 옵션이 활성화되거나 비활성화됩니다.

    예상 (HTTP 및 HTTPS) 모니터가 HTTP 또는 HTTPS 응답의 상태 줄에서 일치할 것으로 예상하는 문자열을 입력합니다(예: HTTP/1.1).
    방법 (HTTP 및 HTTPS) 서버 상태를 감지할 때 사용할 방법을 선택합니다.
    URL (HTTP 및 HTTPS) 서버 상태 요청에 사용할 URL을 입력합니다.
    참고: POST 방법을 선택하는 경우 보내기에 대한 값을 지정해야 합니다.
    보내기 (HTTP, HTTPS, UDP) 보낼 데이터를 입력합니다.
    받기 (HTTP, HTTPS 및 UDP) 응답 컨텐츠에서 일치 여부를 확인할 문자열을 입력합니다.
    참고: 예상이 일치하지 않으면 모니터가 받기 컨텐츠의 일치를 시도하지 않습니다.
    확장 (모두) 고급 모니터 매개 변수를 키=값 쌍으로 입력합니다. 예를 들어 warning=10은 서버가 10초 내에 응답하지 않을 경우 상태를 warning으로 설정합니다. 모든 확장 항목은 캐리지 리턴 문자로 구분해야 합니다. 예는 다음과 같습니다.
    <extension>delay=2
    critical=3
    escape</extension>
  6. 변경 내용을 보존하려면 유지를 클릭합니다.

예: 각 프로토콜에 대해 지원되는 확장

표 1. HTTP/HTTPS 프로토콜에 대한 확장
모니터 확장 설명
no-body 문서 본문을 기다리지 않고 HTTP/HTTPS 헤더까지만 읽습니다.
참고: HTTP GET 또는 HTTP POST는 계속 전송되고 HEAD 방법은 전송되지 않습니다.
max-age=SECONDS 문서가 SECONDS 이상 경과한 경우 경고합니다. 분의 경우 10m, 시간의 경우 10h 또는 일의 경우 10d의 형식으로 숫자를 입력할 수 있습니다.
content-type=STRING POST 호출에 Content-Type 헤더 미디어 유형을 지정합니다.
linespan 정규식을 새 행으로 연장할 수 있습니다(-r 또는 -R에 선행해야 함).
regex=STRING 또는 ereg=STRING 정규식 STRING의 페이지를 검색합니다.
eregi=STRING 대/소문자를 구분하지 않는 정규식 STRING의 페이지를 검색합니다.
invert-regex 찾은 경우 CRITICAL을 반환하고 찾을 수 없는 경우 OK를 반환합니다.
proxy-authorization=AUTH_PAIR 기본 인증을 사용하는 프록시 서버의 username:password를 지정합니다.
useragent=STRING HTTP 헤더의 문자열을 User Agent로 전송합니다.
header=STRING HTTP 헤더의 다른 모든 태그를 전송합니다. 추가 헤더가 있는 경우 여러 번 사용합니다.
onredirect=ok|warning|critical|follow|sticky|stickyport 리디렉션된 페이지를 처리하는 방법을 나타냅니다.

stickyfollow와 유사하지만 지정된 IP 주소에 고정됩니다. stickyport는 포트가 동일하게 유지되도록 합니다.

pagesize=INTEGER:INTEGER 필요한 최소 및 최대 페이지 크기(바이트)를 지정합니다.
warning=DOUBLE 경고 상태를 야기하는 응답 시간(초)을 지정합니다.
critical=DOUBLE 위험 상태를 야기하는 응답 시간(초)을 지정합니다.
표 2. HTTPS 프로토콜 전용 확장
모니터 확장 설명
sni SSL/TLS 호스트 이름 확장 지원(SNI)을 사용하도록 설정합니다.
certificate=INTEGER 인증서의 최소 유효 기간을 지정합니다. 포트 기본값은 443입니다. 이 옵션을 사용하는 경우 URL이 검사되지 않습니다.
authorization=AUTH_PAIR 기본 인증을 사용하는 사이트의 username:password를 지정합니다.
표 3. TCP 프로토콜에 대한 확장
모니터 확장 설명
escape send 또는 quit 문자열에 \n, \r, \t 또는 \ 문자를 사용할 수 있습니다. send 또는 quit 옵션의 앞에 사용해야 합니다. 기본적으로 send에는 아무 문자도 추가되지 않으며 quit의 끝에는 \r\n 문자가 추가됩니다.
모든 서버 응답에 있어야 하는 모든 예상 문자열을 지정합니다. 기본적으로 any가 사용됩니다.
quit=STRING 서버로 문자열을 보내 연결을 완전히 닫습니다.
refuse=ok|warn|crit ok, warn 또는 criti 상태를 사용하여 TCP 거부를 수락합니다. 기본적으로 crit 상태가 사용됩니다.
mismatch=ok|warn|crit ok, warn 또는 crit 상태를 사용하여 예상되는 문자열 불일치를 수락합니다. 기본적으로 warn 상태가 사용됩니다.
jail TCP 소켓의 출력을 숨깁니다.
maxbytes=INTEGER 지정된 바이트 수보다 많은 바이트가 수신되는 경우 연결을 닫습니다.
delay=INTEGER 문자열을 보내고 지정된 시간(초) 동안 대기한 후 응답을 폴링합니다.
certificate=INTEGER[,INTEGER] 인증서의 최소 유효 기간을 지정합니다. 첫 번째 값은 경고에 대한 #days이고 두 번째 값은 위험입니다(지정되지 않은 경우 0).
ssl 연결에 SSL을 사용합니다.
warning=DOUBLE 경고 상태를 야기하는 응답 시간(초)을 지정합니다.
critical=DOUBLE 위험 상태를 야기하는 응답 시간(초)을 지정합니다.

다음에 수행할 작업

로드 밸런서에 대한 서버 풀을 추가합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에서 로드 밸런싱을 위한 서버 풀 추가의 내용을 참조하십시오.

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에서 로드 밸런싱을 위한 서버 풀 추가

서버 풀을 추가하여 백엔드 서버를 유연하고 효율적으로 관리 및 공유할 수 있습니다. 로드 밸런서 분산 방법은 풀이 관리하며 상태 점검 매개 변수에 대한 서비스 모니터가 풀에 연결되어 있습니다.

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 로 이동합니다.
  3. 만들기(만들기 버튼) 버튼을 클릭합니다.
  4. 로드 밸런서 풀의 이름과 설명(선택 항목)을 입력합니다.
  5. 알고리즘 드롭다운 메뉴에서 서비스의 밸런싱 방법을 선택합니다.
    옵션 설명
    ROUND-ROBIN 각 서버에 할당된 가중치 순서대로 서버가 사용됩니다. 이는 서버의 처리 시간이 균등하게 분산된 상태를 유지하는 가장 유연하고 공정한 알고리즘입니다.
    IP-HASH 각 패킷에 대해 소스 및 대상 IP 주소의 해시를 기반으로 서버를 선택합니다.
    LEASTCONN 서버에 이미 열려 있는 연결 수를 기반으로 하여 클라이언트 요청을 여러 서버로 분산합니다. 새 연결은 열린 연결 수가 가장 적은 서버로 전송됩니다.
    URI URI의 왼쪽 부분(물음표 앞부분)을 해시한 후 실행 중인 서버의 총 가중치로 나눕니다. 이 결과에 따라 요청을 수신할 서버가 지정됩니다. 이 옵션을 사용하면 서버가 중단되지 않는 한 URI가 항상 동일한 서버로 연결됩니다.
    HTTPHEADER

    각 HTTP 요청에서 HTTP 헤더 이름을 조회합니다. 괄호 안의 헤더 이름은 ACL 'hdr()' 함수와 마찬가지로 대/소문자를 구분하지 않습니다. 헤더가 없거나 값이 포함되지 않은 경우 라운드 로빈 알고리즘이 적용됩니다. HTTPHEADER 알고리즘 매개 변수에는 headerName=<name> 옵션이 하나 있습니다. 예를 들어 host를 HTTPHEADER 알고리즘 매개 변수로 사용할 수 있습니다.

    URL

    각 HTTP GET 요청의 쿼리 문자열에서 인수에 지정된 URL 매개 변수를 조회합니다. 매개 변수 다음에 등호(=)와 값이 오는 경우 이 값을 해시하고 실행 중인 서버의 총 가중치로 나눕니다. 이 결과에 따라 요청을 수신할 서버가 지정됩니다. 이 프로세스는 요청의 사용자 식별자를 추적하고 서버가 중단되지 않는 한 동일한 사용자 ID가 항상 동일한 서버로 전송되도록 합니다. 값 또는 매개 변수가 없는 경우 라운드 로빈 알고리즘이 적용됩니다. URL 알고리즘 매개 변수에는 urlParam=<url> 옵션이 하나 있습니다.

  6. 풀에 구성원을 추가합니다.
    1. 추가(만들기 버튼) 버튼을 클릭합니다.
    2. 풀 구성원의 이름을 입력합니다.
    3. 풀 구성원의 IP 주소를 입력합니다.
    4. 구성원이 로드 밸런서의 트래픽을 수신할 포트를 입력합니다.
    5. 구성원이 상태 모니터 요청을 수신할 모니터 포트를 입력합니다.
    6. 가중치 텍스트 상자에 이 구성원이 처리할 트래픽의 비율을 입력합니다. 1~256 범위의 정수여야 합니다.
    7. (선택 사항) 최대 연결 텍스트 상자에 구성원이 처리할 수 있는 최대 동시 연결 수를 입력합니다.
      수신 요청의 수가 최대 연결 수를 초과하면 요청이 대기열로 이동하고 로드 밸런서가 연결이 해제될 때까지 대기합니다.
    8. (선택 사항) 최소 연결 텍스트 상자에 구성원이 항상 수락해야 하는 최소 동시 연결 수를 입력합니다.
    9. 유지를 클릭하여 새 구성원을 풀에 추가합니다.
      작업을 완료하는 데 몇 분이 걸릴 수 있습니다.
  7. (선택 사항) 클라이언트 IP 주소를 백엔드 서버에 표시하려면 투명을 선택합니다.
    투명을 선택하지 않으면(기본값) 백엔드 서버에 트래픽 소스의 IP 주소가 로드 밸런서의 내부 IP 주소로 표시됩니다.

    투명을 선택하면 소스 IP 주소가 클라이언트의 실제 IP 주소로 표시되며 Edge 게이트웨이를 기본 게이트웨이로 설정하여 반환 패킷이 Edge 게이트웨이를 통해 전송되도록 해야 합니다.

  8. 변경 내용을 보존하려면 유지를 클릭합니다.

다음에 수행할 작업

로드 밸런서에 대한 가상 서버를 추가합니다. 가상 서버는 공개 IP 주소를 사용하며 모든 수신 클라이언트 요청을 처리합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에 가상 서버 추가의 내용을 참조하십시오.

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에 애플리케이션 규칙 추가

애플리케이션 규칙을 작성하여 IP 애플리케이션 트래픽을 직접 조작하고 관리할 수 있습니다.

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 애플리케이션 규칙으로 이동합니다.
  3. 추가(만들기 버튼) 버튼을 클릭합니다.
  4. 애플리케이션 규칙의 이름을 입력합니다.
  5. 애플리케이션 규칙의 스크립트를 입력합니다.
    애플리케이션 규칙 구문에 대한 자세한 내용은 http://cbonte.github.io/haproxy-dconv/2.2/configuration.html의 내용을 참조하십시오.
  6. 변경 내용을 보존하려면 유지를 클릭합니다.

다음에 수행할 작업

로드 밸런서에 대해 추가된 가상 서버에 새 애플리케이션 규칙을 연결합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에 가상 서버 추가의 내용을 참조하십시오.

VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에 가상 서버 추가

NSX Data Center for vSphere Edge 게이트웨이 내부 또는 업링크 인터페이스를 VMware Cloud Director에서 가상 서버로 추가합니다. 가상 서버는 공개 IP 주소를 사용하며 모든 수신 클라이언트 요청을 처리합니다.

기본적으로 로드 밸런서는 각 클라이언트 요청 후 서버 TCP 연결을 닫습니다.

프로시저

  1. Edge 게이트웨이 서비스를 엽니다.
    1. 기본 왼쪽 탐색 패널에서 네트워킹을 선택하고 페이지 상단 탐색 모음에서 Edge 게이트웨이를 선택합니다.
    2. 편집할 Edge 게이트웨이를 선택하고 서비스를 클릭합니다.
  2. 로드 밸런서 > 가상 서버로 이동합니다.
  3. 추가(만들기 버튼) 버튼을 클릭합니다.
  4. 일반 탭에서 가상 서버에 대한 다음 옵션을 구성합니다.
    옵션 설명
    가상 서버 사용 가상 서버를 사용하도록 설정하려면 클릭합니다.
    가속화 사용 가속화를 사용하도록 설정하려면 클릭합니다.
    애플리케이션 프로파일 가상 서버와 연결할 애플리케이션 프로파일을 선택합니다.
    이름 가상 서버의 이름을 입력합니다.
    설명 가상 서버에 대한 설명(선택 사항)을 입력합니다.
    IP 주소 로드 밸런서가 수신 대기하는 IP 주소를 입력하거나 찾아서 선택합니다.
    프로토콜 가상 서버가 수락하는 프로토콜을 선택합니다. 선택한 애플리케이션 프로파일에 사용되는 동일한 프로토콜을 선택해야 합니다.
    포트 로드 밸런서가 수신하는 포트 번호를 입력합니다.
    기본 풀 로드 밸런서가 사용할 서버 풀을 선택합니다.
    연결 제한 (선택 사항) 가상 서버가 처리할 수 있는 최대 동시 연결 수를 입력합니다.
    연결 속도 제한(CPS) (선택 사항) 초당 수신되는 새 연결 요청의 최대 수를 입력합니다.
  5. (선택 사항) 애플리케이션 규칙을 가상 서버에 연결하려면 고급 탭을 클릭하고 다음 단계를 완료합니다.
    1. 추가(만들기 버튼) 버튼을 클릭합니다.
      로드 밸런서에 대해 만들어진 애플리케이션 규칙이 표시됩니다. 필요한 경우 로드 밸런서에 대한 애플리케이션 규칙을 추가합니다. VMware Cloud Director Tenant Portal을 사용하여 NSX Data Center for vSphere Edge 게이트웨이에 애플리케이션 규칙 추가의 내용을 참조하십시오.
  6. 변경 내용을 보존하려면 유지를 클릭합니다.

다음에 수행할 작업

새 가상 서버(대상 IP 주소)로의 트래픽을 허용하는 Edge 게이트웨이 방화벽 규칙을 만듭니다. VMware Cloud Director Tenant Portal에서 NSX Data Center for vSphere Edge 게이트웨이 방화벽 규칙 추가 항목을 참조하십시오.