5. 퍼시스턴스(세션 유지 기능)
(1) 어플리케이션이 사용 중인 세션을 같은 서버에 지속적으로 할당하는 기능
(2) 퍼시스턴스를 사용하면 처리가 끝날 때까지 동일한 서버에 할당하기 때문에 처리 정합성이 보장
5.1 퍼시스턴스 종류
종류 |
퍼시스턴스 방식 |
설명 |
L3 퍼시스턴스 |
출발지 IP주소 퍼시스턴스 |
출발지IP주소를 기준으로 일정시간 동일한 서비스에 할당 |
목적지 IP주소 퍼시스턴스 |
목적지IP주소를 기준으로 일정시간 동일한 서버에 할당 |
|
L7 퍼시스턴스 |
Cookie 퍼시스턴스 |
어떤 서버에 접속했는지 알리는 쿠키를 응답문에 삽입해 쿠키 유효기간 동안 동일한 서버에 할당 |
HTTP 헤더 퍼시스턴스 |
특정 HTTP 헤더를 기준으로 일정시간 동일한 서버에 할당 |
5.2 출발지 IP 주소 퍼시스턴스
(1) 클라이언트IP주소를 사용해 동일한 서버에 지속적으로 할당하는 L3 퍼시스턴스
(2) 출발지IP 주소를 보고 동일한 서버에 대해 일정 시간 세션을 유지
(3) L3 계층으로 서비스를 거치지 않아 매우 알기 쉬운 구성
(4) 동일한 서버에 할당하는 시간은 어플리케이션에 따라 다름.
(5) 일정시간 사용하지 않으면 해당 레코드는 삭제.
(6) 할당 시간이 짧으면 처리 도중 다른 서버에 할당되고, 너무 길면 부하분산 장비 또는 서버에 부하 발생.
(7) 출발지IP주소 퍼시스턴스는 알기 쉬운 구조
(8) NAT 환경이나 프록시 서버를 경유하는 환경에서는 한 대의 서버에 수많은 접속이 할당되는 단점이 있음.
5.3 목적지 IP 주소 퍼시스턴스
(1) 서버의 IP주소를 기준으로 같은 서버에 할당하는 L3퍼시스턴스
(2) 서버 부하분산 환경보다 회선 부하분산 환경에서 많이 사용
(3) 목적지IP주소가 같은 연결은 일정 시간 동안 같은 회선으로부터 나오게 한다
5.4 쿠키 퍼시스턴스
(1) HTTP와 SSL 가속 환경의 HTTPS에서만 유효한 L7 퍼시스턴스
(2) 쿠키가 가진 정보를 기준으로 일정 시간 세션을 지속.
(3) 클라이언트마다 유연하게 세션을 유지할 수 있어 HTTP 부하분산 시 자주 사용.
5.4.1 쿠키란?
(1) HTTP 서버와 통신 시에 특정 정보를 클라이언트(브라우저)가 가지고 있도록 하는 구조, 또는 그 정보를 저장하고 있는 파일을 의미
(2) 쿠키에 과거 접속 정보가 기록되어 있으므로 해당 쿠키를 가지고 서버에 접속함으로써 자동 로그인 가능
(3) 매우 편리한 기능이나, 계속 정보가 살아 있어 자동으로 로그인되면 보안 문제 발생.
(4) 보안성을 높이기 위해 언제까지 쿠키를 사용 가능한지 나타내는 유효기간을 지정하는 것이 가능
(5) 유효기간 보유 방식에 따라 퍼시스턴스 쿠키와 세션 쿠키로 나뉨
A. 퍼시스턴스 쿠키
(a) 유효기간이 정해진 쿠키. 쿠키를 파일 형태로 PC 등에 저장
(b) 저장 폴더는 사용하는 OS와 브라우저에 따라 다름
(c) 사이트별로 별도 파일 형태로 저장
B. 세션 쿠키
(a) 유효기간이 ‘0’으로 설정된 쿠키.
(b) 웹 사이트에 로그인하고 있을 때만 생성
(c) 브라우저의메모리에만 상주하며 폴더에는 저장되지 않는다.
(d) 브라우저를 닫으면 쿠키도 삭제되며, 로그아웃 시에도 세션이 해제되어 쿠키도 삭제
(e) 세션 쿠키는 인터넷 뱅킹 등 보안이 최우선인 사이트에서 많이 사용 됨
5.5 쿠키 퍼시스턴스 처리 순서
(1) 클라이언트가 웹 서버(실제로는 부하분산 장치)에 HTTP로 접속
(2) 부하분산 장치가 웹 서버에 세션을 할당
(3) 웹 서버가 클라이언트(실제로는 부하분산 장치)에 응답
(4) 부하분산 장치가 접속한 서버 정보를 가지고 있는 쿠키를 응답에 포함
(5) 부하분산 장치가 클라이언트에게 세션을 돌려줌
(6) 다음 접속 시 클라이언트는 앞에서 취득한 쿠키를 가지고 웹 서버(실제로는 부하분산 장비)에 HTTP로 접속
(7) 부하분산 장비는 HTTP 접속 쿠키 정보를 통해 어떤 서버에 접속했는지 알아내며, 쿠키 유효 기간까지 그 서버로 할당
5.6 HTTP 헤더 퍼시스턴스
(1) HTTP와 SSL 가속 환경의 HTTPS에서만 유효한 L7 퍼시스턴스
(2) 특정 HTTP 헤더 정보를 바탕으로 일정 시간 세션을 유지
(3) 클라이언트가 HTTP 요청으 ㄹ전달할 때 자기 자신에 대한 여러 가지 정보를 HTTP 헤더로 리퀘스트에 삽입.
(4) 부하분산 장비는 헤더 정보를 가지고 같은 서버에 세션을 할당
(5) 쿠키를 사용할 수 없고 인식할 수 없는 환경에서 전달된 HTTP 헤더 정보를 사용해 세션을 유지
(6) HTTP 헤더 퍼시스턴스는 휴대폰용 웹사이트의 퍼시스턴스에 자주 사용.
(7) 일반 휴대폰은 쿠키를 인식할 수 없어 HTTP 헤더에 있는 사용자 에이전트(User-Agent) 정보 등을 가지고 세션을 유지.
(8) 퍼시스턴스는 어플리케이션 의존적인 기능.
(9) 타임아웃 값이나 보안 등 여러가지 요소를 고려해 결정해야 함.
'IT-도서 정리 > 따라하며 배우는 부하분산 입문' 카테고리의 다른 글
7. SSL (0) | 2020.02.14 |
---|---|
6. Application Switching (0) | 2020.02.14 |
4. 서버 감시 기능 (0) | 2020.02.14 |
3. 부하분산 방식 (0) | 2020.02.14 |
2. 서버 부하분산 기술 구조 (0) | 2020.02.14 |