KT ucloud 위에서 개발하기

KT ucloud biz 에서 Ubuntu 나 CentOS 가상 머신을 할당 한 후 iFun Engine 을 설치할 수 있습니다. Ubuntu 나 CentOS 의 패키지 관리자를 이용해 iFun Enigne 을 설치하는 것은 동일하지만, ucloud 에서 제공하는 이미지에 필요한 패키지를 일부 설치하는 몇가지 과정이 선행되어야 되서 여기서는 그에 대한 설명을 합니다.

아래에 가상 머신 설정에 대한 설명을 제시했으나, 보다 자세하고 정확한 내용은 해당 서비스의 홈페이지에서 확인하실 수 있습니다.

Ubuntu 가상 머신 설정

  1. 새로운 가상 머신의 할당을 위해서 서버신청 메뉴를 클릭합니다. 아래와 같은 운영 체제 선택 화면에서 Ubuntu 14.04 64bit 를 선택합니다. (일부 Availability-Zone 에서는 14.04를 지원하고 있지 않습니다. 그러나 OS 업그레이드를 통해 비공식적으로 이를 쓸 수 있습니다. 자세한 내용은 아래 팁을 확인하세요.)
_images/ucloud-ubuntu01-14.04.png
  1. 원하는 서버 사양을 선택합니다. 소규모 개발 프로젝트라면 2vCore 에 4GB RAM 을 사용할 수도 있고, 만일 실제 서비스를 위해서라면 4vCore 에 8GB RAM 이상을 추천합니다. 아래는 2vCore 에 4GB 의 예입니다.
_images/ucloud-ubuntu02.png
  1. 이제 가상 머신이 설치되는 것을 기다립니다. 설치가 완료되면, 새 가상 머신의 root 비밀 번호를 알려주는 팝업 창이 뜨게됩니다. 이 비밀번호를 잘 기억합니다. 이 비밀번호는 계정 이메일로도 발송이 됩니다. 만일 설치가 다 완료되면 아래와 같이 상태가 사용 상태로 바뀌게 됩니다. 우리는 이 예에서 engine-test 라는 이름으로 서버를 할당했습니다. 해당 서버를 클릭하면 아래쪽에 상세 정보 화면이 나오게 됩니다.
_images/ucloud-ubuntu03.png
  1. 할당한 가상 머신은 외부에서 접속할 수 있는 포트가 열려있지 않습니다. 이를 위해서는 설정 완료시에 나오는 안내창의 내용처럼 포트포워딩 을 설정해줘야됩니다. 위 화면에서 상세 정보 부분에서 포트포워딩설정 버튼을 클릭하면 다음과 같은 네트워크 설정 화면이 나오게 됩니다.
_images/ucloud-ubuntu04.png
  1. 위 화면에서 공인 IP 라고 표시된 부분이 외부에서 해당 가상 머신으로 접속하기 위한 IP 입니다. 해당 IP로 SSH 로 접속하기 위해서는 SSH 포트인 22번 포트를 열어줘야합니다. 위의 그림처럼 Public port 22 번을 새로 생성한 가상 머신의 Private port 22 번으로 포워딩하는 규칙을 넣어줍니다. 만일 22 번 포트에 대해서 이미 다른 가상머신으로 포트 포워딩 규칙을 설정했었다면, Public port 를 8022 와 같은 것으로 할당하거나, 아니면 우측 상단의 IP 추가 신청 을 통해서 새 IP 를 부여 받을 수 있습니다. 새로 부여 받은 IP 를 클릭하면 해당 IP 에 대해서 포트 포워딩 규칙을 추가할 수 있습니다.
  2. 이제 SSH 터미널로 해당 서버의 공인 IP 로 ssh 연결을 맺습니다. Windows 용 SSH 터메널은 PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) 를 사용하실 수 있습니다. 만일 MAC 이나 리눅스 환경이라면 기본 내장된 터미널을 띄워 다음처럼 입력합니다. ($ 은 쉘 프롬프트를 의미하며 타이핑 하지 않고 그 뒤 내용만 타이핑합니다.) 아래 예는 공인 IP 가 123.123.123.123 이라고 가정한 경우입니다. 이때 비밀번호를 물어오면 가상 머신을 할당 받았을 때의 비밀번호를 입력하면 됩니다.
$ ssh root@123.123.123.123
_images/ucloud-ubuntu05.png

Tip

