티스토리 뷰

개발/Cloud (GCP)

GCP SDK 사용

Jaeyeon Baek 2017. 6. 21. 08:36

Google Cloud Platform 은 기본적으로 web 에서 Cloud Shell 을 제공하지만 앞에서 살펴본 것 처럼 Cloud Shell 자체에 대한 사양이 높지가 않다. 또한 GCP 는 은근히 Cloud Shell 에 대한 의존도가 높기 때문에 Web에서 기본 제공되는 Cloud Shell 로 한계가 있겠다. 의존도가 높은 이유에 대해서 깊게 들어갈 필요가 없지만 가장 간단한 이유는 다양한 기능을 웹보다 터미널에서 빠르게 접근할 수 있다는 점이고 인터넷에 수많은 예제가 터미널 기준으로 설명되어 있기 때문이겠다.

자, 이런 저런 이유로 GCP 는 사용자의 로컬 PC 에서 Google Cloud 의 모든 기능을 사용할 수 있도록 하기 위해 SDK 를 제공한다. 사실 이게 핵심이다. 이렇게 SDK 가 제공되기 때문에 Cloud Shell 은 약간의 보너스 같은 개념이 되는 것이다. 이제 SDK 를 사용해서 내 로컬 PC 에서 쾌적하게 Cloud 를 누릴 수 있는 방법에 대해서 설명해본다. 

우선 브라우저를 통해 https://cloud.google.com/sdk 로 접근하도록 한다. 다음 아래와 같은 화면에서 로컬 PC OS 에 맞는 설치셑을 다운로드 받는다. (기본적으로 OS 를 감지해서 추천해준다.)

다음 단계에서는 OS Platform 에 따른 설치셑을 다운로드 받을 수 있고, 설치에 대한 메뉴얼을 확인할 수 있다. 여기서 설명하는데 사용된 OS 우분투 16.04 64bit 머신 이기 때문에 첫 번째에 있는 파일을 사용했다. ( SDK 를 사용하기 위해서는 기본적으로 Python 2.7 이 시스템에 설치 되어 있어야 한다는 문구를 확인할 수 있는데 gcloud 명령어 자체는 Shell Script 지만 코드 내에서 다시 호출되는 커맨드는 대부분이 Python 이기 때문이겠다. 또한 어딘가에서 아직 Python 3.X 에 대한 많은 부분 누락된 것으로 보아 꼭 2.7 버전이 존재해야 할 수도 있겠다.)

다운로드가 완료되면 다음과 같이 웹에서 확인했던 google-cloud-sdk-159.0.0-linux-x86_64.tar.gz  파일을 터미널에서 확인할 수 있다.

tar.gz 압축 파일을 해제하면 google-cloud-sdk 디렉터리가 생성된다. 웬만하면 이 디렉터리는 절대경로에 한글이 포함되지 않는 위치로 옮겨놓고 진행하는 것이 좋다. (아래 화면처럼 다운로드 라는 디렉터리에서 하면 안된다) 그렇지 않으면 절대경로에 한글이 포함되어 있어서 일부 명령어가 정상적으로 수행되지 않기 때문이다. (실제로 뒤에서 다루는 gcloud components 명령어가 그러하다)

생성된 디렉터리에서 install.sh 을 통해 한방 설치를 시작한다. 몇 가지 질문이 나오는데 팁을 안내드리자면 default Y/n 같은 질문에서 대문자를 선택하면 된다. 실제로 많은 OpenSource 가 그러하다.

아래처럼 install.sh 스크립트를 시작하면 선택지가 시작된다.

쭉 진행하면 아래와 같이 설치된 Components 가 보이고 필요한 환경변수 등을 설정한다는 질문이 출력된다. 환경변수가 설정되어야 터미널 어디서든 gcloud 관련 명령을 사용할 수 있으니 Y 를 선택하도록 한다. 또한 추가적으로 유용한 component 가 많기 때문에 gcloud components install COMPONENT_ID 를 통해 필요한 것들은 설치하도록 하자. (대표적인게 datalab 되시겠다.)

이제 기본적인 설치가 끝났고 계정과 연동하는 일만 남았다. gcloud init 명령을 통해 연동을 진행한다. (환경변수에 세팅은 되었지만 적용이 되지 않은 상태기 때문에 터미널을 새로 접속하던지, source ~/.bashrc 등을 통해 환경변수를 다시 로드해야 한다)

연동을 위해 기본 브라우저에 계정을 선택할 수 있는 화면이 출력된다. 계정을 선택하고 계속 진행하도록 한다.

권한을 확인하고 허용하도록 한다.

프로젝트를 선택하던지, 새로운 프로젝트를 생성할 수 있다.

Google Compute Engine 에 대한 설정을 할 수 있다. 원하지 않으면 스킵해도 된다.

계속 진행하면 대략 Zone 에 대한 설정인데 스킵스킵스킵..

스킵스킵스킵..

이제 드디어 모든 과정이 끝났다. gcloud version 을 통해 버전을 확인하고 다양한 명령어를 사용해보자.


Google Cloud 를 시작하면서 Cloud SDK 라는 단어를 많이 들었는데 정확히 무엇인지 몰라 혼란스러웠다. 하지만 막상 설치해보니 이렇게 간편하고 쉬운 개념일 수가 없다. 브라우저에서 제공하는 Cloud Shell 은 정말 매력적이지 않을 수가 없지만 SDK 가 있는 이상 이제는 찬밥 신세...  단언컨대 누군가 Google Cloud Platform 을 시작한다고 하면 SDK 를 먼저 설치하라고 권할 것이다.



위에서 잠깐 설명하고 지나갔는데 설치 경로에 한글이 포함되어 있는 경우에 gcloud componets 명령어를 실행하면 아래와 같은 오류가 출력된다.

$ gcloud components install alpha

Your current Cloud SDK version is: 159.0.0
Installing components from version: 159.0.0

ERROR: gcloud crashed (UnicodeEncodeError): 'ascii' codec can't encode characters in position 11-14: ordinal not in range(128)

If you would like to report this issue, please run the following command:
  gcloud feedback

To check gcloud for common problems, please run the following command:
  gcloud info --run-diagnostics

이때는 google-cloud-sdk 가 설치된 경로를 한글이 포함되지 않는 곳으로 옮기고 .bashrc 파일안에 google-cloud-sdk 를 찾아서 경로를 다시 지정해주면 된다.

'개발 > Cloud (GCP)' 카테고리의 다른 글

CloudML - 개념  (2) 2017.06.26
GCP SDK 에서 datalab 접속 IP 변경  (4) 2017.06.22
로컬에서 Google Vision API 사용하기  (0) 2017.06.20
결제(billing) 시스템  (0) 2017.06.14
저장소(Storage) 사용  (2) 2017.06.14
댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday