Cloud
[AWS] 로드밸런서(Load Balancer) 완벽하게 이해하기
은하윤슬
2025. 1. 18. 16:43
Load Balancer ?
로드밸런싱은 서버에서 처리해야 할 업무(트래픽)을 균등하게 배포하여 하나의 서버에서 과다한 트래픽 발생이 발생하여 부하가 걸리지 않도록 하는 방법입니다.
다들 인터넷을 사용하면서 트래픽이 한 곳에 집중되며 불편함을 호소했던 적이 있을 것이라고 생각합니다.
가령 좋아하는 가수의 콘서트를 가기 위해 티켓팅을 시도하는 중에 웹 서버에 부하가 걸리며 터진다면 티켓팅을 시도하는 사용자분들에게는 이보다 큰 재앙은 없을 것 입니다.
이처럼 서버의 부하가 걸리지 않기 위해서는 로드 밸런싱 기법이 매우 필수적이며, 서버 각각 스펙의 퍼포먼스를 최적으로 사용하기 위해서 중요한 기법 중 하나 입니다.
로드 밸런서 기법 종류
로드 밸런서는 서버의 성능을 고려해야 하기에 기법에도 다양한 종류가 있습니다.
- 라운드 로빈 (Round - Robin)
라운드 로빈 알고리즘은 DNS를 사용하여 연속적인 순환으로 각 서버에 순차적으로 요청을 할당합니다.
여러 대의 서버에 순차적으로 요청을 보내기 때문에 가장 기본적인 로드 밸런싱 기법 중 하나입니다. - 가중치 방식 라운드 로빈(Weighted Round - Robin)
해당 알고리즘은 각 서버에 DNS 외 '가중치'를 추가적으로 할당합니다.
서버마다 스펙이 다를 수 있으므로 서버마다 가중치를 각각 할당하여 어느 서버에 요청을 더 많이 보낼지 결정하는 방식으로, 만약 A라는 서버의 가중치가 8 B라는 서버의 가중치가 4라면 A의 서버에 8번의 요청을, B의 서버에 4번의 요청을 보내는 방법입니다. - IP해시(IP - Hash)
IP 해시는 들어오는 요청의 IP 주소(즉, 클라이언트의 IP)를 해싱(Hashing, 임의의 길이를 데이터를 고정된 길이의 값으로 매핑하는 기법)하여 특정 서버로 라우팅할 수 있도록 설정하는 기법입니다.
하기에, 해당 클라이언트에서는 설정해준 서버로만 접속할 수 있게 됩니다. - 최소 연결(Least Connection)
해당 알고리즘은 새 클라이언트에서 요청하여 서버로 수신할 때, 여러 대의 서버 중 가장 적은 서버에 우선 순위를 부여하여, 서버로부터 전반의 과부하를 방지할 수 있습니다. - 최소 응답 시간(Least Response Time)
해당 알고리즘은 최소 연결 방법과 평균적으로 가장 응답이 짧은 서버를 고려하여 트래픽을 배분해주는 알고리즘으로, 최소한의 연결과 가장 응답 시간이 짧은 서버에 요청이 할당됩니다.
(최소 연결 &&(AND) 최초 응답)
다음 포스팅에서는 AWS NLB를 실습하는 포스팅을 작성하겠습니다.
감사합니다.