클라우드 매뉴얼

Home > 클라우드 > 네트워크 > 로드밸런서 사용하기

로드밸런서 생성하기 로드밸런서 생성하기

 시작하기에 앞서

 로드밸런서 생성 과정에서 선택할 수 있는 모든 옵션을 정리하면 다음과 같습니다.

  1. 로드밸런서 타입
  2. 서비스존
  3. 공인 IP
  4. 방화벽
  5. 포트
  6. 밸런스 모드
  7. 타임아웃
  8. 세션 쿠키
  9. 스티키 세션
  10. 프록시
  11. 보안 정책
  12. 이름

 로드밸런서 타입에 따라 공인 IP 및 방화벽 설정 여부가 달라지며, 포트 프로토콜 옵션에 따라 세션 쿠키, 스티키 세션, 프록시, 보안 정책의 사용 여부가 달라집니다. 

 


 

 STEP 1. 로드밸런서 생성 페이지로 이동합니다.  

 g클라우드 관리콘솔(gcloud.gabia.com)의 [로드밸런서]에서 서비스를 생성할 수 있습니다. 

  1. 대시보드 [전체 서비스 목록]에서 [로드밸런서] 클릭 > 리스트 페이지 상단부 우측에 [로드밸런서 생성하기] 버튼 클릭
  2. 사이드 메뉴에서 [네트워크] 클릭 > [로드밸런서] 클릭 > 리스트 페이지 상단부 우측에 [로드밸런서 생성하기] 버튼 클릭
  3. 우측 상단의 [바로 만들기] 버튼 클릭 > [로드밸런서] 를 선택하여 생성 페이지로 이동


 

STEP 2. 로드밸런서 타입을 선택합니다. 

 2가지 로드밸런서 타입(External/Internal) 중에서 선택할 수 있습니다.

  1. External 타입: 공인 IP를 통해 인터넷과 통신합니다. 로드밸런서에 공인 IP와 방화벽 그룹을 연결 할 수 있습니다. 
  2. Internal 타입: 사설 IP를 통해 사용자의 다른 자원과 통신하거나 웹방화벽(Appliance)을 로드밸런서의 리버스 프록시(reverse proxy)로 구성하는데 사용할 수 있습니다. 


 

- External 타입을 선택한 경우

  1. 로드밸런서를 생성할 서비스 존을 선택합니다.
  2. 할당할 공인 IP를 선택합니다. 
  3. 방화벽을 선택합니다. 

 

  • 같은 서비스 존에 생성된 공인 IP만 할당할 수 있습니다.
  • 다른 자원에 이미 할당된 공인 IP는 사용할 수 없습니다.
  • 공인 IP는 [네트워크 > 공인 IP] 에서 추가 및 관리할 수 있습니다.

 

  • 방화벽을 연결하지 않을 경우, 로드밸런서로의 모든 통신이 허용됩니다. 
  • 방화벽은 [보안 > 방화벽]에서 추가 및 관리할 수 있습니다. 



- Internal 타입을 선택한 경우
 로드밸런서를 생성할 서비스 존을 선택합니다. 
 


 

 STEP 3. 로드밸런서 포트를 설정합니다.

 각 포트의 프로토콜은 4가지 타입(HTTP/HTTPS/HTTPS(Offloading)/TCP) 중에서 선택할 수 있습니다. 

  1. 프로토콜 리스트를 클릭하여 원하는 프로토콜을 선택합니다.
  2. 포트번호를 입력합니다.

 

  • 로드밸런서 포트 번호는 1 이상 65535 이하의 정수로 입력할 수 있습니다.
  • HTTP, HTTPS, TCP는 클라이언트와 로드밸런서 간 통신, 로드밸런서와 서버 간 통신 모두 해당 프로토콜로 설정되고, HTTPS(Offloading)은 클라이언트와 로드밸런서간 통신은 HTTPS로 로드밸런서와 서버 간 통신은 HTTP로 설정됩니다.
  • 방화벽을 연결한 경우, 방화벽의 Inbound 정책이 허용하는 포트에 대해서만 로드밸런서 포트를 추가할 수 있습니다. 



