Product Documentation

지속성 설정 선택 및 구성

Aug 30, 2016

해당 가상 서버로 나타낸 서버에서 연결 상태를 유지하려는 경우(전자 상거래에서 사용되는 연결 등) 가상 서버에서 지속성을 구성해야 합니다. 그러면 장비에서 초기 서버 선택에 대해 구성된 부하 분산 방식을 사용하지만, 동일 클라이언트에서 오는 이후의 모든 요청을 해당하는 동일 서버에 전달합니다.

지속성이 구성될 경우 서버가 선택되면 부하 분산 방식을 재정의합니다. 구성된 지속성이 다운된 서비스에 적용될 경우 장비는 부하 분산 방식을 사용하여 새 서비스를 선택하고, 새 서비스가 클라이언트의 이후 요청에 대해 유지됩니다. 선택된 서비스가 서비스 불가 상태일 경우 미해결 요청은 계속해서 서비스하지만 새 요청이나 연결은 받지 않습니다. 시스템 종료 기간이 경과되면 기존 연결은 닫힙니다. 다음 표는 구성 가능한 지속성 유형을 나열한 것입니다.

표 1. 동시 지속 연결 수 제한 사항
지속성 유형 지속 연결
원본 IP, SSL 세션 ID, 규칙, DESTIP, SRCIPDESTIP 250K
CookieInsert, URL Passive, 사용자 지정 서버 ID 메모리 제한. CookieInsert의 경우 타임아웃이 0이면 메모리에서 제한될 때까지 모든 연결이 허용됩니다.

장비의 리소스 부족으로 인해 구성된 지속성을 유지할 수 없는 경우에는 부하 분산 방식으로 서버를 선택하게 됩니다. 지속성은 지속성 유형에 따라 구성된 기간 동안 유지됩니다. 일부 지속성 유형은 특정 가상 서버에만 사용됩니다. 다음 표는 이 관계를 나타냅니다.

표 2. 각 가상 서버 유형에 사용할 수 있는 지속성 유형
지속성 TypeHeader 1 HTTP HTTPS TCP UDP/IP SSL_Bridge
원본 IP
CookieInsert 아니요 아니요 아니요
SSL 세션 ID 아니요 아니요 아니요
URL Passive 아니요 아니요 아니요
사용자 정의 서버 ID 아니요 아니요 아니요
규칙 아니요 아니요 아니요
SRCIPDESTIP 해당 없음 해당 없음 해당 없음
DESTIP 해당 없음 해당 없음 해당 없음

가상 서버 그룹에 대해 지속성을 지정할 수도 있습니다. 그룹에 대해 지속성을 사용하도록 설정하는 경우 그룹의 어떤 가상 서버에서 클라이언트 요청을 수신하든지 클라이언트 요청은 선택된 동일 서버로 지정됩니다. 구성된 지속성 시간이 경과할 경우에는 수신 클라이언트 요청에 대해 그룹의 어떠한 가상 서버도 선택될 수 있습니다.

일반적으로 사용되는 두 가지 지속성 유형은 쿠키를 기준으로 하는 지속성과 URL의 서버 ID를 기준으로 하는 지속성입니다.

쿠키 기준의 지속성 구성

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

쿠키를 기준으로 하는 지속성을 활성화할 경우 NetScaler는 HTTP 쿠키를 HTTP 응답의 Set-Cookie 헤더에 추가합니다. 쿠키에는 HTTP 요청이 보내져야 하는 서비스에 대한 정보가 포함되어 있습니다. 클라이언트는 쿠키를 저장한 다음 이후의 모든 요청에 포함시키고, NetScaler는 이 정보를 사용하여 해당 요청에 대한 서비스를 선택합니다. HTTP 또는 HTTPS 유형의 가상 서버에 대해 이 유형의 지속성을 사용할 수 있습니다.

NetScaler는 = 쿠키를 삽입합니다.

여기서:

  • 는 가상 서버 이름에서 파생된 가상 서버 ID입니다.
  • 는 서비스 IP 주소의 16진수 값입니다.
  • 는 서비스 포트의 16진수 값입니다.

NetScaler는 쿠키를 삽입할 때 ServiceIP 및 ServicePort를 암호화하고, 쿠키를 수신할 때 해독합니다.

