티스토리 뷰

개발/Cloud (GCP)

datalab 사용하기

Jaeyeon Baek 2017.06.08 08:04

GCP (google cloud platform)  jupyter notebook 과 같은 솔루션인 datalab 을 제공한다. datalab 은 웹상에서 다양한 소스 구현이 가능하며 심지어 결과물의 시각화 까지 가능하게 한다.

이번에는 datalab 을 사용해보도록 한다. 우선 GCP 콘솔에 접속해서 우측 상단에 ( >_ ) 모양의 아이콘인 Google Cloud Shell 을 열도록 한다. GCS GCP 에서 사용하는 대부분의 행위를 터미널에서 제어할 수 있도록 도와준다. 

아이콘을 누르면 아래처럼 터미널이 열린다. Cloud Shell  f1-micro GCE 인스턴스를 사용하는데, 메모리가 무려 0.6 기가다. 여기 Shell 에서 뭔가를 해볼 생각은 접어두는게 좋다. 가급적 gcloud 관련된 명령만 수행하도록 하자. 


아래처럼 프로젝트 리스트를 살펴보자.

$ gcloud projects list


그리고 datalab 을 등록할 프로젝트를 선택한다.

$ gcloud config set core/project project-id

인스턴스 Zone 을 선택할 수 있는데 설정하지 않고 스킵해도 상관없다. 어차피 나중에 datalab 을 생성할 때 다시 물어본다.
$ gcloud config set compute/zone zone

정말 간단하지만 이제 datalab 생성 명령을 실행하면 끝이다.
$ datalab create instance-name

기다리면 인증키 관련해서 질문이 나오지만 엔터를 눌러 넘어가도 상관없으니 넘어가도록 하자. 그리고 나면 아래와 같은 출력을 볼 수 있게 된다.

마지막 문장 처럼 포트를 8081로 선택하고 datalab을 사용하도록 하자. 예전에는 up-arrow(↑) 아이콘이었던 것 같은데 현재는 바뀐 듯하다. 아직 터미널 명령어에는 적용이 안된 듯. 여튼 클릭해보면 아래처럼 화면이 보인다.

브라우저의 새탭에서 datalab 을 만나볼 수 있다. 페이지를 즐겨찾기 해놔도 되겠다.

머신러닝을 위한 tensorflow 를 사용해봤다. 무료 솔루션(인스턴스)이라 빠르지는 않지만 나쁘지 않게 간단한 테스트를 할 수 있겠다.

또한 탭(Tab)키를 통한 모듈 자동완성까지 지원되기 때문에 무척 편리하다. (이 부분은 소오름... jupyter 에서도 지원하는 기능이기는 하지만 datalab 이 이렇게까지 완벽하게 지원한다.)

생성된 datalab 도 결국은 Compute Engine 을 사용하기 때문에 VM 인스턴스를 확인할 수 있다. 인스턴스 타입은 n1-standard-1 (vCPU 1개, 3.75GB 메모리) 이고 더 자세한 내용은 직접 Compute Engine 메뉴에서 확인하도록 하자.


추가적으로 아래 명령어를 숙지하면 좋다.

datalab 을 삭제할 때

$ datalab delete instance-name


datalab 에 연결할 때

$ datalab connect instance-name


여기서 instance-name datalab 의 이름이라고 봐도 된다. datalab list 라는 명령어로 이름을 확인할 수 있겠다. 추가적으로 더 필요한 내용이 있거나 상세한 내용이 궁금하면 아래 링크를 통해 접근 가능하겠다.
https://cloud.google.com/datalab/docs/quickstarts

datalab cloud shell 이 종료되면 연결이 자동으로 끊기는데 cloud shell 과 무관하게 언제 어디서든 계속 사용하고 싶다면 nohup 옵션을 사용하면 된다. 하지만 cloud shell 의 특성상 무한정 사용할 수는 없는 듯 하다. 대략 아래 링크 때문인지는 잘 모르겠다. 또한 cloud shell 을 접속해서 볼 때마다 uptime 이 변경되는데 GCP 에서 남는 자원을 할당해서 사용자에게 cloud shell 을 제공하는 것은 아닌지 생각해본다.

Cloud Shell instances are provisioned on a per-user, per-session basis. The instance persists while your Cloud Shell session is active and terminates after an hour of inactivity.


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

소스 저장소를 사용해보자  (2) 2017.06.12
Google Cloud Shell 의 사양을 알아보자  (0) 2017.06.09
datalab 사용하기  (6) 2017.06.08
인스턴스에 SSH로 접속하기  (6) 2017.04.06
Google Cloud Shell 사용하기  (0) 2017.04.05
인스턴스 생성하기  (2) 2017.04.05
댓글
  • 프로필사진 chois 글 정말 잘 읽고있습니다. 궁금한 사항이 있습니다.
    1. 제가 생성한 VM instance에서 jupyter-notebook을 써도 될것같은데, 굳이 datalab을 써야할 필요성이 있나요?
    2. datalab은 "제가 생성한 VM 인스턴스", "GCS 인스턴스" 말고 또 다른 새로운 인스턴스에서 돌아가는 건가요?
    2017.07.02 15:50 신고
  • 프로필사진 BlogIcon Jaeyeon Baek 아래처럼 부족한 답변 드립니다.

    1. 사실 인스턴스에 노트북을 설치해서 사용해도 상관 없을 듯 합니다. 다만 노트북
    설치나 머신러닝 사용에 어려움이 있는 사용자에게는 모든 환경이 구축되서
    제공되는 datalab 이 유용할 수 있겠습니다.

    2. 기본적으로는 별도의 인스턴스가 생성됩니다. :-) 해보지는 않았지만 웬지 돌고 있는 인스턴스에도 설치가 될 것만 같네요.
    2017.07.03 08:39 신고
  • 프로필사진 J2K2 올리신 글 잘보고 있습니다. 그런데 글 목록이 6개 밖에 안보여, page를 하나씩 다 클릭해서 나머지를 봐야 하는데, 글목록이 더 많이 보이게 되었으면 좋을것 같습니다. 2017.11.13 14:08 신고
  • 프로필사진 BlogIcon Jaeyeon Baek 말씀하신 부분은 글 하단에 있는 "카테고리의 다른 글" 같은데, 여기 개수를 늘릴 수 있는지는 잘 모르겠네요. 다른 방법으로 우측 상단에 CATEGORY 에서 cloud (GCP) 를 선택하시면 20개씩 리스트 됩니다. 소중한 의견 감사드립니다. :-) 2017.11.13 21:34 신고
  • 프로필사진 gygy datalab설치중에 datalab create instance-1을 하고 could not fetch resource: -The resource 'projects/project id/zones/us-east1-b/instances/instance-1' already exists 이런 에러가 뜨는데 이유가 뭔가요?ㅠㅠ
    2018.11.11 14:26 신고
  • 프로필사진 BlogIcon Jaeyeon Baek 인스턴스 생성을 테스트 하시면서 instance-1 이름을 사용하셨나보네요, 인스턴스명을 변경해서 테스트 해보세요 :) 2018.11.12 09:28 신고
댓글쓰기 폼