Google Cloud Platform VM에 jupyter notebook 세팅하기.

John
4 min readMay 23, 2020

--

외국 웹 사이트를 크롤링할 때 한국 IP로 접속하기 힘든 경우가 있다. 이럴 때 해외 리전에 있는 IP를 활용하면 손쉽게 접근할 수 있으므로, GCP(Google Cloud Platform)의 VM을 활용하는 방법을 소개해보고자 한다.

준비

  1. VM 인스턴스 생성

우선 [GCP] -> [Compute Engine] -> [VM 인스턴스]에서 인스턴스가 생성되어있는 상태를 전제로 이야기하려고 한다.

준비가 되어있지 않다면, 하기 링크를 따라서 간단하게 만들어볼 수 있다.

그리고 VM 인스턴스를 만들어주었다면, 인스턴스 세부정보로 들어가서
[방화벽]에 HTTP,HTTPS를 허용해준다.

내가 알기로는 jupyter notebook은 http기반이기에 http만 선택해주면 될 것 같은데, https도 혹시 모르니 체크해두었다.

2. [VPC 네트워크]-[외부 IP 주소]에서 고정을 선택해준다.

3. [VPC 네트워크]-[방화벽 규칙]-[방화벽 규칙 만들기]에 들어간다.

그리고 이제 거의 끝났다.

ip 범위는 0.0.0.0/0 으로 설정해주고, http의 기본 포트인 80으로 tcp를 설정해준다.

jupyter notebook 설치

이제 다시 [Compute Engine]-[VM 인스턴스]에 들어가서 내가 만든 인스턴스의 SSH를 클릭해 터미널로 접속한다.

기본적으로 anaconda를 설치하면 jupyter notebook도 사용할 수 있기에 먼저 anaconda를 설치하면 된다. 하지만 여기서 아나콘다 설치까지 설명하기에는 너무 포스팅이 길어질 것 같기 때문에 이미 설치되어 있다는 전제하에 진행을 한다.

  1. 주피터 노트북 설치
conda install jupyter

2. config 파일 생성

jupyter notebook --generate-config

3. config 파일 열기

vi ~/.jupyter/jupyter_notebook_config.py

4. config 파일 편집

c = get_config() 
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 80 # http 기본포트가 80

5. jupyter notebook 실행

jupyter notebook --allow-root

이제 아래와 같은 주소로 이루어진 주소를 터미널에서 확인할 수 있을 것이다.

http://인스턴스이름:80/?token=~

여기서 인스턴스 이름을 외부 ip 값으로 넣고 입력한 뒤 토큰값을 입력해주면 정상적으로 접속이 된다.

이제 VM환경에서 jupyter notebook으로 코드를 작성하면 된다

참고

  • 터미널에서 ipynb 파일을 실행하는 방법
pip install runipy
runipy <파일명>.ipynb

--

--