참고: 클라이언트에서 HTTP 쿠키를 저장할 수 없는 경우 이후의 요청에는 HTTP 쿠키가 포함되지 않고 지속성이 유지되지 않습니다.

기본적으로 NetScaler에서는 Netscape 사양과 호환되는 HTTP 쿠키 버전 0을 보냅니다. RFC 2109와 호환되는 버전 1을 보낼 수도 있습니다.

HTTP 쿠키를 기준으로 하는 지속성에 대해 시간 초과 값을 구성할 수 있습니다. 다음 사항에 유의하십시오.

  • HTTP 쿠키 버전 0이 사용될 경우 NetScaler는 NetScaler의 현재 GMT(Coordinated Universal Time) 시간과 시간 초과 값의 합으로 계산된 쿠키 만료의 절대 GMT(HTTP 쿠키의 만료 특성)를 삽입합니다.
  • HTTP 쿠키 버전 1이 사용될 경우 NetScaler는 상대 만료 시간(HTTP 쿠키의 Max-Age 특성)을 삽입합니다. 이 경우 클라이언트 소프트웨어에서 실제 만료 시간을 계산합니다.
참고: 현재 설치된 대부분의 클라이언트 소프트웨어(Microsoft Internet Explorer 및 Netscape 브라우저)는 HTTP 쿠키 버전 0을 인식하지만, 일부 HTTP 프록시는 HTTP 쿠키 버전 1을 인식합니다.

시간 초과 값을 0으로 설정할 경우 NetScaler는 사용된 HTTP 쿠키 버전에 상관 없이 만료 시간을 지정하지 않습니다. 그러면 만료 시간은 클라이언트 소프트웨어에 따라 좌우되고, 이러한 쿠키는 해당 소프트웨어가 종료될 경우 무효화됩니다. 이 지속성 유형은 시스템 리소스를 소모하지 않습니다. 따라서 무제한의 지속 클라이언트 수를 처리할 수 있습니다.

관리자는 다음 표의 절차에 따라 HTTP 쿠키 버전을 변경할 수 있습니다.

구성 유틸리티를 사용하여 HTTP 쿠키 버전을 변경하려면

  1. System(시스템) > Settings(설정)로 이동합니다.
  2. 세부 정보 창에서 Change HTTP Parameters(HTTP 매개 변수 변경)를 클릭합니다.
  3. Configure HTTP Parameters(HTTP 매개 변수 변경) 대화 상자의 Cookie(쿠키)에서 Version 0(버전 0) 또는 Version 1(버전 1)을 선택합니다.
참고: 매개 변수에 대한 자세한 내용은 "Configuring Persistence Based on Cookies(쿠키 기준의 지속성 구성)"를 참조하십시오.

명령줄 인터페이스를 사용하여 쿠키를 기준으로 지속성을 구성하려면

명령 프롬프트에서 다음 명령을 입력하여 쿠키 기준으로 지속성을 구성한 후 해당 구성을 확인합니다.
  • set lb vserver -persistenceTypeCOOKIEINSERT
  • show lb vserver

    예제:

    > set lb vserver vserver-LB-1 -persistenceType COOKIEINSERT  Done > show lb vserver vserver-LB-1     vserver-LB-1 (10.102.29.60:80) - HTTP   Type: ADDRESS     .     .     .     Persistence: COOKIEINSERT (version 0)   Persistence Timeout: 2 min     .     .     .  Done >

구성 유틸리티를 사용하여 쿠키를 기준으로 지속성을 구성하려면

  1. Traffic Management(트래픽 관리) > Load Balancing(부하 분산) > Virtual Servers(가상 서버)로 이동합니다.
  2. 세부 정보 창에서 지속성을 구성할 가상 서버(예: vserver-LB-1)를 선택하고 Open(열기)을 클릭합니다.
  3. Configure Virtual Server (Load Balancing)(가상 서버 구성(부하 분산)) 대화 상자의 Method and Persistence(방법 및 지속성) 탭에 있는 Persistence(지속성) 목록에서 COOKIEINSERT를 선택합니다.
  4. Time-out (min)(시간 초과(분)) 텍스트 상자에 시간 초과 값을 입력합니다(예:2).
  5. OK(확인)를 클릭합니다.
  6. 가상 서버를 선택한 다음 창 아래쪽의 Details(세부 정보) 섹션을 보고 지속성을 구성한 가상 서버가 올바르게 구성되었는지 확인합니다.

