본문 바로가기

개발

[GCP] 초보개발자를 위한 VM 생성 / MobaXterm을 사용한 SSH 접속 / Python 개발환경 설정 가이드

초보 개발자 그건 바로 나🦊🦊🦊

나중에 VM 뚝딱 생성하려고 만들어둔 가이드 문서입니다


GCP VM 생성하기

1. 방화벽 규칙 설정하기

내 컴퓨터에서만 안전하게 VM을 사용하기 위해 방화벽 규칙을 설정한다

(http / https 트래픽을 모두 허용하면 네트워크 해킹 당해서 VM 악용될 수 있음 주의)

 

VPC 네트워크 > 방화벽 > 방화벽 규칙 만들기 클릭

 

  • Name : 방화벽 규칙 이름 (ex. my-firewall)
  • Targets(대상 태그) : 원하는 태그 이름 (ex. littlefox)
  • Source filter (소스 필터) : IPv4 ranges
    • Source IPv4 ranges : 명령 프롬프트 > ipconfig 입력 > IPv4 주소 뒤에 있는 xx.xxx.x.xx 번호 입력
  • Protocols and ports (프로토콜 및 포트) : TCP > 22, 8888(Jupyter Notebook 포트) 등 입력

 

생성된 방화벽 규칙 예시:

 

2. VM Instance 생성

VM 인스턴스 > VM 인스턴스 생성 클릭

 

인스턴스 생성 예시:

 

※ 나중에 Jupyter Notebook 등 VM에서 띄운 포트에 접속하기 위해서 위에서 만든 방화벽 규칙을 설정한다

 

MobaXterm으로 GCP VM 접속하기 

1. MobaXterm 설치하기

아래 페이지에서 MobaXterm 소프트웨어를 설치한다

https://mobaxterm.mobatek.net/download-home-edition.html

 

MobaXterm free Xserver and tabbed SSH client for Windows

The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!

mobaxterm.mobatek.net

2. MobaXterm 실행 후 SSH 키 생성하기

a) MobaXterm에서 Settings > Configuration 선택 → Persistent home directory 경로를 확인하기

b) 명령프롬프트(cmd) → Persistent home directory로 이동하여 SSH 키 생성

 

ssh-keygen -t rsa -C "your-email-address@gmail.com"

👉 home directory에 가면 설정한 이름으로 public key와 private key가 생성되어 있는 것을 확인할 수 있음

 

c) 아래 명령어를 통해 공개 키를 확인하여 복사하기

 

type your-public-key.pub

d) GCP Compute Engine > Metadata > SSH KEYS 탭에 위에서 확인한 공개 키 붙여넣기

e) MobaXterm에서 SSH 연결하기

  • Remote host - 생성한 VM의 외부 IP 주소
  • Specify username - Google 계정 아이디 입력
  • Use private key를 체크하고, 위에서 생성한 private key를 업로드 (.pub 붙지 않은 파일)

🤗 아래와 같은 화면이 나왔으면 접속 성공!

 

Python & Jupyter Notebook 설치하기 

1. Python 및 python-pip 설치 후 버전 확인하기

 

sudo apt update
sudo apt install python3 python3-dev python3-venv
sudo apt-get install wget
wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py
pip --version

 

2. 편집기 설치하기 (Jupyter Notebook)

a) jupyter-notebook 설치하기

 

sudo apt-get install jupyter-notebook
jupyter --version

 

b) Jupyter Notebook을 로컬에서 접속할 수 있도록 환경 설정하기

 

sudo apt-get install ipython3
ipython3

 

b-1) ipython3이 실행되면 notebook에서 password 알아내기

> Enter password에서 비밀번호를 지정하고 기억해 두세요 (나중에 접속할 때 필요)

 

from notebook.auth import passwd
passwd()
> Enter password: ****
> Verify password: ****
> sha1:******************************
exit()

 

b-2) jupyter notebook config 설정하기

 

jupyter notebook --generate-config
vi ~/.jupyter/jupyter_notebook_config.py

 

파일이 열리면 아래와 같이 맨 앞에 환경설정 추가

c = get_config()
c.JupyterApp.config_file_name = 'juyter_notebook_config.py'
c.NotebookApp.allow_origin = '*'
c.NotebookApp.ip = 'VM 인스턴스 내부IP'
c.NotebookApp.open_browser = False
c.NotebookApp.password = '복사한 패스워드 (sha1:**********) 입력'

(저장하려면 esc > wq > enter 입력)

 

c) Jupyter Notebook 실행

(jupyter notebook 명령어 뒤에  &를 붙이면 백그라운드 실행이 가능하다)

 

jupyter notebook &

 

d) MobaXterm에서 tunneling을 통해 Jupyter Notebook 접속하기

 

Tunneling > New SSH tunnel 클릭

● 위와 같이 정보 입력 후 Save

● 아래와 같이 Private Key를 업로드하고 재생을 클릭했을 때 stop되지 않으면 터널링에 성공한 것!

 

🤗 localhost:8888 접속이 되면 성공입니당 즐거운 개발 스타뚜 :D