Product Documentation

NetScaler가 클라이언트 및 서버와 통신하는 방식

Aug 30, 2016

NetScaler 장비는 대개 서버 팜의 앞에 배포되고, 클라이언트 쪽 구성 없이 클라이언트와 서버 사이에서 투명한 TCP 프록시로 동작합니다. 이 기본적인 작동 모드를 요청 교환 기술이라고 하며 NetScaler 기능의 핵심입니다. 요청 교환을 통해 장비는 TCP 연결 멀티플렉스 및 오프로드, 지속 연결 관리, 요청(응용 프로그램 계층) 레벨에서 트래픽 관리 등의 작업을 수행할 수 있습니다. 이 기능은 장비가 요청이 전달되는 TCP 연결에서 HTTP 요청을 구분할 수 있기 때문에 가능합니다.

구성에 따라 장비는 서버에 요청을 전달하기 전에 트래픽을 처리할 수 있습니다. 예를 들어, 클라이언트가 서버의 보안 응용 프로그램에 액세스를 시도할 경우 장비는 서버에 트래픽을 보내기 전에 필요한 SSL 처리를 수행할 수 있습니다.

서버 리소스에 대한 효율적이고 안전한 액세스를 위해 장비는 NetScaler 소유 IP 주소라고 하는 IP 주소 집합을 사용합니다. 네트워크 트래픽을 관리하려면 NetScaler 소유 IP 주소를 사용자 구성의 빌딩 블록이 되는 가상 엔터티에 할당합니다. 예를 들어 부하 분산을 구성하려면 가상 서버를 만들어 클라이언트 요청을 받고 이를 해당 서버의 응용 프로그램을 나타내는 엔터티인 서비스로 배포합니다.

NetScaler 소유 IP 주소 이해

업데이트 날짜: 2014년 03월 12일

프록시로 동작하기 위해 NetScaler 장비는 다양한 IP 주소를 사용합니다. 주요한 NetScaler 소유 IP 주소는 다음과 같습니다.
NSIP(NetScaler IP) 주소
NSIP 주소는 장비 관리, 장비 자체에 대한 일반적인 시스템 액세스 및 고가용성 구성에서 장비 간 통신에 사용되는 IP 주소입니다.
VIP(가상 서버 IP) 주소
VIP 주소는 가상 서버와 연관된 IP 주소입니다. 이 주소는 클라이언트가 연결하는 공용 IP 주소입니다. 폭넓은 범위의 트래픽을 관리하는 장비에는 구성된 많은 VIP가 있을 수 있습니다.
SNIP(서브넷 IP) 주소
SNIP 주소는 연결 관리 및 서버 모니터링에 사용됩니다. 각 서브넷에 SNIP 주소를 여러 개 지정할 수 있습니다. SNIP 주소는 VLAN에 바인딩될 수 있습니다.
IP 집합
IP 집합은 IP 주소의 모음이며 장비에 SNIP로 구성됩니다. IP 집합은 해당 집합에 포함된 IP 주소의 사용법을 확인하는 데 도움이 되는 의미 있는 이름으로 식별됩니다.
넷 프로필
넷 프로필 또는 네트워크 프로필에는 IP 주소나 IP 집합이 포함됩니다. 넷 프로필은 부하 분산 또는 콘텐츠 스위칭 가상 서버, 서비스, 서비스 그룹 또는 모니터에 바인드될 수 있습니다. 물리적 서버 또는 피어와의 통신 중에 장비는 프로필에 지정된 주소를 원본 IP 주소로 사용합니다.

트래픽 흐름 관리 방식

업데이트 날짜: 2014년 03월 12일

NetScaler 장비는 TCP 프록시로 동작하므로 서버에 패킷을 보내기 전에 IP 주소를 변환합니다. 가상 서버를 구성할 경우 클라이언트는 서버에 직접 연결하는 대신 NetScaler의 VIP 주소에 연결합니다. 가상 서버의 설정에 따라 장비는 적당한 서버를 선택하고 클라이언트의 요청을 해당 서버로 보냅니다. 다음 그림에 표시된 것과 같이 장비는 기본적으로 SNIP 주소를 사용하여 서버와의 연결을 설정합니다.

