Skip to main content

LoadBalancer 요약

  • NCP에서 VIP를 사용하기 위해서는 추가 인터페이스를 할당해주어야 하는데, 그 이유는 NCP에서는 eth0에 IP alias를 사용할 경우, IP Spoofing으로 인식하고 해당 VM의 네트워크 통신을 끊어버리기 때문이다.

  • DSR(Direct Server Return) 모드인 Network Load Balancer는 클라이언트의 요청을 적절히 서버로 전달하는 역할만 하기 때문에 서버의 응답은 직접 클라이언트로 보내지게 됩니다. 문제는 서버가 클라이언트의 요청을 받았을 때 목적지가 NLB IP 주소인 부분입니다. 클라이언트는 NLB의 IP 주소로 패킷을 보내는데 DSR 모드에서는 이 패킷을 서버에서 직접 전달시킵니다. 서버는 이 패킷을 받아서 처리하고 응답을 NLB를 거치지 않고 클라이언트에게 직접 보내게 되는데 이때 서버는 자신의 IP 주소가 아니라 NLB의 IP 주소로부터 응답이 오는 것처럼 패킷을 만들어야 하는 상황이 만들어집니다. 보안상의 문제라기보다 DSR 방식의 로드밸런싱이 원활하게 동작하기 위해 필요한 설정이므로 이를 해결하기 위해 서버 쪽에서 NLB의 IP 주소에서 오는 패킷을 받을 수 있도록 LoopBack 인터페이스에 NLB의 IP를 설정할 필요가 있습니다. 이와 같은 설정을 하게 되면 서버는 NLB의 IP 주소에서 오는 패킷을 자신이 보낸 것으로 인식하게 되기 때문에 이러한 케이스를 잘 알고 적용할 수 있어야 합니다.

  • 리전당 최대 50개의 로드밸런서를 생성할 수 있다.

  • 하나의 로드밸런서는 최대 100대의 서버를 바인드할 수 있다.

  • 하나의 로드밸런서에 여러 존에 있는 서버를 모두 적용할 수 있다.

  • TCP, UDP - 네트워크 로드밸런서

  • PROXY_TCP - 네트워크 프록시 로드밸런서

  • HTTP, HTTPS - 애플리케이션 로드밸런서

  • IP - 인라인 로드밸런서

  • 로드밸런서의 타겟 그룹 모니터링은 선택한 집계 주기에 따라 조회 가능한 기간도 달라진다.

    집계 주기 (Interval)조회 기간
    1분 주기최대 6시간
    5분 주기최대 1일
    30분 주기최대 1주일
    2시간 주기최대 1달
    1일 주기1달 초과
  • 로드밸런서에서 클라이언트 아이피를 확인하는 방법은 프로토콜에 따라 다르다.

    • HTTP, HTTPS - X-Forwarded-For
    • TCP, TLS - Proxy Protocol