SharedIT | 묻고 답하기(AMP)

L4 스위치 로드밸런싱 관련해서 아시는분 계실까요??

안녕하세요. 처음이라 이런 질문 올려도 될지 모르겠습니다만, 관련 정보를 얻을 길이 막막하여 올려봅니다..

저희는 근 3년간 IoT망 이용하여 데이터를 수집하여 모니터링하는 시스템을 구축해 운영중에 있습니다. 서버 구축은 이미 다 되있는 상황으로 간단히 말씀드리면 'VPN -> L4스위치 -> IDC(운영서버 4대)' 로 구성되어 있습니다. 실제 데이터가 들어오는 서버는 IDC의 1번서버 입니다.

점차 데이터양이 많아지다보니, 서버부하로 인해 L4스위치 로드밸런싱을 이용하여 운영서버 4대를 모두 사용하고자 하는데요, 스위치 관련 네트워크 업체에 문의해보니 현상황에서는 적용할 수 없다고 하네요.. 

그 이유가 source IP(출발지)가 고정된 하나의 IP이기 때문이라고 하네요.. IoT통신을 하다보니 통신사 플랫폼을 거쳐 수집되는 형태라, 결국 스위치로 들어오는 데이터들의 IP가  하나로 고정될 수 밖에 없는데.. 

이런 경우 로드밸런싱, 주로 사용하는 RR (RoundRobin) 정책을 적용할 수 없는게 맞는건지 이해가 안되고, 안되는게 맞다면.. 다른 개선사항이나 아이디어가 있을지 글 올려봅니다.


감사합니다.

다들 좋은 하루 보내세요~

Tags : 태그가 없습니다.

7개의 답변이 있습니다.

rino
  0 추천 | 2년 이상 전

아마도

소스 IP 가 동일하다면(NAT IP 가 1개인 경우 처럼) - 192.168.100.1 2 3 4 5 ... 이더라도 NAT IP 가 한개라면...

결국 L4 로드밸런싱은 의미가 없어집니다. 처음 접속한 넘이 첫번째 서버에 접속하면 그 정보가 L4에서 기억하고 있으므로 계속 첫번째 서버로만 연결됩니다.

L4에서 해당 persistent time out 을 5초 정도로 설정한다면 5초가 넘어서면 다른 서버로 접속이 될 수도 있겠지만... 통신이 계속적으로 5초 이내라면 무조건 처음 연결된 서버로만 붙습니다.

이 경우, DNS 밸런싱이 더 유용할 듯 싶습니다.
네임서버에서 service.xxxx.net 호스트네임에 여러 IP(여러 서버의 IP)를 설정한다면... 분산되어 접속되겠지요~

yuseng
  0 추천 | 3년 이하 전

소스IP가 고정이라서 로드밸런싱이 안된다는건 이해가 안되네요

어째든 들어오는 트래픽은 VPN을 통해 L4 VIP을 목적지 주소로 들어올거고

L4에서 어떤 알고리즘이든 응답할 서버에 대해 세션을 수립할텐데요...

만약, 세션이 소스 -> IDC서버가 끊어지지 않고 계속 유지된다면 그럴수도 있다고 봅니다.

실제로 운영해보니, 특정  소스IP에 대해 라우팅 캐싱도 가지고 있어 알고리즘에 상관없이 

특정 서버에 몰리기도 하더라구요

엔큐씨
  0 추천 | 3년 이하 전 | (주)엔큐컨설팅 | 01087494079

문의에 대한 답변 보내드립니다.


1. L4스위치는 기본적으로 부하분산을 하게되면 Session Entry와 Persist Entry를 생성하게 됩니다.

Session Entry는 세션 별 부하분산 정보를 기록하고, Persist Entry는 IP 별 부하분산 정보를 기록하게 됩니다.

Persist Entry에 기록된 정보를 확인하고 하나의 클라이언트에서 보낸 모든 세션은 하나의 서버로 전송하여 연결 유지를 보장하도록 되어 있습니다.

그렇기 때문에 운영서버 1로만 패킷이 부하분산 됩니다.


대응 방안

1. 운영서버1~4 모두 동기화가 되어 세션을 서로 공유하고 있다면

L4스위치에서 Persist Entry를 참고하여 IP 별 부하분산을 하는게 아닌, 세션 별 부하분산을 하게 되면 모든 서버에 부하분산을 할 수 있습니다.


예를 들면 클라이언트 A가 운영서버 1에서 로그인을 했지만, 데이터는 운영서버 2에서 받아 가는게 가능하다면 세션 별 부하분산을 사용 가능할 것으로 생각됩니다.

danis78
  0 추천 | 3년 이하 전 | 제이컴즈 | 010-2871-8756

왜 운영할 수 없는지 네트워크 전문 업체에게 자세하게 상담을 받는 게 좋을 듯 싶습니다. 

