코딩관계론

ELB - Session Persistence 본문

AWS

ELB - Session Persistence

개발자_티모 2023. 4. 2. 17:39
반응형

목적

로드 밸런서의 세션 지속성(Session Persistence)은 클라이언트가 여러 개의 백엔드 서버에 걸쳐서 작업을 수행할 때, 같은 클라이언트 요청이 항상 같은 백엔드 서버에 전달되도록 하는 기능입니다. 즉, 클라이언트가 한 번 접속한 후에도 계속 같은 서버에 접속하는 것을 보장해줍니다.

 

동작 방법

로드 밸런서에서 세션 지속성은 쿠키 기반 또는 서버 기반으로 설정할 수 있습니다. 쿠키 기반 세션 지속성은 클라이언트의 브라우저에 쿠키를 저장하고, 이를 이용하여 요청이 처리되는 백엔드 서버를 선택합니다. 서버 기반 세션 지속성은 로드 밸런서가 각 클라이언트의 요청을 특정 백엔드 서버에 할당하도록 지정합니다.

 

세션 지속성을 사용하면 로드 밸런서가 어떤 인스턴스에 클라이언트 요청을 보낼지 결정할 때, 그 전에 이미 연결된 인스턴스를 우선적으로 선택합니다. 이는 클라이언트의 로그인 정보나 쇼핑 카트 등과 같이 특정한 상태를 유지해야 하는 웹 애플리케이션에서 매우 유용합니다.

장단점

장점:

  1. 클라이언트가 한 번 연결된 서버에 계속해서 요청을 보내게 되므로 세션 유지에 대한 부하를 분산시키지 않아도 됩니다.
  2. 클라이언트가 로드 밸런서와 같은 중간 장비와 연결되어 있는 동안 서버가 변경되더라도 이를 인식하고 자동으로 연결을 변경해주기 때문에 클라이언트에서는 끊김 없이 서비스를 계속 이용할 수 있습니다.

단점:

  1. 로드 밸런서의 특정 서버에 대한 부하가 매우 커지는 경우, 세션 지속성 때문에 해당 서버의 부하만 증가하고 다른 서버로의 부하 분산이 이루어지지 않아 전체 시스템의 성능 저하를 야기할 수 있습니다.
  2. 세션 정보를 유지하기 위해 쿠키 등의 저장 공간을 사용하기 때문에 이에 대한 추가적인 저장 공간이 필요하며, 이를 관리하기 위한 추가적인 처리가 필요할 수 있습니다.

따라서, 세션 지속성은 특정 상황에서는 유용하게 사용될 수 있지만, 서비스의 특성과 요구사항에 따라 적절한 방법으로 선택되어야 합니다.

 

요약도

용어 설명

 

*쿠키(Cookie)

의미: 인터넷 사용자가 어떤 웹사이트를 방문할 때 그 사이트가 사용하게 되는 작은 데이터 파일입니다. 클라이언트에서 서버로 요청을 보낼 때, 서버는 응답에 쿠키를 포함하여 클라이언트에게 전송합니다. 그리고 클라이언트는 이 쿠키를 저장하고 이후의 요청에 쿠키를 포함하여 서버로 요청을 보냅니다.

 

종류: 쿠키는 사용자의 웹 브라우저에서 저장되며, 보통은 세션 쿠키(session cookie)와 지속적인 쿠키(persistent cookie) 두 가지 종류가 있습니다.

 

목적: 로드 밸런서에서 생성되는 세션 쿠키는 로드 밸런서가 클라이언트 요청을 어떤 인스턴스로 보내야 하는지 추적하는 데 사용됩니다. 세션 지속성을 사용하는 경우 로드 밸런서는 클라이언트가 처음 요청을 보낼 때 쿠키를 생성하고 이후의 모든 요청에서 이 쿠키를 사용하여 인스턴스에 대한 지속적인 연결을 유지합니다. 따라서 세션 지속성을 사용하면 클라이언트의 모든 요청이 항상 동일한 인스턴스로 보내지므로 일관성 있는 사용자 경험을 제공할 수 있습니다.

세션 쿠키는 웹사이트 방문자가 브라우저를 닫을 때 자동으로 삭제됩니다. 이러한 쿠키는 보통 인증, 쇼핑 카트, 웹 페이지 개인화 등의 목적으로 사용됩니다. 지속적인 쿠키는 사용자가 삭제하기 전까지는 브라우저에 유지됩니다. 이러한 쿠키는 사용자가 자동 로그인, 팝업창에서 알림 메시지를 본 적이 있는지 등의 정보를 저장하기 위해 사용됩니다.

반응형

'AWS' 카테고리의 다른 글

AWS - Cross-Zone Load Balancing & SSL / TLS & SNL  (0) 2023.04.02
AWS - Auto Scaling Group (ASG)  (0) 2023.04.02
AWS - Elastic Load Balancer  (0) 2023.04.02
AWS - 고가용성과 확장성이란?  (0) 2023.03.29
AWS - EBS & EFS  (0) 2023.03.27