본문 바로가기
컴퓨터/전산, 그 외

VPS 사용기(2)

by adnoctum 2018. 2. 25.




   이번에는 VPS의 사용기를 조금 더 자세하게 이야기 해 본다. 간단한 설명은 지난 번 글에 있다. 지난 번 글에 약간의 오류가 있는데, 실제로 VPS를 사용하기 위하여 각 서비스를 살펴 보고자 할 경우 될수 있으면 이번 글을 참고하는 편이 좋다. 


   우선 내가 VPS를 필요로 한 일에 대해 설명한다. 목적에 따라 어느 VPS 서비스를 사용할 것인가가 결정될 것이기 때문이다. 내가 해야 하는 일은 한 번의 계산이 대략 1초에서 길게는 두어시간까지 걸리며, 이러한 계산이 수천만에서 수억건 해야 하는 일이다. 각 계산을 클라이언트 컴퓨터들에게 할당을 하고, 계산이 끝나면 서버에서 결과를 받아 온 후 다시 다른 계산을 클라이언트에게 넘겨 주는 것이다. 보통 cluster 에 job을 날리는 것과 유사한데 이것을 내 일에 맞게끔 자동화하여 사용하고 있다. VPS에 의한 각 컴퓨터를 이 경우 계산을 실제로 수행하는 클라이언트 컴퓨터로 사용했다.


   현재 사용하고 있는 VPS 업체는 DigitalOcean, Conoha, Microsoft Azure, Google Cloud Platform (GCP) 총 4개 이다. 우선 각 서버스에 대해 간략히 서술한 후 각각의 사용 화면을 보여 주고자 한다. MS Azure는 $200을 무료로, GCP 는 $300을 무료로 제공해 줘서 기본적인 것들을 이 비용으로 해볼 수 있다. GCP의 경우 어떤 이유에서인지 암호화폐를 사용하는 것으로 간주되어 VPS가 가끔 중단된다. 아무래도 내 작업의 특성 상 계산이 오래 걸리는 경우 CPU를 80%~90% 사용률로 1시간 정도 사용할 경우가 있는데 이럴 경우가 암호화폐를 채굴하는 것으로 간주되는 것 같다. 무료 계정으로는 암호화폐를 채굴할 수 없다는데 이게 무료계정이 아니면 된다는 것을 의미하는 것인지까지는 명확하지 않으며, 어쨌든, 암호화폐를 채굴하는 것이 아니라는 사유를 보내면 중단된 VPS를 다시 사용할 수 있기는 하다. MS Azure의 경우 무료 계정에서 사용할 수 있는 총 CPU의 수는 20개이다. DigitalOcean은 가입시 $10을 무료로 사용할 수 있고, Conoha는 가입시 1만원(천엔)정도를 주기 때문에 이것으로 테스트 해 볼 수 있다. 


다음은 각 서비스를 간략히 비교해 본 그림이다. 



(클릭시 그림 커짐)


일반적이라면 비용 면에서 Conoha가 가장 경쟁력이 있다. 구글의 선점형은 preemptible 인데, 상황에 따라 VPS가 강제 종료될 수 있는 옵션이다. 바로 이 점 때문에 가격이 매우 저렴하다. 만약 프로그램이 fault-tolerant 하다면 선점형을 사용하는 것이 매우 유리하다고 한다. 실제로 선점형을 써서 cluster에 job 을 날리는 것과 같은 것을 모사한 HTCondor 같은 패키지가 있다. 사용 기간을 설정하고 미리 결제를 하면 할인을 해주는 것에 의하여 구글의 GCP 가 가장 유리하고 그 다음이 MS-Azure, 그 다음이 Conoha로 유리하다. 이 경우 이 두 회사의 것이 Conoha보다 저렴한데 Conoha는 장기 사용에 의한 할인이 없기 때문이다. 


전반적으로 이 서버들은 putty 와 같은 프로그램으로 터미널에서 직접 작업하기에는 약간 무리가 따른다. 지연 시간이 대략 0.1~1초 혹은 그 이상이기 때문이다. 나는 실제 개발작업은 내 서버에서 한 후 개발이 끝나면 복사한 후 실행만 VPS에서 한다. 






1. Conoha





   Conoha에 로그인을 하면 내가 사용하는 서버들 및 기타 정보가 나열된다. 



청구된 비용을 살펴 보면 다음과 같다. 






VPS 하나를 살펴 보면 다음과 같다. 








2. DigitalOcean




DigitalOcean에 로그인을 하면 다음과 같이 사용하는 서버들에 대한 간략한 정보 화면이 나온다. 





청구된 비용은 다음과 같다. 





VPS 하나를 선택해 들어 가면 다음과 같은 로그들을 볼 수 있다. 











3. Google Cloud Platform (GCP)




GCP에 로그인을 해서 인스턴스 메뉴로 들어 가면 다음과 같이 현재 실행되고 있는 VM 인스턴스를 볼 수 있다. 






새 인스턴스를 만드는 과정을 잠깐 살펴 보면 다음과 같다. 특히 생성 과정에서 오른쪽의 비용 추정을 볼 수 있다. 




SSH 키를 넣어야 putty 와 같은 프로그램으로 원활하게 접속할 수 있다.











4. Microsoft Azure




MS Azure에 로그인을 해서 VM instance 페이지로 가면 다음과 같이 현재 운행되고 있는 VPS 에 대한 정보가 나온다. 





한 대를 클릭하면 보다 자세한 정보와 상태를 볼 수 있다. 




청구된 비용은 다음과 같다. 물론 현재는 무료 체험 중이라 실제 비용이 청구되진 않는다. 





가상 컴퓨터를 만드는 간략한 과정은 다음과 같다. 이 경우 암호를 사용할 수도 있고 GCP 처럼 SSH Key를 사용할 수도 있다. 








대부분의 경우 별도의 저장소를 따로 사용할 수 있고, 현재 상태 그대로 저장해 놓는 (백업 등의 용도로) 스냅샷이 있고, 혹은 단일 파일로 현재 VPS를 통째로 저장한 후 이것으로부터 새로운 instance를 만들 수 있는 등과 같은 것이 제공된다. 많은 경우 전송량에 따른 비용이 부과되며 Conoha는 무료이다. 대부분 vCPU와 RAM이 미리 정의된 쌍만 제공되는데 GCP 의 경우 vCPU와 RAM 역시 자신이 직접 지정할 수 있어서 10-vCPU에 1GB RAM 을 만들어 사용할 수도 있다. MSAzure와 GCP의 경우 root 계정 권한이 필요할 경우 sudo -s 를 하면 된다. CentOS는 6.9 정도부터 제공이 되며 별도 비용은 없어 보인다. 



   GCP나 MSAzure의 경우 워낙 제공해 주는 서비스가 다양하기 때문에 이 글에서 전부 설명할 수는 없다. 비용 면에서만 보자면 일반적으로는 Conoha가 가장 저렴하지만 막대한 CPU 수가 필요한 병렬처리의 경우 GCP의 선점형이 좋은 대안이다. 장기 사용으로 선결제를 할 경우  GCP가 MSAzure 보다 저렴하고 이 둘이 Conoha보다 저렴하다, Conoha는 장기 사용에 따른 할인 정책이 없기 때문이다.