Genghis Khan
  0 추천 | 3년 이하 전

정말 이해가 안되네요

빨간신발님 말씀처럼 구성하면 

RR로 가능할것 같은데요

내트워크 구성을L4 앞단에 L2 스위치와 뒷단 L2 스위치를

 두는냐에 다를수도 있을것 같은데요

다른업체를 통해서 더 알아보시죠


wansoo
  0 추천 | 3년 이하 전

소스 IP가 하나로 고정되었다는게 무슨 의미인지 잘 모르겠네요.

 VPN을 통해서 들어오기 때문에 들어오는 IP들이 모두 VPN이 가진 IP를 가지게 되어 소스 IP가 하나라는 의미가 되나요?


제가 알고 있는  L4 스위치라는 건...

들어 오는 소스는 중요하지 않을 것 같고...

L4 스위치가 접속하려는 서버의 IP 주소를 가지게 되고,

L4 스위치가 가진 IP 주소에 특정 포트로 접속을 시도하려고 할때, L4 스위치가 실제 서버들의 주소 List를 가지고 있다가 요청이 들어 올때마다 그 리스트에 있는 서버들 중에서 하나씩 바꿔가며 접속할 수 있게 연결해서 각 서버들이 골고루 요청을 받을 수 있게 하고, 요청 받은 서버가 보내온 결과를 다시 오청한 클라이언트에게 돌려 보내 주는 방식으로 작동하는 걸로 알 고 있고요.

IP가 고정되었기 때문에 안된다는 건 이해하기 어렵고...

서버 IP가 고정되었다란 의미라해도... 서버가 가진 IP를 L4 스위치에 할당하고, 실제 접속해야할 서버들은 임의의 새로운 IP들을 할당해서 L4 스위치에 등록해 주면 되는 걸로 알고 있고요~

skstmdxo18 | 3년 이하 전

소스ip는 통신사 플랫폼 ip를 의미합니다. 

네트워크 업체에 의하면, 웹 어플리케이션과 같이 불특정 다수가 접속하는 환경 즉, 소스ip가 불특정하게 다양할 경우에 로드밸런싱을 적용할 수 있다고 하네요.. 

현재 위와 같은 구성에서 즉, 소스ip (출발지ip로 통신사의 IoT플랫폼 ip를 달고 들어옵니다) 가 '하나' 인 상황에서는 적용이 안된다고 하는데..... 저도 이 부분이 이해가 잘 안되고, 만약 맞다면 다른 개선방안이 있을까 싶어서요..


답변 감사합니다!

wansoo | 3년 이하 전

불특정 다수가 들어오는 거랑, 고정된 특정 컴퓨터에서 들어오는 거랑 무슨 차이가 있는지를 모르겠네요~

MS의 External Connector License도 아니고... ㅎㅎㅎ

불특정 다수 인줄 알고 L4 로드밸런싱을 구성해 두었는데, 불특정 다수가 아니라 맨날 접속하는 한대 장치에서 맨날 접속하게 되면 L4 로드밸런싱이 작동을 하지 못하게 되어 버릴까 하는 생각이 드네요..? ㅎㅎㅎ

skstmdxo18 | 3년 이하 전

session pool이 끊기지 않는 이상 한 서버로 계속 들어간다고는 하는데... 구글링해도 안나오고.. 프로세스가 죽으면 pool이 끊기려나요..ㅎㅎ 

답변 감사합니다~


wansoo | 3년 이하 전

접속하는  IoT 기기가 한대인가요?

기기가 다르다면 접속하는 기기마다 다른 Session으로 연결되게 될 것 같은데요.

한개 세션으로 계속 유지되고 있다면 연결을 끊지 않기 때문에 동일 서버에 연결을 계속 유지할 수도 있긴 하겠지만... 서로 구분되는 다른 IoT 기기가 접속을 시도한다면 새로운 세션을 열고 접속하게 될 걸로 보이는데요??

만약 한개 IoT 기기에서 접속하는 형태라면 L4 스위치를 사용할 필요 없이 접속하는 IoT 기기의 소프트웨어에서  접속하는 서버를 번갈아 가며 부하를 일으키게 변경하면 될걸로 보여 지고~

빨간신발
  0 추천 | 3년 이하 전

해쉬방식이 아이피가 고정이면 같은 서버로

라운드로빈은 요청순서에 따러서 순차적으로

원하는시는 방향대로 가능할 듯 합니다

skstmdxo18 | 3년 이하 전

네 해쉬방식이면 아이피로 매핑해서 로드밸런싱을 하는건데, 위에서 언급했듯이 소스ip가 하나여서.. 결국 한 플랫폼에서 들어오는 데이터양이 매우 많아지고 있습니다.. 라운드로빈도 이와 같은 구축상황에서는 안된다고 하는데.. 그게 잘 이해가 안되서요ㅠㅠ

답변 감사합니다!