URL의 서버 ID를 기준으로 하는 지속성 구성

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

NetScaler는 URL의 서버 ID를 기준으로 지속성을 유지할 수 있습니다. URL 수동적 지속성이라는 기술로 NetScaler는 서버 응답에서 서버 ID를 추출하고 클라이언트 요청의 URL 쿼리에 포함시킵니다. 서버 ID는 16진수로 지정된 IP 주소 및 포트입니다. NetScaler는 이후의 클라이언트 요청에서 서버 ID를 추출하고 이 정보를 사용하여 서버를 선택합니다.

URL 수동적 지속성의 경우 클라이언트 요청에서 서버 ID의 위치를 지정하는 페이로드 식 또는 정책 인프라 식을 구성해야 합니다. 식에 대한 자세한 내용은 "Policy Configuration and Reference(정책 구성 및 참조)"를 참조하십시오.

참고: 서버 ID를 클라이언트 요청에서 추출할 수 없는 경우 서버 선택은 부하 분산 방식을 기준으로 합니다.

예: 페이로드 식

sid=를 포함하는 URLQUERY 식은 sid= 토큰이 일치하면 시스템이 클라이언트 요청의 URL 쿼리에서 서버 ID를 추출하도록 구성합니다. 따라서 URL http://www.citrix.com/index.asp?&sid;=c0a864100050의 요청은 IP 주소 10.102.29.10 및 포트 80의 서버로 전달됩니다.

서버 ID를 클라이언트 요청에서 추출할 수 있다면 지속성이 유지되므로 시간 초과 값은 이 유형의 지속성에 영향을 주지 않습니다. 이 지속성 유형은 시스템 리소스를 소모하지 않으므로 무제한의 지속 클라이언트 수를 처리할 수 있습니다.

참고: 매개 변수에 대한 자세한 내용은 "Load Balancing(부하 분산)"을 참조하십시오.

명령줄 인터페이스를 사용하여 URL의 서버 ID를 기준으로 지속성을 구성하려면

명령 프롬프트에서 다음 명령을 입력하여 URL의 서버 ID를 기준으로 지속성을 구성한 후 해당 구성을 확인합니다.
  • set lb vserver -persistenceType URLPASSIVE
  • show lb vserver

    예제:

    > set lb vserver vserver-LB-1 -persistenceType URLPASSIVE  Done > show lb vserver vserver-LB-1     vserver-LB-1 (10.102.29.60:80) - HTTP   Type: ADDRESS     .     .     .     Persistence: URLPASSIVE Persistence Timeout: 2 min     .     .     .  Done >

구성 유틸리티를 사용하여 URL의 서버 ID를 기준으로 지속성을 구성하려면

  1. Traffic Management(트래픽 관리) > Load Balancing(부하 분산) > Virtual Servers(가상 서버)로 이동합니다.
  2. 세부 정보 창에서 지속성을 구성할 가상 서버(예: vserver-LB-1)를 선택하고 Open(열기)을 클릭합니다.
  3. Configure Virtual Server (Load Balancing)(가상 서버 구성(부하 분산)) 대화 상자의 Method and Persistence(방법 및 지속성) 탭에 있는 Persistence(지속성) 목록에서 URLPASSIVE를 선택합니다.
  4. Time-out (min)(시간 초과(분)) 텍스트 상자에 시간 초과 값을 입력합니다(예:2).
  5. Rule(규칙) 텍스트 상자에 올바른 식을 입력합니다. 또는 Rule(규칙) 텍스트 상자 옆에 있는 Configure(구성)를 클릭하고 Create Expression(식 만들기) 대화 상자를 사용하여 식을 만듭니다.
  6. OK(확인)를 클릭합니다.
  7. 가상 서버를 선택한 다음 창 아래쪽의 Details(세부 정보) 섹션을 보고 지속성을 구성한 가상 서버가 올바르게 구성되었는지 확인합니다.