> For the complete documentation index, see [llms.txt](https://jybaek.gitbook.io/with-gcp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jybaek.gitbook.io/with-gcp/compute/compute_engine.md).

# Compute Engine

여기서는 *Compute Engine* 에 *VM* 인스턴스를 생성하는 방법에 대해서 살펴보도록 한다. *VM* 인스턴스는 가상의 서버가 존재하는 것처럼 사용하는 것이 가능하도록 해준다. 서버의 용도는 개인에 따라 구분되는데 웹서버가 될 수도 있고, 기타 앱 테스트를 위한 공간이 될 수도 있다. 다만, 하드웨어 레벨로의 접근이 불가능한 전형적인 *IaaS* 로 생각하면 된다.

우선 아래 그림처럼 *GCP* 콘솔에 *Compute Engine* 항목에서 *VM* 인스턴스를 클릭하도록 한다.

![](https://t1.daumcdn.net/cfile/tistory/2569C94558E49A8E0F)

최초 진입시 화면은 아래와 같다. 샘플 앱을 제작하려면 `"빠른 시작 사용"`을 클릭하면 되고 직접 모든것을 설정하려면 `"만들기"` 버튼을 선택하면 되겠다. 한편 `"가져오기"`는 *cloudendure*, *Velostrata* 에서 *VM* 인스턴스를 *Compute Engine* 으로 이전할 수 있도록 해준다.

![](https://t1.daumcdn.net/cfile/tistory/251BDB3D58E49AA929)

기본적인 화면 구성은 아래와 같다. 크게 정리해보면 리전위치 지정, CPU, Memory 지정, 디스크 설정, 접근 권한 설정, 방화벽 설정 정도가 되겠다. 기본적인 내용보다는 GPU를 사용할 수 있는 인스턴스를 생성해보도록 하자. `"머신 유형"` 항목에서 `"맞춤설정"`을 클릭해서 스펙을 지정할 수 있다.

> 설정 항목 : 리전위치 지정, CPU, Memory지정, 디스크 설정, 접근 권한 설정, 방화벽 설정

![](https://t1.daumcdn.net/cfile/tistory/274AEF4458E49AC016)

아래 그림처럼 선택한 영역에서는 GPU를 사용할 수 없단다. 예전에 *google* 에서 공지한 것처럼 GPU가 모든 리전에서 지원되지는 않는 모양이다. (그게 2017년 02월 즈음이었는데 현재 2017.04월까지도 그러하다)

![](https://t1.daumcdn.net/cfile/tistory/265C254058E49AD511)

그럼 영역을 바꿔서 확인해보자. 아래 그림처럼 GPU를 사용할 수 있으나 리전만 변경했을 뿐인데 월 사용요금이 변한다. 이건 아마도 모든 *Public Cloud* 의 공통적인 부분일텐데 리전이 존재하는 대륙 별로 관리나 기타 등등의 이유로 가격의 *gap* 이 존재한다고 이해하면 된다.

![](https://t1.daumcdn.net/cfile/tistory/25586A4258E49AE61C)

또한 캡쳐를 남기지는 않았지만 *GPU* 개수를 1개만 지정해도 월 사용요금이 대폭 상승한다. (한 개만 사용 해도 무료 크레딧으로 감당할 수 없는 수준이다.) 클라우드 학습 목적으로 무료 계정만 사용 할 것이라면 GPU는 지양하는게 좋다.

GPU에 대한 정보는 아래 링크에서 확인하도록 하자.

<https://cloud.google.com/compute/docs/gpus/?hl=ko&_ga=1.105646019.1723078938.1490857833>

우선 머신러닝을 위해 최소한의 CPU를 적당히 선택하고, OS 이미지를 선택하도록 한다. 아무래도 제공되는 이미지 중에는 *Ubuntu* 가 *TensorFlow* 에 가장 친화적이니 선택해 보도록 한다. 추가로 디스크는 *SSD* 로 적용하고 용량은 *train data* 가 클 것을 대비해서 *20GB* 로 잡아줬다. (그 동안 봤던 *train data* 중 가장 큰 사이즈가 7.5GB 정도 되었던 것 같다. 프로젝트는 챗봇이었다)

![](https://t1.daumcdn.net/cfile/tistory/23154A4058E49AF616)

이제 모든 환경설정이 끝났고 `"선택"` 버튼만 누르면 잠시 후 인스턴스가 아래와 같이 생성된다. SSH 터미널 접속을 위해서는 현재는 화면에 보이는 `"SSH"` 버튼을 눌러 접근해야 한다. GCP에서는 개인 패스워드를 지정해서 사용하는 것은 지양할 것을 권고한다. 아무래도 관리에 위험이 있으니까. *public key* 를 이용해서 다른 머신에서 접근을 하는 등의 방법은 부록에서 살펴보도록 하겠다.

![](https://t1.daumcdn.net/cfile/tistory/216A6F4658E49B0925)

SSH 연결을 하면 아래와 같이 새로운 브라우저가 열리고 접속이 된다. OS와 CPU 정보를 확인해 보자.

![](https://t1.daumcdn.net/cfile/tistory/276BFD4258E49B182E)

여기까지 인스턴스를 생성하는 과정에 대해서 살펴보았고 이제 구글의 컴퓨팅을 통해 서버를 구축해나가면 되겠다.
