로드밸런서란?

최권민·2023년 6월 26일
0

CS스터디

목록 보기
4/8

  • 하나의 인터넷 서비스가 발생하는 트래픽이 많을 때 여러 대의 서버가 분산처리하여 서버의 로드율 증가, 부하량, 속도저하 등을 고려하여 적절히 분산처리하여 해결해주는 서비스

  • 주요 서비스

    • NAT(Network Address Translation)
      • 사설 IP주소를 공인 IP주소로 바꾸는 데 사용하는 통신망의 주소 변조기
    • Tunneling
      • 인터넷 상에서 눈에 보이지 않는 통로를 만들어 통신할 수 있게 하는 개념
      • 데이터를 캡슐화해서 연결된 상호 간에만 통신할 수 있도록 함
    • DSR(Dynamic Source Protocol)
      • 로드 밸런서 사용 시 서버에서 클라이언트로 되돌아가는 경우 목적지 주소를 스위치의 IP주소가 아닌 클라이언트의 IP주소로 전달하여 네트워크 스위치를 거치지 않고 바로 클라이언트를 찾아가는 개념. L4에서 사용되고 L7에서는 사용되지 않음
  • 로드 밸런싱은 OSI 7계층에 따라 나뉘는데, 보통 4계층과 7계층을 많이 사용

    • L4
      • Transport 계층을 사용. 즉 TCP와 UDP
      • IP 주소와 포트 번호 부하 분산이 가능
    • L7
      • Applictaion 계층을 사용
      • URL 또는 HTTP 헤더에서 부하 분산이 가능

img

💨 NLB와 ALB의 차이

  • 로드 밸런서는 몇 계층에서 분산작업을 수행하느냐에 따라 NLB(Network LoadBalancer) 와 ALB(Application LoadBalancer)로 나뉨

🔧 NLB(Network LoadBalancer)

img

  • Client IP와 서버 사이에 서버로 들어오는 트래픽은 로드밸런서를 통하고 나가는 트래픽은 Client IP와 직접 통신(DSR)
  • NLB는 Security Group이 적용 되지 않아 서버에 적용된 시큐리티 그룹에서 보안이 가능
  • Client -> server에서 Access 제한 가능
  • NLB는 할당한 Elastic IP를 Static IP로 사용이 가능하며 DNS Name과 IP 주소 모두 사용이 가능
  • Name Server 또는 Route 53에서 A Record 사용이 가능

⛏ ALB(Application LoadBalancer)

img

  • Reverse Proxy 대로 Client IP와 서버사이에 들어오고 나가는 트래픽이 모두 Load Balancer 와 통신합니다.
  • CLB/ALB는 Security Group 을 통한 보안이 가능합니다.
  • Client → Load Balancer의 Access 제한 가능
  • ALB/CLB는 IP 주소가 변동되기 때문에 Client 에서 Access 할 ELB의 DNS Name을 이용해야 합니다.
  • Name Server 또는 Route 53에서 CNAME 을 사용해야 Domain Name 연동이 가능합니다.

🚩 Load Balancing Algorithm의 종류

  • 라운드 로빈 방식
  • 가중 라운드 로빈 방식
  • 최소 연결 방식 (연결 수가 가장 적은 서버에 네트워크 연결방향을 정함)
profile
하나의 궤적을 따라서

0개의 댓글