본문 바로가기
Cloud/AWS

AWS) 로드 밸런서 - Sticky Session(고정 세션)

by 박채니 2024. 2. 22.
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
"유데미" AWS 강의를 참고하여 포스팅한 개인 공부 내용입니다.

 

Sticky Sessions (Session Affinity) - 고정 세션

→ 고정 세션 실행

CLB (Classic Load Balancer), ALB (Application Load Balancer) 설정 가능

 

ex> 2개의 EC2 인스턴스와 3개의 클라이언트가 있는 ALB라고 가정

  1. 1번 클라이언트가 요청을 생성하여 첫 번째 EC2 인스턴스 통과
  2. 두 번째 요청 실행 시, 로드 밸런서에서 동일한 인스턴스로 이동함을 뜻함

⭐️ 클라이언트에서 로드 밸런서로 요청의 일부로서 "쿠키" 전송

고정성과 만료기간이 존재하므로, 만료된 경우 클라이언트가 다른 EC2 인스턴스로 리다이렉션

 

🚨 고정성 활성화 시, 백엔드 EC2 인스턴스 부하에 불균형 초래 가능성이 있음 → 일부 인스턴스는 고정 사용자를 갖게 됨

 

사용 사례

 

  • 사용자 로그인과 같은 중요 정보를 취하는 세션 데이터를 잃지 않기 위해 동일한 백엔드 인스턴스에 연결

 


 

Cookie

Application-based Cookie (애플리케이션 기반 쿠키)

  • 대상으로 생성된 사용자 정의 쿠키
    • 애플리케이션에 필요한 모든 사용자 정의 속성 포함 가능
    • 쿠키 이름은 각 대상 그룹별로 개별 지정
      AWSALB, AWSALBAPP, AWSABLTP 등과 같은 이름은 사용 금지
  • 애플리케이션 쿠키
    • 로드 밸런서 자체에서 생성
    • ALB 쿠키 이름 → AWSALBAPP

애플리케이션에서 기간 지정 가능

 

Duration-based Cookie (기간 기반 쿠키)

  • 로드 밸런서 자체에서 생성
  • ALB 쿠키 이름 → AWSALB
  • CLB 쿠키 이름 → AWSELB
  • 특정 기간을 기반으로 만료, 해당 기간은 로드 밸런서 자체에서 생성