1.3 Load Balancer 이용방법

□ 로드밸런서 페이지 화면 구성
○ 로드밸런서 리스트

- 로드밸런서 신청: 새로운 로드밸런서를 생성하는 메뉴 입니다.
- 로드밸런서 리스트: 사용중인 로드밸런서의 리스트를 보여줍니다. 로드밸런서를 사용중인 옵션과 타입, VIP 정보를 확인할 수 있습니다.
- Action(우측 상단): 로드밸런서 리스트 중 편집하고자 하는 로드밸런서의 체크박스를 선택한 뒤, 설정을 변경하거나 이용중인 로드밸런서를 삭제할 수 있습니다.
- 엑셀저장(우측 상단): 현재 사용중인 로드밸런서 리스트를 엑셀 정보로 저장하는 메뉴 입니다.
- 적용서버: 로드밸런서 리스트에서 로드밸런서를 선택하면 나타나는 화면입니다. 선택 한 로드밸런서에 등록 된 back-end 서버의 목록과 서버의 모니터링 로드밸런싱 모니터링 정보를 보여줍니다.

1.3.1 Load Balancer 상품신청

□ 상품 신청 (최초 이용 시)

https://cloud.kt.com/ 접속 후 상품 → 네트워크 → loadbalancer 선택 → 화면 우측 '상품 신청하기' 클릭 → 서비스 신청 확인 여부 팝업 창 생성 → '확인' 클릭

※ kt KT Cloud 사이트 내 최초로 상품 신청하는 경우, 1회에 한하여 결제 정보 입력창이 나타나게 됩니다. 약관 동의 및 결제 정보 입력 후 다음 단계를 진행 합니다.
※ 상품 신청 이후에는 화면 우측 상단의 '클라우드 콘솔' 메뉴를 통해 바로 접속하여 사용할 수 있습니다.

1.3.2 Load Balancer 생성 신청

□ 로드밸런서 생성을 위한 입력 정보
○ Availability Zone

로드밸런서를 사용할 클라우드 가용성 존을 선택 합니다.

○ 로드밸런서명

로드밸런서의 이름을 지정합니다. 로드밸런서 이름은 영문, 숫자, 지정된 특수문자만 사용 가능하며 32자 이내로 작성해야 합니다.

○ 서비스 IP/PORT

로드밸런서에 할당 할 가상 IP(VIP)를 할당합니다. 이 때 공인 IP(Public IP)를 신규로 할당 받거나, 기존에 할당 된 IP를 지정할 수 있습니다. PORT는 외부 클라이언트가 back-end 서버에 접근할 때 사용할 PORT를 결정합니다. 예를 들면 1.1.1.1이라는 VIP를 할당 받는 로드밸런서의 지정 PORT가 8080번 이라면, 외부 클라이언트는 http://1.1.1.1:8080 이라는 주소로 웹 서버에 접근해야 합니다.

○ 로드밸런서 타입

로드밸런서 back-end에 구동되는 서비스의 특징에 따라 로드밸런서 타입을 지정합니다.

- HTTP: SSL인증서를 사용하지 않는 일반 웹 서버와의 통신을 수행하며, 로드밸런서에서 HTTP 최적화 및 TCP Offload를 수행합니다. back-end 서버는 LB의 VIP를 클라이언트 IP(CIP)로 인식하기 때문에, CIP를 명확히 해야하는 경우 X-forwarded-for 헤더를 적용하여 CIP를 확인할 수있습니다.
- HTTPS(bridge): 고객의 SSL 인증서는 back-end 서버에 직접 설치하여 사용하며, 클라이언트와 웹 서버가 암호화 통신을 end-to-end로 사용ㅇ합니다. 로드밸런서는 해당 패킷을 바이패스로 전송하며, 웹서버는 CIP를 구분할 수 없습니다.
- HTTPS: 고객의 SSL인증서를 로드밸런서에 배치하여 클라이언트와 로드밸런서 구간에서 암호화 통신을 수행합니다. 로드밸런서는 배치된 인증서를 통해 복호화를 진행한 후에 back-end 서버로 클라이언트 요청을 포워딩합니다. HTTP 방식과 마찬가지로 X-forwarded-for 헤더를 통해 CIP 정보를 확인할 수 있습니다. HTTPS 방식을 선택하는 경우 다음의 추가 정보 입력창이 나타나게 됩니다.

○ Cipher Group

KT KT Cloud의 로드밸런서가 제공하는 암호화 알고리즘의 묶음 입니다. 암호화 알고리즘은 생성되는 각각의 로드밸런서에 바인딩 되어 동작합니다. 이 알고리즘의 그룹 안에는 키 교환, 인증, 암호화, 메시지 인증 코드 등이 복합적으로 구성됩니다. 또한 HTTPS 방식의 로드밸런서를 생성할 경우, 직접 로드밸런서에 SSL 인증서를 업로드 해야하며 이에 대한 내용은 아래 '3.3.5 Load Balancer 리스트 가이드' 에서 확인하실 수 있습니다.

※ 암호화 그룹은 새로운 알고리즘의 등장, 보안 취약점(CVE) 권고 사항등에 따라 default group의 cipher 구성 정보가 비 정기적으로 변동 될 수 있습니다.
※ 위 변동 등의 사유로 때때로 Cipher group에 구성된 알고리즘의 종류 따라 TPS(TRANSACTION PER SECOND)는 1K 내외로 제한될 수 있음을 유의하시기 바랍니다. (사유: 로드밸런서의 운영 안정)

○ 로드밸런서 옵션

