Question

AWS ALB의 기본 작동방식이 Round Robin으로 알고 있습니다.

해당 작동방식 외에 Fastest Response Time 으로 설정이 가능한지 문의 드립니다. 


Answer


현재 ALB에서 지원되는 라우팅 알고리즘은 RR(Round Robin) 과 LOR(Least Outstanding Requests) 뿐이므로 이 외의 라우팅 알고리즘으로 변경은 어렵습니다. 


[라우팅 알고리즘 변경 방식]

  • AWS 관리 콘솔에 접속하고 로드 밸런싱 서비스를 엽니다.

  • 내비게이션 창에서 "로드 밸런싱" 섹션 아래에 있는 "타겟 그룹"을 선택합니다.

  • 타겟 그룹 목록에서 속성을 구성할 타겟 그룹 이름을 선택하여 해당 세부 정보 페이지를 엽니다.

  • "그룹 세부 정보" 탭에서 "속성" 섹션을 찾고 "편집" 버튼을 클릭합니다.

  • "속성 편집" 페이지가 나타납니다. "로드 밸런싱 알고리즘" 옵션을 찾으세요.

  • 사용 가능한 옵션 중에서 RR(Round robin) 또는 LOR(Least outstanding requests) 중 하나를 선택합니다.

  • 선택을 완료한 후, 업데이트된 구성을 저장하기 위해 "변경 사항 저장" 버튼을 클릭합니다.

  • 위의 단계를 따라하면 AWS 콘솔에서 타겟 그룹의 로드 밸런싱 알고리즘을 구성할 수 있습니다.


[RR(Round Robin)]

Round Robin (RR)은 로드 밸런싱 알고리즘 중 하나입니다. 이 알고리즘은 트래픽을 순환하면서 대상 그룹 내의 서버들에게 균등하게 분배합니다.

Round Robin 알고리즘을 사용하면 로드 밸런서는 들어오는 요청을 순서대로 대상 서버에 전달합니다. 처음 요청은 첫 번째 서버로 전달되고, 두 번째 요청은 두 번째 서버로, 세 번째 요청은 세 번째 서버로 전달되는 식입니다. 이후에도 요청은 순서대로 대상 서버에 할당되며, 대상 서버의 수가 다차면 다시 첫 번째 서버부터 시작하여 순환됩니다.

Round Robin 알고리즘은 간단하고 공정한 분배 방식으로 알려져 있습니다. 모든 서버가 동등한 부하를 처리할 수 있다고 가정할 때, 각 서버에 동일한 요청 비중을 분배하여 효율적인 로드 밸런싱을 달성할 수 있습니다.


그러나 서버의 성능이 다를 경우에는 문제가 발생할 수 있습니다. 예를 들어, 일부 서버가 다른 서버보다 더 많은 리소스를 소비하거나 응답 시간이 느릴 경우, Round Robin 알고리즘은 부하를 균등하게 분산하지 못할 수 있습니다.


[예시 이미지1]


[LOR(Least Outstanding Requests)]

 LOR 알고리즘은 미처리 요청이 가장 적은 대상에 해당 요청을 보내는 알고리즘 입니다.  즉, 응답을 기다리는 요청 수가 가장 적은 대상을 선택합니다. 시간이 오래 걸리는 요청을 처리 중이거나 처리 능력이 다소 낮은 대상은 요청이 추가로 할당되지 않으며 부하가 대상 간에 고르게 분산 됩니다.  해당 알고리즘은 새로운 대상이 과부하 대상에서 부하를 효과적으로 덜어내는 데도 도움이 됩니다.


[예시 이미지2]

 


청 수가 제일 적은 Task로 트래픽을 보내는것이 LOR 알고리즘 입니다.