6.2 로드 밸런서
서버나 장비의 부하를 분산하기 위해 사용하는 장비를 흔히 로드 밸런서라고 부릅니다. 트래픽을 분배해주는 기능 때문인데 4계층 이상에서 동작하면서 IP 주소나 4계층 정보, 애플리케이션 정보를 확인, 수정하는 기능이 있습니다. 가장 많이 쓰이는 분야는 웹 서버의 부하 분산입니다. 사용자 천 명의 요청을 동시에 처리해주는 서버보다 사용자 5천 명의 요청을 동시에 처리해주는 서버의 가격은 5배가 아니라 이보다 훨씬 비쌉니다. 내부 부품을 이중화하거나 용량이 더 큰 부품을 사용하면 가격이 크게 올라가므로 작은 장비 여러 대를 묶어 사용하는 방법을 선호합니다. 이런 시스템 확장 방법을 스케일 아웃이라고 하고 상세한 서비스 확장 방법은 이번 장 마지막의 ‘시스템 확장 방법: 스케일 업과 스케일 아웃’에 자세히 설명되어 있습니다.
작은 시스템 여러 대를 운영하더라도 사용자는 서버 배치와 상관없이 하나의 서비스로 보여야 합니다. 로드 밸런서가 서비스에 사용되는 대표 IP 주소를 서비스 IP로 갖고 그 밑에 시스템이 늘어나면 로드 밸런서가 각 시스템의 실제 IP로 변경해 요청을 보냅니다. 이런 로드 밸런서는 웹, 애플리케이션뿐만 아니라 FWLB(FireWall Load Balancing: 방화벽 로드 밸런싱), VPNLB(VPN Load Balancing: VPN 로드 밸런싱)와 같이 다양한 서비스를 위해 사용될 수 있습니다.
▲ 그림 6-1 로드 밸런서의 역할