AWS(Amazon Web Service)

[AWS] ELB의 고정 세션(Sticky Seccions)

yunseohhe 2024. 10. 1. 20:00

Sticky Seccions(Seccion Affinity)

  • 고정성 혹은 고정 세션을 실행하는 것으로 로드 밸런서에 2가지 요청을 수행하는 클라이언트가 요청에 응답하기 위해 백엔드에 동일한 인스터스를 갖는 것이다.
  • 쿠키
     = 클라이언트에서 로드 밸런서로 요청의 일부로서 전송되는 것이다.
     : 쿠기가 만료되면 클라이언트가 다른 EC2 인스턴스로 리디렉션된다는 것이다.
  • 세션 만료를 사용 시에는 사용자의 로그인과 같은 중요한 정보를 취하는 세션 데이터를 잃지 않기 위해 사용자가 동일한 백엔드 인스턴스에 연결된다.
  • 고정성을 활성화하면 백엔드  EC2 인스턴스 부하에 불균형을 초래할 수 있다.
     : 일부 인스턴스는 고정 사용자를 갖게 된다.

 

(출처 : 구글이미지)

  • 2개의 EC2 인스턴스와 3개의 클라이언트가 있는 ALB와 같은 것이다.
  • 1번 클라이언트가 요청을 생성해 첫 번째 EC2 인스턴스를 통과하면 로드 밸런서에서 두 번째 요청을 실행할 때 동일한 인스턴스로 이동함을 뜻하며 이는 애플리케이션 밸런서가 모든 EC2 인스턴스 전반으로 모든 요청을 확산하는 것과는 다른 동작이다.
  • 2번 클라이언트에서는 ALB가 두 번째 인스턴스와 통신하면 동일한 인스턴스로 이동하고 3번째 클라이언트도 마찬가지이다.
  • 위에 이 동작은 CLB와 ALB에서도 설정할 수 있다.

 

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

  • Custom cookie
      : 대상(target)으로 생성된 사용자 정의 쿠키이다.
      : 애플리케이션에 필요한 모든 사용자 정의 속성을 포함할 수 있다.
      : 쿠키 이름은 각 대상 그룹별로 개별적으로 지정해야한다.
         그러나 AWSALB, AWSALBAPP 또는 AWSALBTG 같은 이런 이름들은 사용하면 안된다.
         ELB에서 사용하기 때문이다.
  • Application cookie
      : 로드 밸런서 자체에서 생성된다.
      : ALB의 쿠키이름은 AWSALBAPP이다.

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

  • 로드 밸런서에서 생성되는 쿠키이다.
  • ALB에서는 이름이 AWSALB이고, CLB에서는 AWSELB이다.
  • 특정 기간을 기반으로 만료되며 그 기간이 로드 밸런서 자체에서 생성되는 것이다.