ESG(Edge Services Gateway)는 수신 클라이언트 트래픽에 대한 프록시로 간주될 수 있습니다.

이미지는 주변 텍스트에 설명되어 있습니다.

프록시 모드에서 로드 밸런서는 자체 IP 주소를 소스 주소로 사용하여 백엔드 서버로 요청을 보냅니다. 백엔드 서버는 로드 밸런서에서 보낸 모든 트래픽을 확인하고 로드 밸런서에 직접 응답합니다. 이 모드는 SNAT 모드 또는 비투명 모드라고도 합니다. 자세한 내용은 "NSX 관리 가이드" 를 참조하십시오.

일반적인 NSX 단일 암 로드 밸런서는 논리적 라우터와는 별도로 해당 백엔드 서버가 있는 동일한 서브넷에 배포됩니다. NSX 로드 밸런서 가상 서버는 클라이언트의 수신 요청을 가상 IP에서 수신하고 해당 요청을 백엔드 서버로 발송합니다. 반환 트래픽의 경우 소스 IP 주소를 백엔드 서버에서 VIP(가상 IP) 주소로 변경한 다음, 가상 IP 주소를 클라이언트로 보내기 위해 역방향 NAT가 필요합니다. 이 작업이 없으면 클라이언트로의 연결이 끊어질 수 있습니다.

ESG는 트래픽을 수신한 후 다음 2가지 작업을 수행합니다.
  • VIP 주소를 로드 밸런싱된 시스템 중 하나의 IP 주소로 변경하는 DNAT(대상 네트워크 주소 변환).
  • 클라이언트 IP 주소를 ESG IP 주소와 교환하는 SNAT(소스 네트워크 주소 변환).

그런 다음, ESG 서버는 로드 밸런싱된 서버로 트래픽을 보내며, 로드 밸런싱된 서버는 응답을 ESG로 보낸 후 클라이언트로 다시 보냅니다. 이 옵션은 인라인 모드보다 구성하기가 훨씬 더 쉽지만 2가지 잠재적인 문제가 있습니다. 첫째는 이 모드에는 전용 ESG 서버가 필요하다는 것이고 둘째는 로드 밸런서 서버가 원래 클라이언트 IP 주소를 알지 못한다는 것입니다. HTTP 또는 HTTPS 애플리케이션에 대한 한 가지 해결 방법은 클라이언트 IP 주소가 요청의 X-Forwarded-For HTTP 머리글을 통해 백엔드 서버로 보내지도록 HTTP 애플리케이션 프로파일에서 X-Forwarded-For 삽입(Insert X-Forwarded-For) 옵션을 사용하도록 설정하는 것입니다.

HTTP 또는 HTTPS 이외의 애플리케이션에 대한 백엔드 서버에 클라이언트 IP 주소 가시성이 필요한 경우 IP 풀을 투명하게 구성할 수 있습니다. 클라이언트가 백엔드 서버와 동일한 서브넷에 있지 않은 경우 인라인 모드가 권장됩니다. 그렇지 않은 경우 백엔드 서버의 기본 게이트웨이로 로드 밸런서 IP 주소를 사용해야 합니다.

참고:
일반적으로 연결 무결성을 보장하는 방법에는 다음 세 가지가 있습니다.
  • 인라인/투명 모드
  • SNAT/프록시/비투명 모드(위에 설명됨)
  • DSR(직접 서버 반환) - 현재 지원되지 않습니다.
DSR 모드에서 백엔드 서버는 클라이언트에 직접 응답합니다. 현재 NSX 로드 밸런서는 DSR을 지원하지 않습니다.

다음 절차에서는 HTTPS 오프로딩(SSL 오프로딩) 애플리케이션 프로파일 유형을 사용한 단일 암 로드 밸런서 구성에 대해 설명합니다.