- 포트의 프로토콜로 HTTPS 또는 HTTPS(Offloading)을 선택한 경우
 포트에 연결할 SSL 인증서를 설정해야 합니다.

  1. [추가하기] 버튼을 클릭합니다.
  2. 포트에 연결할 SSL 인증서를 선택합니다.
  3. [선택 완료] 버튼을 클릭합니다.  

 

  • 포트별 다중 SSL 인증서 설정(SNI 기반)이 지원됩니다.
  • SSL 인증서는 [보안 > SSL 인증서]에서 등록 및 관리할 수 있습니다.


 

 STEP 4. (선택) 포트에 연결할 서버를 선택합니다.

  1. [추가하기] 버튼을 클릭합니다.
  2. 서버 목록에서 포트에 연결할 서버를 선택합니다. 
  3. [선택 완료] 버튼을 클릭합니다.
  4. 대상 서버 포트 번호 변경을 원하는 경우 새로운 포트 번호를 입력합니다. 

 

  • 대상 서버 포트 번호는 1 이상 65535 이하의 정수로 입력할 수 있습니다.
  • 대상 서버 설정 시, 대상 서버는 로드밸런서의 서비스존과 관계 없이 설정할 수 있습니다.
  • 서버는 [컴퓨팅 > 서버] 메뉴에서 생성할 수 있습니다.
  • 로드밸런서 포트는 최대 20개까지 추가할 수 있습니다.


 

 STEP 5. 밸런스 모드를 선택합니다.

 밸런스 모드는 3가지 타입(Round Robin/Least Connection/Hash-Source IP) 중에서 선택할 수 있습니다.
 

 

  • 각 밸런스 모드 타입은 클라이어트의 요청을 순차적으로 분배하거나(Round Robin), 작업량이 가장 적은 서버에 우선적으로 분배하거나(Least Connection), 클라이언트의 IP를 해시해 해시 값을 기준으로 동일한 클라이언트의 요청은 동일한 서버로 분배(Hash-Source IP)합니다. 각 타입별 이점과 오버헤드를 비교해 최적의 타입을 선택할 수 있습니다.   


 

 STEP 6. 타임아웃(최대 대기시간)을 입력합니다. 

 

 

  • 타임아웃 설정은 1 이상 300 이하의 정수로 입력할 수 있습니다.
  • 응답이 타임아웃 설정 값보다 늦어질 경우, 로드밸런서는 서버와의 연결을 끊고 타임아웃(HTTP Status Code:504 Gateway Timeout)을 클라이언트에게 응답합니다.
  • 타임아웃 설정 값을 높게 설정할 경우, 로드밸런서의 과도한 부하로 인해 성능 저하가 발생할 수 있습니다.
  • 밸런스 모드 및 타임아웃 설정은 로드밸런서 포트의 프로토콜과 관계없이 모든 포트에 적용되는 옵션입니다.
  • 로드밸런서 타입이 Internal이고 웹방화벽 단독 가상 장비의 보안 대상이면 Hash-Source IP 모드가 정상 작동하지 않을 수 있으니 Round Robin 또는 Least Connection모드를 선택해주시기 바랍니다.


 

 STEP 7. 세션 쿠키 사용 여부를 선택합니다. 

 


 

 STEP 8. 스티키 세션 사용 여부를 선택합니다. 

  1. 사용 여부를 선택합니다. 
  2. 개발 언어를 선택합니다. 
  3. 토큰 길이를 입력합니다. 
  4. 유효 기간을 입력합니다.

 

  • 세션 설정은 프로토콜이 HTTP, HTTPS, HTTPS(Offloading)인 로드밸런서 포트에만 적용되는 옵션입니다.
  • 세션 쿠키, 스티키 세션을 사용할 경우, 밸런스 모드는 각 클라이언트의 최초 접속에만 영향을 미칩니다.
  • 스티키 세션 사용 시, 세션 쿠키는 비활성화되며 스티키 세션을 기준으로 트래픽이 분배됩니다.
  • 스티키 세션은 웹서버의 개발 언어가 PHP, ASP, ASP.NET, JSP인 경우에만 사용할 수 있으며 해당 개발 언어 또는 웹 서버(아파치, 톰캣 등)에서 세션/쿠키를 생성하는 옵션이 기본 값으로 설정된 경우에만 정상적으로 작동합니다.  
  • 스티키 세션의 토큰 길이는 로드밸런스 내부에서 각 쿠키를 구분하는 고유 값의 길이를 의미합니다. 길이를 크게 설정할 경우 고유 값의 중복 확률이 낮아지지만 로드밸런서의 과도한 부하로 인해 성능 저하가 발생할 수 있습니다.
  • 스티키 세션의 토큰 길이는 1 이상 256 이하의 정수로 입력할 수 있습니다.
  • 스티키 세션의 유효 기간은 로드밸런서가 각 쿠키를 구분하는 토큰의 유효 기간을 의미합니다. 유효 기간을 높게 설정할 경우, 로드밸런서의 과도한 부하로 인한 성능 저하가 발생할 수 있습니다.
  • 스티키 세션의 유효 기간은 1 이상 86,400 이하의 정수로 입력할 수 있습니다.


 

 STEP 9. 프록시 사용 여부를 선택합니다. 

 로드밸런서에 설정하고자 하는 프록시 옵션을 선택합니다. 
 

 

  • X-Forwarded-For(XFF)과 X-Forwarded-Proto(XFP)은 포트 프로토콜이 HTTP, HTTPS, HTTPS(Offloading)인 경우에만 적용되는 옵션입니다.
  • 프록시 프로토콜 설정은 포트 프로토콜이 TCP인 경우에만 적용되는 옵션입니다.
  • 서버와 클라이언트 사이에 로드밸런서 외에 다른 프록시(CDN, 웹방화벽 등)가 있을 경우, 프록시의 설정에 따라 서버로 전달되는 데이터가 다소 달라질 수 있습니다.
  • 프록시 옵션 설정으로 인해 서버에 전달되는 데이터는 개발 언어의 라이브러리 또는 프레임워크에 따라 값이 다소 달라질 수 있습니다.


 

 STEP 10. 보안 정책을 설정합니다. 

 포트 프로토콜로 HTTPS/HTTPS(Offloading)을 선택한 경우에 적용되는 전송 계층 보안 정책입니다. 

  1. 암호화 알고리즘 정책을 선택합니다. 
  2. 프로토콜 타입을 선택합니다. 


 

 STEP 11. 로드밸런서의 이름을 입력합니다. 

 

 

  • 로드밸런서 이름은 영문, 숫자, 특수문자(하이픈 '-', 언더바 '_')를 조합하여 최대 40자까지 입력할 수 있습니다.
  • 로드밸런서 이름은 특수문자(하이픈 '-', 언더바 '_')로 시작하거나 종료할 수 없습니다.


 

 STEP 12. 마지막으로, 로드밸런서 생성을 완료합니다.

 우측 [생성 내용 요약]에서 선택한 옵션과 예상 비용을 확인하고, [생성하기] 버튼을 클릭합니다. 
 


 