비밀번호를 통한 인증은 그다지 안전하지 않습니다. 보다 안전하게는 RSA 공개키를 .ssh/authorized_keys 라는 파일에 추가하는 방법이 있습니다. 이에 대한 설명은 이 문서의 범위를 넘어서므로, 구글 검색등에서 authorized_keys 로 검색해서 자세한 설명을 얻으시길 권장합니다.

  1. 성공적으로 로그인 하셨다면, 이제 ucloud 가상 머신 할당을 마무리 하신 겁니다. 이제 본격적으로 엔진을 설치를 위한 작업을 하겠습니다. ssh 연결이 된 후에 다음과 같이 입력합니다. 이 명령어는 KT ucloud 에 기본적으로 설치되어있지 않은 SSL root 인증서들과 HTTPS 모듈, 그리고 한글 패키지를 설치한 것입니다.
$ sudo apt-get update
$ sudo apt-get install ca-certificates wget apt-transport-https language-pack-ko
  1. 이제 이후부터는 Ubuntu 16.04 LTS or 14.04 LTS (64bit) 에 설명된대로 따라가시면 됩니다. 간단하게 요약하자면 다음처럼 실행하시면 됩니다.
$ wget https://ifunfactory.com/engine/funapi-apt-setup.deb
$ sudo dpkg -i funapi-apt-setup.deb
$ sudo apt-get update
$ sudo apt-get install funapi1-dev
  1. 만일 같은 가상 머신에 MySQL 서버와 Zookeeper 서버를 같이 실행하실 목적이라면 다음 명령어도 수행합니다.
$ sudo apt-get install mysql-server
$ sudo apt-get install zookeeper zookeeperd
  1. 축하합니다. 이제 ucloud 상에 iFun Engine 의 설치를 마쳤습니다!

Tip

2016년 6월 17일 현재 KT ucloud 는 일부 AZ 에서만 ubuntu 14.04 만을 지원합니다. 만일 14.04 를 쓰고 싶으신 경우는 Ubuntu 의 do-release-upgrade 명령어를 이용해서 비공식적으로 OS 를 업그레이드할 수 있습니다. do-release-upgrade 사용법에 대한 자세한 내용은 ucloud 문서를 참고해주세요. (https://ucloudbiz.olleh.com/manual/ubuntu12.04_version_upgrade_guide.pdf)

만일 모험을 선호하는 용자시라면.. 그냥 다음처럼 입력하셔도 됩니다.

$ do-release-upgrade -p -f DistUpgradeViewNonInteractive

업그레이드가 다 완료되었으면 reboot 명령어를 이용해서 리부팅합니다.

OS 업그레이드는 ucloud 에서 공식적으로 지원하는 것은 아니니, 개발자 본인의 신중한 판단에 따라 사용하시기 바랍니다. 아이펀팩토리는 이에 대한 책임을 지지 않습니다.

CentOS 가상 머신 설정

  1. 가상머신을 할당하고 포트포워딩을 설정하는 것까지는 Ubuntu 의 내용과 동일합니다. 따라서 위 Ubuntu 설명을 참고해주세요. 설치 이미지 중에서 아래처럼 CentOS 7 64bit 을 선택합니다.
_images/ucloud-centos01-centos7.png
  1. Ubuntu 에서와 마찬가지로 ssh 를 이용해서 가상머신에 접속합니다. 가상 머신의 공인 IP 가 123.123.123.123 일 경우 다음처럼 접속합니다.
$ ssh root@123.123.123.123

Tip

비밀번호를 통한 인증은 그다지 안전하지 않습니다. 보다 안전하게는 RSA 공개키를 .ssh/authorized_keys 라는 파일에 추가하는 방법이 있습니다. 이에 대한 설명은 이 문서의 범위를 넘어서므로, 구글 검색등에서 authorized_keys 로 검색해서 자세한 설명을 얻으시길 권장합니다.

  1. 성공적으로 로그인 하셨다면, 다음과 같이 ucloud 기본 OS 이미지를 업데이트합니다.
$ sudo yum update
  1. 그리고 CentOS 6 혹은 7 (64bit) 에서와 마찬가지로 EPEL 저장소를 설치하고 funapi-yum-setup 패키지를 설치합니다.
$ sudo yum install epel-release
$ wget https://ifunfactory.com/engine/funapi-yum-setup.rpm
$ sudo rpm -Uvh funapi-yum-setup.rpm
  1. 그리고 오래된 저장소 정보를 갱신하기 위해서 다음 명령어를 실행합니다.
$ sudo yum clean all
$ sudo yum update
  1. iFun Engine 을 설치합니다.
$ sudo yum install funapi1-devel
  1. 만일 같은 서버에 MySQL 서버와 분산기능을 위한 Zookeeper 서버를 동시에 실행할 예정이라면 다음 패키지도 같이 설치합니다.
$ sudo yum install mysql-server
$ sudo service mysqld start

$ sudo yum install zookeeper
$ sudo service zookeeper start
  1. 축하합니다! 이제 ucloud 의 CentOS 에 iFun Engine 설치를 마쳤습니다.