본문 바로가기

사는 이야기/펌킨도서관

AWS에서의 로드밸런싱 간단 요약 ~ 하이브리드 구성 고민 커질 듯

L4/L7 스위치를 이용한 부하 분산은 어디서나 중요합니다. 온프레미스, 클라우드 모두에서 두루 쓰이죠. 

관련해 오늘은 AWS가 제공하는 로드밸런서 옵션을 간단히 소개하겠습니다. 


일반적으로 온프레미스에서는 L4/L7 스위치를 통해 부하 분산을 합니다. 필요에 따라 L4 계층의 부하 분산을 하기도 하고, 애플리케이션 가속 등을 위해 L7 계층에서 로드밸런싱을 수행하기도 합니다. 단일 장비가 모두를 지원한다고 보면 됩니다. 


반면에 AWS의 경우 조건에 따라 선택해 쓰도록 두 가지 옵션을 제공합니다. 바로 ALB(Application Load Balancer)와 NLB(Network Load Balancer)입니다. 이외에 클래식 로드밸런서가 있는데, 이 서비스는 말 그대로 예전부터 제공하던 것입니다. 이름만 봐도 느낌이 오죠. ALB는 L7 스위칭 전용 옵션입니다. L4/L7 스위치가 제공하는 ADC(Application Delivery Controller)과 같이 컨텐츠 기반 라우팅을 하는 것이라 보면 되고요. NLB는 SLB, FWLB, VPNLB 등을 구성할 때 쓰는 L4 기반 부하 분산입니다.


두 서비스의 특징은 네이티브 클라우드 로드밸런서란 점입니다. ALB의 경우 라우팅 요청 처리를 URL 기반 룰을 통해 할 수 있는데요, 이는 아마존 EC2 컨테이너 기반 마이크로 서비스의 부하 분산에 잘 맞습니다. HTTP/HTTPS 헤더 기반 트래픽 최적화, 패킷 감사 등의 기능도 제공하네요. 


NLB 역시 동작 원리나 목적은 온프레미스에서 쓰는 L4/L7 스위치와 대동소이 합니다. 다만 API를 통해 아마존의 다양한 클라우드 서비스와 연계 편의성이 좋다는 것이 차이라 할 수 있겠네요. IP 대역에 대한 개념도 아무래도 클라우드 친화적이다 보니 조금 다르네요. 흥미로운 것은 L4/L7 스위치를 통한 GSLB 구성도 비슷한 구성을 할 수 있습니다. 아마존이 제공하는 도메인 관리 서비스인 Route 53을 이용해 DNS 기반 부하 분산을 지원하는데, L4/L7 스위치처럼 헬스 체크를 합니다. 물론 조금 다르겠지만, 큰 그림은 비슷해 보입니다. 


물론 AWS가 제공하는 로드밸런서 외에 다른 옵션도 있습니다. 대표적인 것이 HAProxy 입니다. 오픈 소스 로드밸런서이기 때문에 비용 부담 없이 사용할 수 있는데요, 물론 제대로 쓰려면 좀 공부를 해야겠죠. 



로드밸런서에 대한 기업의 고민은 앞으로 하이브리드 구성 쪽으로 향할 것 같습니다. 온프레미스 따로, 클라우드 따로 각각 배치해 쓰겠지만, 워크로드의 특성과 인프라/플랫폼 구성 조건에 따라 성능 보장과 페일오버 등을 위해 하이브리드 구성을 고민하는 곳이 늘어날 것 같습니다.