생성한 로드밸런서는 로드밸런서 리스트 페이지에서 확인할 수 있습니다.
 


 

 마치며

 로드밸런서를 생성하면서 설정하지 않은 몇몇 자원은 생성 후에도 로드밸런서 상세 페이지에서 변경할 수 있습니다. 

 [로드밸런서 포트 관리하기]
 [로드밸런서 공인 IP 변경하기]
 [로드밸런서 방화벽 변경하기]
 [로드밸런서 밸런스 모드 및 타임아웃 설정 변경하기]
 [로드밸런서 세션 설정 변경하기]
 [로드밸런서 프록시 설정 변경하기] 
 [로드밸런서 보안 정책 변경하기]

  • 공인 IP 사용하기

    • 공인 IP 알아보기

    • 공인 IP 생성하기

    • 공인 IP 연결하기

    • 공인 IP 연결 해제하기

    • 공인 IP 삭제하기

  • 로드밸런서 사용하기

    • 로드밸런서 알아보기

    • 로드밸런서 생성하기

    • 로드밸런서 포트 관리하기

    • 로드밸런서 공인 IP 변경하기

    • 로드밸런서 방화벽 변경하기

    • 로드밸런서 고급 설정 변경하기

    • 로드밸런서 삭제하기

  • 하이브리드 커넥터 사용하기

    • 하이브리드 커넥터 알아보기

    • 하이브리드 커넥터 신청하기

    • 하이브리드 커넥터 해지하기

  • CDN 사용하기

    • CDN 알아보기

    • CDN 생성하기

    • CDN 삭제하기

    • CDN 캐시 서버 관리하기