2023. 12. 15. 15:38

Azure Load Balancer 배분 규칙(세션 지속성)

[문제 정의]
Azure LB가 1번 2번 서버가 있을때 1번 서버로 자주 가는 편인가요?

분산 규칙이 어떻게 되는지 궁금합니다.
몇번 로그 분석을 해보니 2번 서버의 경우 패치시 재시작 할때쯤 로그만 남아있고 해당 서버로 가질 않아서요
H/W L4 장비를 보면 비율로 할당하던지 아니면 순차적으로 할당을 한다던지 알고 있습니다.

[확인내용]

현재 사용하시는 /subscriptions/1cf8efba-637f-49a3-abb1-383611256aef/resourceGroups/HandyOne/providers/Microsoft.Network/loadBalancers/Api-GW-LB의 load balancing rule 설정을 확인해본 결과
Session persistence: Client IP 설정이 되어 있는데요, 이러할 경우 하나의 client ip를 갖고 LB frontend ip를 목적지로 접근할 경우 항상 backend pool VM 여러대 중 한대로만 전달이 될 겁니다.

Azure Load Balancer distribution modes | Microsoft Learn를 참고하시면 되겠습니다.

session persistence를 default로 설정하시고 가능하시면 테스트 하실때 client 를 2개 혹은 4개 정도를 준비 하시고 테스트를 해보시면 backend pool backend pool VM 2 으로 부하분선이 evenly 하게 이루어지고 있는것을 보실 수 있습니다.

 

 

 

 

만약 세션 지속성을 [없음] 으로 설정한다면, 서버에 접근하는 클라이언트가 세션의 유지없이 여러 VM 장비에 접근

 

결론 : Azure 에서의 LB 는 세션 지속성에 의해서 클라이언트가 서버에 접근하는것을 설정할수 있다.

          (세션 지속성)

          Azure 에서는 L4 장비에서 사용하는것처럼 서버의 가중치(A 서버 :80% / B 서버 20%)를 설정 할 수 없음.

          (균등하게 배분)