본문 바로가기

IT 엔지니어를 위한 네트워크

로드밸런서(Load Balancer) - Part 6(로드 밸런서 동작모드 1-TP)

Today Keys : 로드밸런서, L4, L7, 부하분산, Load Balancer, Load Balancing, 동작 모드, 트랜스페런트, transparent

본 포스팅은 'IT 엔지니어를 위한 네트워크 입문' [길벗] 서적에 포함된 '12. 로드밸런서'의 내용 중 소개 및 12.6장의 내용입니다


트랜스패런트 모드

트랜스패런트(Transparent; 투명) 구성은 로드 밸런서가 OSI 2계층 스위치처럼 동작하는 구성입니 다. 즉, 로드 밸런서에서 서비스하기 위해 사용하는 VIP 주소와 실제 서버가 동일한 네트워크를 사용하는 구성입니다. 트랜스패런트 구성은 기존에 사용하던 네트워크 대역을 그대로 사용하므로 로드 밸런서 도입으로 인한 IP 네트워크 재설계를 고려하지 않아도 되고 네트워크에 L2 스위치를 추가하는 것과 동일하게 기존 망의 트래픽 흐름에 미치는 영향 없이 로드 밸런서를 손쉽게 구성할 수 있습니다.

 트랜스패런트 구성에서는 트래픽이 로드 밸런서를 지나더라도 부하 분산 서비스를 받는 트래픽인 경우에만 4계층 이상의 기능을 수행하며 부하 분산 서비스가 아닌 경우에는 기존 L2 스위치와 동일한 스위칭 기능만 수행합니다.

 그래서 이 구성을 L2 구조라고 부르기도 합니다. 트랜스패런트 모드는 그림 12-27처럼 12.6 로드 밸런서 동작 모드에서 알아본 원암과 인라인 구 성에서 모두 사용할 수 있는 동작 모드입니다.

 다만 원암 구성에서는 응답 트래픽 경로 부분이 문 제가 될 수 있어 Source NAT가 필요합니다. 이 내용은 12.7 로드 밸런서 유의사항에서 자세히 알아보고 여기서는 인라인 구성으로 트랜스패런트 모드를 살펴보겠습니다

 

원암과 인라인 구성에서 모두 트랜스패런트 구성이 가능하다.

 

이제 트랜스패런트 모드에서 부하 분산 트래픽이 어떻게 흐르는지 알아보겠습니다.

 

트랜스패런트 모드에서 서비스 요청 시의 패킷 흐름

먼저 사용자는 서비스 IP인 로드 밸런서의 VIP 주소 10.10으로 서비스를 요청합니다.

 로드 밸런 서로 들어온 패킷은 목적지 IP 주소를 VIP에 바인딩되어 있는 실제 서버 IP 주소로 변경(Rewrite) 하므로 목적지 IP 주소는 10.10에서 10.11로 변경됩니다. 마찬가지로 목적지 MAC 주소도 실제 서버의 MAC 주소인 C가 됩니다.

 로드 밸런서와 목적지 서버가 동일한 네트워크 대역이므로 L3 장비를 지날 때처럼 출발지 MAC 주소는 변경되지 않습니다.

 서비스 요청 패킷의 목적지 정보가 변경되면 실제 서버로 패킷이 전달됩니다. 로드 밸런서에서 서비스를 위한 VIP 주소가 실제 서버 의 IP 주소로 변경해 전송하므로 목적지(Destination) NAT가 되었다고 합니다.

 

트랜스패런트 모드에서 서비스 응답 시의 패킷 흐름

 

서버에서 사용자에게 응답할 때는 로드 밸런서를 지나면서 요청할 때와 반대로 출발지의 IP 주소 가 실제 서버의 IP에서 VIP 주소로 변경되지만 목적지 MAC 주소는 변경되지 않습니다.

서버에서 응답할 때, 목적지 MAC 주소가 이미 게이트웨이의 MAC 주소를 갖고 있어 변경할 필요가 없 기 때문입니다.

 인라인 구성에서 로드 밸런서가 트랜스패런트 모드에서 동작할 때, 게이트웨이 외부 사용자로부 터 받은 서비스 요청을 처리하는 데는 문제가 없지만 동일 네트워크에서 서비스를 호출할 때는 서비스 응답이 로드 밸런서를 거치지 않을 수 있습니다. 로드 밸런서가 원암 구성인 경우에도 서비 스 응답이 로드 밸런서를 거치지 않을 수 있고 이때 서비스에 문제가 발생할 수 있습니다. 응답 패 킷이 로드 밸런서를 다시 거쳐 역변환되어야 정상적인 부하 분산이 가능하기 때문입니다. 이 부분은 12.7 로드 밸런서 유의사항 절에서 다룹니다

 

참고
 트랜스패런트 모드를 구현할 때는 내부적으로 프록시 ARP를 이용하는 방식이 사용되기도 합니 다. 프록시 ARP를 이용해 구현한 트랜스패런트 모드는 MAC 주소를 변경합니다.
 최근에는 이런 프록시 ARP를 이용한 방식보다 대부분 순수 트랜스패런트 모드를 사용하므로 상세한 내용을 설 명하지 않았습니다