본문 바로가기
개발 공부/AWS

[AWS] SAA 공부 (5)-4 ELB - Sticky Sessions / Cross-Zone Load Balancing

by sngynhy 2025. 3. 24.

Sticky Sessions (고정 세션)

Session Affinity

  • 클라이언트가 로드 밸런서에 연속된 요청을 할 때 처음 연결된 동일한 인스턴스로 요청을 보낼 수 있도록 고정시키는 기능
  • 클라이언트가 로드 밸런서로 요청을 보낼 때 세션 쿠키와 함께 전송
    • 쿠키에는 스티키니스 만료 날짜가 포함되어 있음
    • 쿠키가 만료되면 다른 인스턴스로 리다이렉션 될 수 있음
  • 동일한 인스턴스에 연결되어 세션 데이터를 잃지 않도록 하기 위해 사용
    • 사용자 로그인과 같은 상태 유지가 필요한 애플리케이션
  • 일부 인스턴스에 매우 스티키한 사용자가 있는 경우 인스턴스의 부하가 불균형해질 수 있음

Cookie Names

  • 애플리케이션 기반 쿠키
    • 사용자 정의 쿠키
      • 애플리케이션에서 필요로하는 모든 사용자 정의 속성을 포함
      • 쿠키 이름은 각 타겟 그룹마다 개별적으로 지정
        • AWSALB, AWSALBAPPOR, AWSALBTG은 쿠키 이름으로 지정할 수 없음 (예약어)
    • 애플리케이션 쿠키
      • 로드 밸런서 자체에서 생성
      • 쿠키 네임
        • AWSALBAPP
  • 지속 시간 기반 쿠키
    • 로드 밸런서에서 생성
    • 특정 지속 시간에 따라 만료
    • 쿠키 네임
      • ALB - AWSALB

Cross-Zone Load Balancing (교차 영역 밸런싱)

  • 트래픽을 모든 가용 영역에 고르게 분배
    • 각각의 로드 밸런서 인스턴스가 모든 AZ에 등록된 모든 인스턴의 부하를 고르게 분배\
    • AZ별 인스턴스 수가 달라도 트래픽이 균등하게 분배
  • 부하 분산 최적화
    • 각 AZ에 인스턴스 수가 다르면 부하가 불균형해질 수 있음
    • 예를 들어, AZ-1에 인스턴스 2개, AZ-2에 인스턴스 1개가 있을 때
    • CZLB가 비활성인 경우 트래픽의 50%는 AZ-1로, 남은 50%는 AZ-2로 전달
    • 결국 인스턴스가 1개인 AZ-2에 부하가 옴
  • ALB
    • 기본 활성화
    • 타겟 그룹 설정에서 비활성으로 변경 가능
    • 데이터를 다른 AZ로 옮기는 데 비용이 발생하지 않음 (일반적으로는 다른 AZ로 데이터 옮길 때 비용 발생)
  • NLB, GWLB
    • 기본 비활성화 > 활성화하려면 비용 발생