프로시저

  1. vSphere Web Client에 로그인합니다.
  2. 네트워킹 및 보안(Networking & Security) > NSX Edge(NSX Edges)를 클릭합니다.
  3. NSX Edge를 두 번 클릭합니다.
  4. 관리(Manage) > 설정(Settings) > 인증서(Certificate)를 클릭합니다.
    이 시나리오의 경우 자체 서명된 인증서를 추가합니다.
  5. 로드 밸런서 서비스를 사용하도록 설정합니다.
    1. 관리(Manage) > 로드 밸런서(Load Balancer) > 글로벌 구성(Global Configuration)을 클릭합니다.
    2. 편집(Edit)을 클릭하고 로드 밸런서를 사용하도록 설정합니다.
  6. HTTPS 애플리케이션 프로파일을 생성합니다.
    1. 관리(Manage) > 로드 밸런서(Load Balancer) > 애플리케이션 프로파일(Application Profiles)을 클릭합니다.
    2. 추가(Add)를 클릭하고 애플리케이션 프로파일 매개 변수를 지정합니다.
      버전 절차
      NSX 6.4.5 이상
      1. 애플리케이션 프로파일 유형(Application Profile Type) 드롭다운 메뉴에서 HTTPS 오프로딩(HTTPS Offloading)을 선택합니다.
      2. 이름(Name) 텍스트 상자에 프로파일의 이름을 입력합니다. 예를 들어 Web-SSL-Profile을 입력합니다.
      3. 클라이언트 SSL(Client SSL) > 서비스 인증서(Service Certificates)를 클릭합니다.
      4. 이전에 추가한 자체 서명된 인증서를 선택합니다.
      NSX 6.4.4 이하 버전
      1. 유형(Type) 드롭다운 메뉴에서 HTTPS를 선택합니다.
      2. 이름(Name) 텍스트 상자에 프로파일의 이름을 입력합니다. 예를 들어 Web-SSL-Profile을 입력합니다.
      3. 서비스 인증서 구성(Configure Service Certificate) 확인란을 선택합니다.
      4. 이전에 추가한 자체 서명된 인증서를 선택합니다.
  7. (선택 사항) 관리(Manage) > 로드 밸런서(Load Balancer) > 서비스 모니터링(Service Monitoring)을 클릭합니다. 기본 서비스 모니터링을 편집하여 기본 HTTP 또는 HTTPS에서 특정 URL 또는 URI(필요에 따라)로 변경합니다.
  8. 서버 풀을 생성합니다.
    1. 관리(Manage) > 로드 밸런서(Load Balancer) > 풀(Pools)을 클릭하고 추가(Add)를 클릭합니다.
    2. 이름(Name) 텍스트 상자에 서버 풀의 이름을 입력합니다. 예를 들어 Web-Tier-Pool-01을 입력합니다.
    3. 알고리즘(Algorithm) 드롭다운 메뉴에서 Round-Robin을 선택합니다.
    4. 모니터(Monitors) 드롭다운 메뉴에서 default_https_monitor를 선택합니다.
    5. 풀에 2개의 멤버를 추가합니다.
      예를 들어 다음 구성 설정을 지정합니다.
      상태 이름 IP 주소 가중치 모니터 포트 포트 최대 연결 수 최소 연결 수
      사용 web-01a 172.16.10.11 1 443 443 0 0
      사용 web-02a 172.16.10.12 1 443 443 0 0
    6. SNAT 모드를 사용하려면 투명(Transparent) 옵션을 사용하지 않도록 설정했는지 확인합니다.
  9. 상태 표시(Show Status) 또는 풀 통계 표시(Show Pool Statistics)를 클릭하고 Web-Tier-Pool-01 풀의 상태가 [UP]인지 확인합니다.
    풀을 선택하고 이 풀에 포함된 멤버 둘 다의 상태가 [UP]인지 확인합니다.
  10. 가상 서버를 생성합니다.
    1. 관리(Manage) > 로드 밸런서(Load Balancer) > 가상 서버(Virtual Servers)를 클릭하고 추가(Add)를 클릭합니다.
    2. 가상 서버 매개 변수를 지정합니다.

      예를 들어 다음 구성 설정을 지정합니다.

      옵션 설명
      가상 서버 가상 서버를 사용하도록 설정합니다.
      가속 UDP 또는 고성능 TCP에 대해 L4 로드 밸런서를 사용하려면 가속을 사용하도록 설정합니다. 이 옵션을 사용하도록 설정하면 L4 SNAT에 방화벽이 필요하므로 NSX Edge 로드 밸런서에서 방화벽 상태가 사용하도록 설정되어 있는지 확인합니다.
      애플리케이션 프로파일 OneArmWeb-01을 입력합니다.
      IP 주소 172.16.10.110을 선택합니다.
      프로토콜 HTTPS를 선택합니다.
      포트 443을 입력합니다.
      기본 풀 이전에 생성한 Web-Tier-Pool-01 서버 풀을 선택합니다.
      연결 제한 0을 입력합니다.
      연결 속도 제한 0을 입력합니다.
    3. (선택 사항) 고급(Advanced) 탭을 클릭하고 애플리케이션 규칙을 가상 서버에 연결합니다.
      지원되는 예제를 보려면 https://communities.vmware.com/docs/DOC-31772를 참조하십시오.

    비투명 모드에서 백엔드 서버는 클라이언트 IP를 볼 수 없으나 로드 밸런서 내부 IP 주소를 볼 수 있습니다. HTTP 또는 HTTPS 트래픽에 대한 문제를 해결하려면 애플리케이션 프로파일에서 X-Forwarded-For HTTP 머리글 삽입(Insert X-Forwarded-For HTTP header)을 선택합니다. 이 옵션을 선택하면 Edge 로드 밸런서는 클라이언트 소스 IP 주소 값과 함께 "X-Forwarded-For" 머리글을 추가합니다.