적용하고자 하는 로드밸런싱 메소드(알고리즘을) 선택합니다. 로드밸런싱 메소드에 관하여서는 3.1.2 항목의 로드밸런싱 메소드를 참고 하시기 바랍니다.

○ Health Check

back-end 서버의 정상 동작 여부를 확인합니다. back-end 서버와의 네트워크 정상 통신 여부를 확인합니다. HTTP 또는 HTTPS 방식을 적용하는 경우, 유효한 웹 페이지 주소를 지정해야 함을 참고 하시기 바랍니다.

-TCP: 서비스 IP에 대하여 TCP Connection이 맺어지는 지를 확인 합니다. 쉽게 설명하자면 로드밸런서에서 해당 서버로 'ping'이 원활히 수행 된다면 서버는 정상인 것으로 인식합니다. 그렇기 때문에 실제 서비스에 문제가 발생하더라도 단순히 서버의 네트워크 인터페이스만으로 판단합니다.

-HTTP: 서비스 IP에 존재하는 웹 리소스(/main.html) 등에 Restful 요청을 송신하여 '200 OK response'를 확인합니다. 서비스 레벨을 확인하는 것이기에 TCP 대비 좀 더 정확한 모니터링 구현이 가능합니다.

○ 서버 리스트

로드밸런서의 back-end 서버 리스트가 될 실제 가상 서버(VM)을 지정합니다. 최소 1개 이상의 KT Cloud server를 지정해야 합니다. IP/Port의 개방 범위 및 네트워크 보안에 관하여서는 3.1.3 유의사항/제약사항을 참고 하시기 바랍니다.

□ 로드밸런서 생성 결과 확인

로드밸런서 생성 정보에 모든 정보를 입력한 뒤, [신청] 버튼을 누르고 [예]를 선택하면 로드밸런서 생성 프로세스가 진행됩니다. 로드밸런서가 정상적으로 생성 되었다면 다음과 같은 팝업창이 생성되게 됩니다.

 

1.3.3 Load Balancer 변경

□ 로드밸런서 구성 설정 변경

아래 그림과 같이 로드밸런서 리스트에서 변경하고자 하는 로드밸런서를 선택한 뒤, 우측 상단의 [Action] 메뉴에서 [변경]을 선택합니다.

□ 로드밸런서 구성 설정 변경 정보 입력

아래 그림과 같은 팝업창이 생성되면 변경하고자 하는 정보를 입력한 뒤 [신청] 버튼을 클릭 합니다.



정상적으로 처리 되었다면, 변경 된 로드밸런서 설정 정보를 로드밸런서 리스트에서 확인할 수 있습니다.

1.3.4 Load Balancer 삭제

아래 그림과 같이 로드밸런서 리스트에서 변경하고자 하는 로드밸런서를 선택한 뒤, 우측 상단의 [Action] 메뉴에서 [삭제]을 선택합니다.

다음 그림과 같은 팝업창을 확인한 뒤, [확인] 버튼을 클릭하면 일정 시간 뒤 삭제 완료 알림 팝업이 생성 됩니다. 정상적으로 처리 되었다면, 로드밸런서 리스트에서 삭제된 로드밸런서는 더 이상 표출되지 않습니다.

1.3.5 Load Balancer 리스트 가이드

□ 로드밸런서 리스트를 통한 신청 내역 확인

로드밸런서가 생성된 뒤, 로드밸런서 리스트를 통해 사용중인 로드밸런서의 정보를 확인할 수 있습니다. 로드밸런서 리스트에서 체크박스를 선택 할 경우 콘솔 페이지의 하단 영역에 적용된 서버 리스트들이 조회 됩니다.

□ HTTPS 타입의 로드밸런서에 SSL 인증서 배치하기

로드밸런서 리스트에서 HTTPS 타입을 이용중인 로드밸런서는 [인증서]라는 아이콘을 확인할 수 있습니다. 사용자는 이 [인증서]아이콘을 클릭하여 SSL 인증서를 직접 등록할 수 있습니다.

○ SSL 인증서 관리 페이지 상세 설명

- 인증서 명: 원하는 인증서 명을 입력합니다. 인증서명은 영문, 숫자, 지정된 특수문자로만 사용 가능하며 20자 이내로 작성해야 합니다.
- 개인키: 도메인의 개인 키를 텍스트로 공백 없이 입력합니다.
- 공개키 인증서: 도메인의 인증서를 텍스트로 공백 없이 입력합니다.
- 중개 인증서(선택): 도메인 인증서에 중개키가 있는 경우, 텍스트로 공백 없이 입력합니다.
※ 보유하신 SSL 인증서에 암호(pass phrase)를 지정하신 경우 암호를 반드시 삭제해야 합니다. 아래 SSL 인증서의 암호를 제거 하는 방법에 대한 예시를 참고하시기 바랍니다.

#cp ***********.key ***********.key.old // 기존 key 백업
#openssl rsq -in ***********.key -out new_***********.key
> 기존 암호(pass pharse) 입력
> 신규 암호 입력 요구 시 공백인 상태로 엔터 키 입력 // 암호가 제거 된 신규 키 생성 완료
※ 포탈을 통해 SSL인증서를 배치하시는 경우 텍스트에 어떠한 서식도 존재하지 않아야 합니다. 만일, 인증서의 텍스트 파일을 서식이 적용 가능한(rtf 등) 에디터로 편집하신 경우 메모장 등 텍스트 서식을 포함하지 않는 에디터로 복사/붙여넣기 하는 과정을 거쳐 입력창에 옮기셔야 합니다.