부하 분산과 고가용성을 제공하는 ELB

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

ELB 로드 밸런서 Sticky Session 기능 사용하기

ELB 로드 밸런서가 라운드 로빈 알고리즘으로 트래픽을 분배하는 것이 아닌 사용자의 쿠키 세션을 기준으로 트래픽을 분배하는 Sticky Session을 사용해보겠습니다.

ELB 로드 밸런서 목록(NETWORK & SECURITY → Load Balancers)에서 ELB 로드 밸런서(exampleelb)를 선택하고, 아래 Description 탭을 클릭합니다. Port Configuration 부분에서 Stickiness: Disabled의 Edit를 클릭합니다.


그림 18-18 ELB 로드 밸런서 목록

Sticky Session을 설정합니다. Enable Load Balancer Generated Cookie Stickiness를 선택합니다(그림 18-19).

  • Enable Load Balancer Generated Cookie Stickiness: ELB 로드 밸런서가 생성한 쿠키를 사용합니다.
  • Expiration Period: 쿠키가 유지되는 시간을 설정할 수 있습니다. 값을 설정하지 않으면 쿠키를 삭제하지 않고 계속 유지시킵니다. 여기서는 300을 입력합니다.
  • Enable Application Generated Cookie Stickiness: 서버의 애플리케이션이 생성한 쿠키를 사용합니다.
  • Cookie Name: 서버의 애플리케이션이 생성한 쿠키 이름을 설정합니다.

설정이 완료되었으면 Save 버튼을 클릭합니다.


그림 18-19 ELB 로드 밸런서 Sticky Session 설정

ELB 로드 밸런서 Sticky Session 설정이 완료되었습니다.


그림 18-20 ELB 로드 밸런서 Sticky Session 설정 완료

웹 브라우저를 실행하고 ELB 로드 밸런서의 URL에 접속합니다. 저는 두 번째 EC2 인스턴스에 연결되었습니다. 이 URL을 계속 새로고침해도 계속 같은 EC2 인스턴스에 연결됩니다.

Expiration Period를 300초(5분)으로 설정했기 때문에 5분 뒤에 새로고침해보면 다른 EC2 인스턴스에 연결될 수 있습니다.


그림 18-21 웹 브라우저에서 ELB 로드 밸런서의 URL에 접속

구글 크롬을 사용하고 있다면 F12 키를 눌러 개발자 도구를 실행합니다. 그리고 Network 탭을 클릭한 뒤 새로고침해보면 ELB 로드 밸런서가 생성한 쿠키 값을 볼 수 있습니다.


그림 18-22 구글 크롬에서 쿠키 확인


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.