AWS Cloud/solution architect

AWS의 로드 밸런싱 전략 (스티키 세션/교차 영역 로드 밸런싱)

Yonggyu 2023. 11. 1. 16:30
반응형

 

 

 

스티키 세션(Sticky Sessions)

고정 세션 또는 세션 밀집성으로도 칭합니다.
고정 세션은 로드 밸런서에서 특정 클라이언트의 연결을 백엔드 서버의 동일한 인스턴스로 유지하는 개념입니다. 이것은 동일한 클라이언트가 여러 요청을 만들 때, 모든 요청에 대해 동일한 백엔드 인스턴스를 사용하도록 하는 것입니다.

고정 세션의 동작 원리

예를 들어, 로드 밸런서 앞에 2개의 EC2 인스턴스와 3개의 클라이언트가 있다고 가정해 봅시다. 첫 번째 클라이언트가 첫 번째 EC2 인스턴스를 통해 요청을 생성하면, 로드 밸런서는 두 번째 요청을 처리할 때 동일한 인스턴스로 리디렉션합니다. 이것은 애플리케이션 로드 밸런서가 모든 EC2 인스턴스에 대한 요청을 분산하는 것과는 다릅니다. 두 번째 클라이언트는 두번째 인스턴스와 통신한다면 3번째 클라이언트도 두번쨰 인스턴스로 이동합니다.

 


고정 세션은 클라이언트와 백엔드 인스턴스 간의 세션 상태를 유지하는 데 쿠키를 사용합니다. 이러한 쿠키는 두 가지 유형이 있습니다

1. 어플리케이션 기반 쿠키
애플리케이션에서 생성되는 사용자 지정 쿠키로, 필요한 사용자 지정 속성을 포함할 수 있습니다. 쿠키 이름은 각 대상 그룹마다 개별적으로 설정해야 합니다. 일반적으로 'AWSALB', 'AWSALBAPP', 또는 'AWSALBTG'와 같은 이름 사용을 피해야 합니다.

2. 기간 기반 쿠키
로드 밸런서에서 생성되며 이름은 'AWSALB' 또는 'AWSELB'입니다.
이 쿠키는 로드 밸런서에서 설정한 기간 동안 유효합니다. 애플리케이션 기반 쿠키에서는 이 기간을 애플리케이션에서 설정할 수 있습니다.

쿠키를 통한 고정 세션 구성
로드 밸런서에서 고정 세션을 활성화하려면 대상 그룹의 속성을 수정하고 쿠키 이름을 설정합니다. 이러한 설정을 통해 클라이언트가 동일한 백엔드 인스턴스로 리디렉션될 수 있습니다.

 

 

 

교차 영역 로드 벨런싱 (Cross Zone Load Balancing)

가용 영역 간에 서버 인스턴스 수가 다르거나 트래픽이 부하가 다를 수 있습니다.

이런 상황에서 교차 영역 밸런싱은 모든 가용 영역의 서버 인스턴스에 동일한 비중으로 트래픽을 분산시켜줍니다. 이를 통해 부하가 일관되게 분산되며 성능과 내결함성을 유지할 수 있습니다.


교차 영역 밸런싱
서로 다른 가용 영역 간에 트래픽을 분산합니다. 


예를 들어, 클라이언트가 트래픽의 왼쪽, 오른쪽 가용영역에 로드밸런서에 50씩 준다고해도 교차 영역 밸런싱을 사용하면 두 가용 영역에 있는 서버 인스턴스에 동일한 트래픽 비중으로 10씩 할당됩니다. 이것이 교차 영역 로드 밸런싱입니다.

 

 


교차 영역 로드 밸런싱이 없는 경우

클라이언트가 트래픽을 하나의 가용 영역으로 보내면 해당 영역 내에서만 서버 인스턴스에 트래픽을 분산시킵니다. 이 경우, 각 가용 영역은 독립적으로 작동하며 서버 인스턴스 수나 트래픽 부하에 따라 분산 비중이 달라질 수 있습니다.


AWS 로드 밸런서와 교차 영역 밸런싱

 

애플리케이션 로드 밸런서(ALB)에는 교차 영역 로드 밸런싱이 기본으로 활성화되어 있습니다 그래서 비용이 들지 않습니다.


네트워크 로드 밸런서 (NLB) 및 게이트웨이 로드 밸런서 (GLB)는 교차 영역 밸런싱을 사용하려면 추가 비용이 발생합니다. 설정을 통해 활성화할 수 있습니다.

 

 

 

 

728x90
반응형