그림 1. 가상 서버 기반 연결


가상 서버가 없을 경우 장비가 요청을 수신하면 투명하게 서버에 요청을 전달합니다. 이 작동을 투명 모드라고 합니다. 투명 모드에서 작동할 때 장비는 수신 클라이언트 요청의 원본 IP 주소를 SNIP 주소로 변환하지만 목적지 IP 주소는 변경하지 않습니다. 이 모드가 작동하려면 L2 또는 L3 모드가 적절히 구성되어야 합니다.

서버에 실제 클라이언트 IP 주소가 필요한 경우에는 클라이언트 IP 주소를 추가 필드로 삽입하여 HTTP 헤더를 수정하도록 구성하거나 서버 연결을 위해 SNIP 주소 대신 클라이언트 IP 주소를 사용하도록 장비를 구성할 수 있습니다.

트래픽 관리 빌딩 블록

업데이트 날짜: 2013년 06월 24일

NetScaler 장비의 구성은 일반적으로 트래픽 관리를 위한 빌딩 블록으로 사용되는 일련의 가상 엔터티로 이루어집니다. 빌딩 블록 방식은 트래픽 흐름을 구분하는 데 도움이 됩니다. 가상 엔터티는 대개 트래픽 처리를 위한 IP 주소, 포트 및 프로토콜 처리기를 나타내는 추상입니다. 클라이언트는 이러한 가상 엔터티를 통해 응용 프로그램 및 리소스에 액세스합니다. 가장 일반적으로 사용되는 엔터티는 가상 서버 및 서비스입니다. 가상 서버는 서버 팜 또는 원격 네트워크의 서버 그룹을 나타내고, 서비스는 각 서버의 특정 응용 프로그램을 나타냅니다.

대부분의 기능 및 트래픽 설정은 가상 엔터티를 통해 활성화됩니다. 예를 들어, 특정 가상 서버를 통해 서버 팜에 연결된 클라이언트에 모든 서버 응답을 압축하도록 장비를 구성할 수 있습니다. 특정 환경에 대해 장비를 구성하려면 해당하는 기능을 식별한 다음 이러한 기능을 제공하기 위한 가상 엔터티의 올바른 조합을 선택해야 합니다. 대부분의 기능은 서로 연결된 일련의 가상 엔터티를 통해 제공됩니다. 이 경우 가상 엔터티는 제공되는 응용 프로그램의 최종 구조로 만들어지는 블록과 같습니다. 가상 엔터티를 추가, 제거, 수정, 바인딩, 활성화 및 비활성화하여 기능을 구성할 수 있습니다. 다음 그림에서는 이 섹션에서 설명한 개념을 보여 줍니다.

그림 2. 트래픽 관리 빌딩 블록 작동 방식


단순한 부하 분산 구성

업데이트 날짜: 2013년 08월 30일

다음 그림에 표시된 예에서 NetScaler 장비는 부하 분산 장치로 작동하도록 구성되었습니다. 이 구성의 경우 부하 분산에 맞게 가상 엔터티를 구성하고 특정 순서로 바인딩해야 합니다. 부하 분산 장치로서 장비는 클라이언트 요청을 여러 서버에 걸쳐 분산시키므로 리소스 활용률을 최적화합니다.

일반적인 부하 분산 구성의 기본적인 빌딩 블록은 서비스 및 부하 분산 가상 서버입니다. 서비스는 서버의 응용 프로그램을 나타냅니다. 가상 서버는 클라이언트가 연결하는 단일 IP 주소를 제공하여 서버를 추상화합니다. 클라이언트 요청이 서버에 보내지도록 하려면 각 서비스를 가상 서버에 바인딩해야 합니다. 즉, 모든 서버에 대해 서비스를 만든 다음 가상 서버에 바인딩해야 합니다. 클라이언트는 VIP 주소를 사용하여 NetScaler 장비에 연결합니다. 장비가 VIP 주소로 보낸 클라이언트 요청을 수신하면 부하 분산 알고리즘에 따라 결정된 서버로 요청을 보냅니다. 부하 분산에서는 모니터라는 가상 엔터티를 사용하여 구성된 특정 서비스(서버와 응용 프로그램)에서 요청 수신 가능 여부를 추적합니다.

