1 ELB Request Routing Algorithms
- Elastic Load Balancing(ELB)의 핵심 기능 중 하나는 들어오는 요청을 여러 대상에 효율적으로 분배하는 것입니다.
- 이를 위해 ELB는 다양한 Request Routing Algorithms(요청 라우팅 알고리즘)을 제공합니다.
- 각 알고리즘은 특정 상황과 요구사항에 맞게 최적화되어 있어, 적절한 선택이 중요합니다.
2 주요 Request Routing Algorithms
2.1 Round Robin
- 가장 기본적이고 널리 사용되는 알고리즘입니다.
- 들어오는 요청을 순차적으로 각 대상에 균등하게 분배합니다.
- 모든 대상이 동일한 처리 능력을 가질 때 효과적입니다.
- Application Load Balancer(ALB)와 Network Load Balancer(NLB)에서 기본으로 사용됩니다.
2.2 Least Outstanding Requests (LOR)
- 현재 처리 중인 요청이 가장 적은 대상으로 새로운 요청을 라우팅합니다.
- 대상 간 처리 능력 차이가 있거나, 요청 처리 시간이 다양할 때 유용합니다.
- Application Load Balancer에서 사용 가능합니다.
2.3 Weighted Target Groups
- 각 대상 그룹에 가중치를 할당하여 트래픽 분배 비율을 조정합니다.
- 서로 다른 용량이나 중요도를 가진 대상 그룹 간에 트래픽을 분배할 때 유용합니다.
- Application Load Balancer에서 지원됩니다.
2.4 Flow Hash
- 연결의 특정 속성(예: 소스 IP, 목적지 IP, 프로토콜 등)을 기반으로 일관된 해시를 생성하여 라우팅합니다.
- 동일한 클라이언트에서 오는 연결이 항상 같은 대상으로 라우팅되도록 보장합니다.
- Network Load Balancer에서 주로 사용됩니다.
3 ELB 유형별 지원 알고리즘
3.1 Application Load Balancer (ALB)
- Round Robin (기본)
- Least Outstanding Requests
- Weighted Target Groups
3.2 Network Load Balancer (NLB)