5. 시스템 구성 실습

5.1 로드밸런서로 고가용성 웹 서비스 구성

여기서는 두 개로 만든 이중화 웹 VM을 로드밸런서로 묶어, 가용성 높은 웹 서비스를 구성해 보겠습니다.

포탈 콘솔 하단의 '로드밸런서' 를 클릭합니다.

로드밸런서 리스트 화면에서 '로드밸런서 신청' 버튼을 클릭합니다.


생성을 위해 내용을 입력합니다.

  • Zone: 생성할 zone을 입력합니다.
  • 서비스 IP / PORT: 로드밸런서의 서비스IP와 포트 (사용자가 웹 브라우저에 호출할 새로운 IP:port)를 선택합니다. 신규 생성인 경우 선택할 필요가 없으며 포트만 입력하면 됩니다. HTTP니 80을 입력합니다.
  • 로드밸런서 타입: 로드밸런서 타입을 선택합니다. (HTTP)
  • 로드밸런서 옵션: 로드밸런싱에 사용할 알고리즘을 선택합니다. 각 알고리즘에 대한 설명은 매뉴얼을 참고하세요.
  • Health Check: 서버가 살았는지 죽었는지를 체크할 방법을 입력합니다. 여기서는 간단히 TCP를 선택합니다.

로드밸런서에 등록할 웹 서버를 선택합니다.

web1을 선택할 경우, web1에 포트포워딩 된 내역이 오른쪽에 표기 됩니다. 
web1의 웹서비스는 공인 포트 10002에 연결하였으므로, 10002을 선택합니다. (추가 클릭)

web2의 경우 공인 포트 20002에 웹 서비스를 연결하였으므로 20002을 선택합니다. (추가 클릭)

 

로드밸런서 리스트에서 보이는 우측의 IP가 로드밸런서의 서비스 IP입니다.
하단에는 이 로드밸런서에 소속된 VM 목록이 보이게 됩니다.

구성도로 보면 아래와 같습니다. 



웹 브라우저에 로드밸런서의 서비스IP를 반복하여 호출하여 봅니다.
web1과 web2이 번갈아가며 나타나는 것을 볼 수 있습니다.


5.2 장애 극복 확인

  • 포탈의 서버리스트에서 web1 VM을 정지한 후 웹 브라우저에서 로드밸런서 서비스 IP로 다시 반복 호출해 봅니다.
  • web1 VM을 시작 후 다시 웹 브라우저를 호출하여 결과를 확인합니다.

 

5.3 Multizone 아키텍트 구성 실습

앞서 만든 구조를 기반으로 Multizone 아키텍트 구성을 완료해 보겠습니다.

 

위와 같이 Cloud LINK를 생성하여 각 VM에 연결하겠습니다.

 
ㅇ Cloud LINK 생성

KT Cloud server > Server 네트워킹 > KT Cloud LINK 를 클릭합니다.

 

아래 정보를 입력합니다.

  1. KT Cloud LINK 이름: 임의의 이름을 입력합니다. (ex. edutest)
  2. CIDR: 임의의 사설 대역을 입력합니다. (ex. 192.168.0.0)

CIDR 확인 후 확인을 클릭하여 Cloud LINK를 생성합니다.

 

ㅇ Cloud LINK 네트워크 생성

Cloud LINK 내 zone에 할당할 네트워크를 생성하는 과정입니다.

생성한 LINK를 클릭한 후 Action > KT Cloud LINK 네트워크 생성 을 클릭합니다.



아래와 같이 입력하여 B zone에 네트워크를 생성합니다.

  • Availability Zone은 KOR-Central B를 선택합니다.
  • 이름은 임의로 입력합니다. (ex. b)
  • 공유 범위: 개인
  • IP range: 0

B zone 네트워크가 생성된 후, M zone도 같은 과정으로 생성합니다.

  • Availability Zone은 KOR-Seoul M을 선택합니다.
  • 이름은 임의로 입력합니다. (ex. m)
  • 공유 범위: 개인
  • IP range: 1

 

생성이 완료되면 하단 상세보기에서 각 네트워크를 선택하여 '연결하기'를 수행합니다.

수행 후 '상태'가 '진행중' > '연결'로 바뀌는 것을 확인합니다. (시간이 다소 소요됩니다)

 

 

ㅇ VM에 Cloud LINK 연결

KT Cloud server > 클라우드 서버리스트에 들어가서 서버를 확인합니다.

web1과 web3 둘 사이를 Cloud LINK로 연결해야 하므로, VM 선택 > Action > CIP 연결 > 앞서 만든 네트워크를 선택하여 연결합니다.

web1과 web3 두 VM 대상으로 수행합니다.

 

* 참고: web1과 web2는 이미 사설IP 네트워크(hostname)으로 통신이 되는 중이므로, web2 VM에는 수행하지 않아도 됩니다.
           다만, 실제 상용에서는 아키텍처나 소스 코드의 통일성을 위해 모두 CIP를 할당하는 것이 좋습니다만, 교육용 실습이므로 생략합니다.




서버 상세내역에서 사설IP가 하나 더 추가된 것을 확인 할 수 있습니다.

 

 

ㅇ VM OS에서 네트워크 인터페이스 추가하여 CIP 사용

web1 VM에 접속하여 아래를 수행합니다.

ifconfig
[현재 인터페이스 확인: eth0]

sed -e 's/eth0/eth1/g' /etc/sysconfig/network-scripts/ifcfg-eth0 > /etc/sysconfig/network-scripts/ifcfg-eth1

ifup eth1

ifconfig
[현재 인터페이스 확인: eth0, eth1]

web3 VM에서도 동일하게 수행합니다.


각 VM에서 확인해보면 eth1에 192.168.0.0/22 대역의 새로운 IP가 생성된 것을 확인할 수 있습니다.
새로운 eth1을 통해 통신이 되는지 ping 확인을 해 봅니다.

ping 192.168.0.56

 





축하합니다. KT Cloud 기본 과정이 모두 끝났습니다.
완료하신 분께서는 교육 설문 및 자리 정리 부탁 드리겠습니다.

 
[ 설문하기 ]