그림 3. 가상 서버, 서비스 및 모니터 부하 분산


부하 분산 알고리즘 구성과 함께 부하 분산 구성의 동작 및 성능에 영향을 미치는 여러 가지 매개 변수를 구성할 수 있습니다. 예를 들어, 원본 IP 주소를 기준으로 지속성을 유지하도록 가상 서버를 구성할 수 있습니다. 그러면 장비가 특정 IP 주소에서 전송되는 모든 요청을 동일한 서버로 지정합니다.

가상 서버 이해

업데이트 날짜: 2013년 09월 06일

가상 서버는 외부 클라이언트가 서버에 호스트된 응용 프로그램에 액세스하는 데 사용할 수 있는 명명된 NetScaler 엔터티입니다. 가상 서버는 영숫자 이름, VIP(가상 IP) 주소, 포트 및 프로토콜로 나타냅니다. 가상 서버의 이름은 로컬에서만 의미를 가지며 가상 서버를 쉽게 식별하기 위해 마련되었습니다. 클라이언트가 서버의 응용 프로그램에 액세스를 시도할 경우 물리적 서버의 IP 주소 대신 VIP에 요청을 보냅니다. 장비가 VIP 주소에서 요청을 수신하면 가상 서버에서의 연결을 종료하고 클라이언트를 대신하여 서버와의 자체 연결을 사용합니다. 가상 서버의 포트와 프로토콜은 가상 서버가 나타내는 응용 프로그램을 결정합니다. 예를 들어, 웹 서버는 포트와 프로토콜이 각각 80 및 HTTP로 설정된 가상 서버 및 서비스로 나타낼 수 있습니다. 여러 가상 서버는 동일한 VIP 주소를 사용할 수 있지만 프로토콜과 포트는 달라야 합니다.

가상 서버는 기능을 제공하기 위한 지점입니다. 압축, 캐싱 및 SSL 오프로드와 같은 대부분의 기능은 일반적으로 가상 서버에서 활성화됩니다. 장비가 VIP 주소에서 요청을 수신하면 요청이 수신된 포트 및 해당 프로토콜을 기준으로 적당한 가상 서버를 선택합니다. 그런 다음 장비는 가상 서버에서 구성된 기능에 따라 적절히 요청을 처리합니다.

대부분의 경우 가상 서버는 서비스와 나란히 작동합니다. 여러 서비스를 하나의 가상 서버에 바인딩할 수 있습니다. 이러한 서비스는 서버 팜의 물리적 서버에서 실행되는 응용 프로그램을 나타냅니다. 장비는 VIP 주소에서 수신된 요청을 처리한 후 가상 서버에서 구성된 부하 분산 알고리즘에 따라 결정된 서버에 요청을 전달합니다. 다음 그림은 이러한 개념을 보여 줍니다.

그림 4. 단일 VIP 주소의 여러 가상 서버


위의 그림은 VIP 주소가 같지만 포트와 프로토콜이 다른 두 가상 서버로 이루어진 구성을 보여 줍니다. 각 가상 서버에는 연결된 두 가지 서비스가 있습니다. 서비스 s1 및 s2는 VS_HTTP에 연결되고 서버 1 및 서버 2의 HTTP 응용 프로그램을 나타냅니다. 서비스 s3 및 s4는 VS_SSL에 연결되고 서버 2 및 서버 3의 SSL 응용 프로그램을 나타냅니다(서버 2는 HTTP 및 SSL 응용 프로그램을 둘 다 제공합니다). 장비가 VIP 주소에서 HTTP 요청을 수신하면 VS_HTTP의 설정에 지정된 대로 요청을 처리하고 서버 1 또는 서버 2에 요청을 보냅니다. 마찬가지로 장비가 VIP 주소에서 HTTPS 요청을 수신하면 VS_SSL의 설정에 지정된 대로 요청을 처리하고 서버 2 또는 서버 3에 요청을 보냅니다.

