아마존 웹 서비스(AWS)의 스티키 세션(Sticky Session)은 로드 밸런서가 클라이언트의 요청을 동일한 백엔드 서버로 지속적으로 라우팅하도록 하는 기능입니다. 이를 통해 사용자는 세션 중에 동일한 서버와의 연결을 유지할 수 있어, 세션 데이터의 일관성을 보장하고 사용자 경험을 향상시킵니다.
스티키 세션의 필요성: 웹 애플리케이션에서 사용자의 세션 정보는 일반적으로 서버에 저장됩니다. 로드 밸런서가 요청을 여러 서버로 분산할 경우, 사용자가 다른 서버로 연결되면 세션 정보가 공유되지 않아 로그인 상태가 해제되거나 세션 데이터가 손실될 수 있습니다. 스티키 세션을 사용하면 이러한 문제를 방지할 수 있습니다.
AWS에서의 스티키 세션 지원: AWS의 로드 밸런서 중 Application Load Balancer(ALB)와 Classic Load Balancer(CLB)는 스티키 세션을 지원합니다. 반면, Network Load Balancer(NLB)는 스티키 세션을 지원하지 않습니다.
스티키 세션의 작동 방식: 로드 밸런서는 클라이언트의 요청에 쿠키를 추가하여 동일한 클라이언트의 후속 요청이 동일한 서버로 전달되도록 합니다. ALB의 경우, 로드 밸런서가 생성한 쿠키의 이름은 AWSALB이며, 이는 암호화되어 있어 해독하거나 변경할 수 없습니다.
스티키 세션 설정 방법: AWS 콘솔에서 로드 밸런서의 대상 그룹(Target Group) 설정에서 스티키 세션을 활성화할 수 있습니다. 대상 그룹의 속성 편집에서 스티키 세션을 활성화하고, 세션 지속 시간을 설정하면 됩니다.
주의사항: 스티키 세션을 사용하면 특정 서버에 요청이 집중되어 부하가 불균형하게 분산될 수 있습니다. 따라서, 세션 데이터를 서버 간에 공유하거나 외부 저장소를 사용하는 방법도 고려해볼 수 있습니다.
참고 자료:
- Application Load Balancer 세션 고정성 문제 해결 | AWS re
- Application Load Balancer | Elastic Load Balancing | Amazon Web Services
- ALB sticky session 에 대한 고찰. - 리눅서의 기술술 블로그
sticky session 이 정상적으로 붙은지 확인하는 방법은 아래와 같다.
아직 sticky session 설정을 추가하지 않은상태다.
sticky session 세션은 cookie로 생성이된다.
위의 자료를 참고하여 AWS에서 스티키 세션을 효과적으로 활용하시기 바랍니다.
'Computer 공부 > Network' 카테고리의 다른 글
Loadbalancer 와 SSL 핸드 쉐이크 (4) | 2024.11.20 |
---|---|
1.1 Network (0) | 2024.11.15 |