·설치 이유

모바일 게임을 출시하고 수익을 얻으려면 거의 필연적으로 서버가 필요하다. 아이템을 결제하거나, 광고를 관리하는 일 모두 서버가 있어야만 처리할 수 있기 때문이다. 서버는 유저 수에 따라 처리량이 많이 달라지기 때문에 게임이 출시되기 이전부터 준비되면서, 출시 이후에도 지속적으로 관리되어야 하는 작업이다. 저번 주에는 개발한 게임을 플레이할 수 있는 Steam을 설치했다면, 다시 개발자의 입장에서 사후 관리를 위한 서버 설치를 해보기로 하였다.

일단 기존의 데스크탑용 Ubuntu로는 서버를 관리할 수 없었다. 때문에 Ubuntu Server를 설치하거나, 다른 서버용 OS를 이용해야만 했다. 고민을 하던 차에 서버 OS로 유명한 CentOS를 알게 되었고 비교를 해본 결과 CentOS를 설치하기로 하였다. 그 이유는 대략 세 가지 정도이다. 먼저, CentOS는 Ubuntu에 비해 안정성이 높다. IT 기업에서 가장 널리 사용하는 서버 OS인 Red Hat Enterprise Linux(RHEL)의 복제품 CentOS는 Linux distribution의 오픈소스 프로젝트로서 기업 수준의 서버 OS를 제공한다. 또한 Ubuntu와는 반대로 업데이트의 빈도수가 낮아 안정성을 높게 유지하고 있다. 두 번째 이유는, 이제는 ‘리눅스 초보자’라는 타이틀에서 벗어나고 싶었다. Ubuntu는 보통 큰 커뮤니티와 낮은 진입장벽 때문에 초보자에게 추천된다. 물론 아직 Ubuntu 터미널조차 제대로 다루지 못하지만, 10주 동안 사용해봤다고 더이상 초보자 소리는 듣고 싶지 않았다. 마지막으로, 기왕 OS를 새로 설치할 거면 다른 Linux를 설치해 다양한 터미널 문법을 경험해 보고 싶었다. Debian 계열과 리눅스 민트는 apt를사용하는데, RHEL과 CentOS에서 쓰는 yum도 한 번쯤은 써 보고 싶었다.

서버 OS는 다른 OS와 달리 Virtual Machine에 설치하지 않는다. 이렇게 하는 방식은 OS 자체를 가상화하는 건데, 서버를 가상화해서 호스트 OS 위에 설치했다간 무겁고 느려서 제때 제때 처리를 할 수가 없게 된다. 그렇기 때문에 서버 OS는 다른 컴퓨터 위에 설치해야만 한다. 그러나 학생인 나는 당장 새로운 컴퓨터를 살 수도 없고, 당장 유저도 거의 없는 서버를 관리하기 위해 큰 돈을 쓸 생각도 없다. 많은 프로그래머들이 이와 같은 고민을 했고, 그 결과 바로 도커에서 ‘컨테이너’라는 개념을 본격적으로 사용하게 되었다. ‘컨테이너’는 격리된 프로세스에 필요한 만큼의 CPU와 메모리를 추가하는 것이며, AWS의 EC2(Elastic Compute Cloud)는 이를 위해 필요한 이미지 *9)*를 제공하고 가상 컴퓨터를 대여해준다. 새로운 인스턴스 *10)*를 만들어 내는데 걸리는 시간이 아주 짧고, 사용한 만큼만 비용을 청구하기 때문에 많은 서버 프로그래머와 기업에서 이를 사용하고 있다. AWS는 가입 후 12개월 동안 ‘프리티어 사용 가능’이 붙은 인스턴스를 무료로 제공하고 있어서 이번 리눅스 사용기에서 이를 사용해 보기로 결정했다.

·설치 과정

AWS에서 EC2를 사용하기 위해서는 먼저 AWS의 계정이 필요하다.

<그림 51>

<그림 51>

일단 나는 CentOS에서 사용할 수 있는 12개월 무료 프리티어를 사용할 예정이다.

<그림 52>

<그림 52>

만약 다른 OS에도 관심이 있다면, <그림 52>와 같은 다양한 프리티어 오퍼를 참고하면 될 것 같다. AWS 가입이 완료되었다면, 콘솔에 로그인하고 필요한 솔루션을 선택하면 된다. 지금은 EC2를 이용한 가상머신 구축을 선택하면 된다.

<그림 53>

<그림 53>

이제 본격적으로 인스턴스를 만들기 위해 AMI를 선택한다. Window와 Linux OS만 제공되고 있으며, 필요한 OS는 AWS Marketplace에서 검색을 통해 찾을 수 있다. 나는 설치하려고 하는 CentOS7을 찾아보았다.

<그림 54>

<그림 54>

같은 OS라고 하더라도 제공되는 CPU와 메모리에 따라 여러 인스턴스가 있다. 지금은 프리티어 12개월 무료를 설치할 것이기 때문에 t2.micro를 선택하면 된다. 다른 인스턴스를 설치할 경우 비용이 청구된다.