가상 서버를 항상 특정 IP 주소, 포트 번호 또는 프로토콜로 나타내는 것은 아닙니다. 가상 서버를 와일드카드로 나타낼 수도 있으며, 이 경우 와일드카드 가상 서버라고 합니다. 예를 들어, 특정 포트 번호를 사용하지만 VIP 대신 와일드카드로 가상 서버를 구성할 경우 장비는 해당 프로토콜과 일치하고 미리 정의된 포트를 대상으로 하는 모든 트래픽을 가로채어 처리합니다. VIP 및 포트 번호 대신 와일드카드를 사용하는 가상 서버의 경우 장비는 해당 프로토콜과 일치하는 모든 트래픽을 가로채어 처리합니다.

가상 서버는 다음 범주로 그룹화할 수 있습니다.

부하 분산 가상 서버
요청을 수신하고 적당한 서버로 리디렉션합니다. 적당한 서버를 선택할 때는 사용자가 구성하는 다양한 부하 분산 방법을 기준으로 합니다.
캐시 리디렉션 가상 서버
동적 콘텐츠에 대한 클라이언트 요청을 원본 서버로 리디렉션하고, 정적 콘텐츠에 대한 요청을 캐시 서버로 리디렉션합니다. 캐시 리디렉션 가상 서버는 부하 분산 가상 서버와 함께 작동하기도 합니다.
콘텐츠 스위칭 가상 서버
클라이언트가 요청한 콘텐츠를 기준으로 트래픽을 서버에 지정합니다. 예를 들어, 이미지에 대한 모든 클라이언트 요청을 이미지만 제공하는 서버로 지정하는 콘텐츠 스위칭 가상 서버를 생성할 수 있습니다. 콘텐츠 스위칭 가상 서버는 부하 분산 가상 서버와 함께 작동하기도 합니다.
VPN(가상 사설망) 가상 서버
터널링된 트래픽을 해독하고 인트라넷 응용 프로그램으로 보냅니다.
SSL 가상 서버
SSL 트래픽을 수신하고 암호 해독한 후 적당한 서버로 리디렉션합니다. 적당한 서버 선택 방법은 부하 분산 가상 서버를 선택하는 방법과 유사합니다.

서비스 이해

업데이트 날짜: 2014년 03월 12일

서비스는 서버의 응용 프로그램을 나타냅니다. 서비스는 대개 가상 서버와 함께 사용되지만, 가상 서버가 없을 경우 서비스가 응용 프로그램 특정 트래픽을 관리할 수 있습니다. 예를 들어, NetScaler 장비에서 웹 서버 응용 프로그램을 나타내는 HTTP 서비스를 생성할 수 있습니다. 클라이언트가 웹 서버에 호스트된 웹 사이트에 액세스를 시도할 경우 장비는 HTTP 요청을 가로채고 웹 서버와의 투명한 연결을 생성합니다.

서비스 전용 모드에서 장비는 프록시로 작동합니다. NetScaler는 클라이언트 연결을 종료하고 SNIP 주소를 사용하여 서버 연결을 설정하고 수신 클라이언트 요청의 목적지 IP 주소를 SNIP 주소로 변환합니다. 클라이언트는 서버의 IP 주소로 직접 요청을 보내지만 서버는 이러한 요청을 SNIP 주소에서 오는 것으로 인식합니다. 장비가 IP 주소, 포트 번호 및 시퀀스 번호를 변환합니다.

서비스도 기능을 적용하기 위한 지점입니다. SSL 가속화의 예를 생각해 보겠습니다. 이 기능을 사용하려면 SSL 서비스를 생성하고 SSL 인증서를 서비스에 바인딩해야 합니다. 장비가 HTTPS 요청을 수신하면 트래픽을 해독하고 일반 텍스트로 서버에 보냅니다. 하지만 서비스 전용 모드에서는 제한된 기능 집합만 구성할 수 있습니다.

서비스는 모니터라는 엔터티를 사용하여 응용 프로그램의 상태를 추적합니다. 모든 서비스에는 서비스 유형을 기준으로 하는 연결된 기본 모니터가 있습니다. 모니터에서 구성된 설정에 따라 장비는 정기적으로 응용 프로그램에 점검을 보내 상태를 확인합니다. 점검이 실패하면 장비는 서비스가 중지된 것으로 표시합니다. 이 경우 장비는 클라이언트 요청에 해당하는 오류 메시지로 응답하거나 부하 분산 정책에 따라 요청을 다시 라우팅합니다.