[GCP] Computing Engine 환경설정
Computing Engine 환경설정
- 이번 글은, Google Cloud Platform의 Computing Engine 인스턴스의 기본적인 환경설정 방법을 소개하는 글입니다. 직접 작업환경을 세팅하면서, 정리 하는 목적으로 작성하는 글입니다.
- 다음과 같은 환경을 설정합니다.
- 인스턴스 생성 및 네트워크 설정
- 접속을 위한 ssh 생성 및 접속
- python3, pip3 설치
- CUDA 설치
- cuDNN 설치
- Pytorch 설치
- Jupyter 설치 및 환경설정
1. 인스턴스 생성 및 네트워크 설정
Compute Engine에서 자신의 목적에 맞는 리소스를 정해, 인스턴스를 생성해줍니다.
Jupyter notebook 을 사용하기 위해, VPC 네트워크 → 방화벽 규칙 탭에서 방화벽 규칙을 만들어 줍니다. 후에 Tensorboard 와 다른 기타 환경들을 사용할 때 그에 맞는 포트 규칙을 동일한 방법으로 열어주면 됩니다. 아래의 4가지를 설정해주고 ‘만들기’ 클릭
이름 : jupyter
소스 IP 범위: 0.0.0.0/0
대상 태그: jupyter
tcp: 8888
http, https: 체크
2. 접속을 위한 RSA key pair 생성 및 ssh 접속
- gcp 에서 제공하는 gcloud로도 접속 할 수 있습니다.
위에서 생성한 인스턴스에 접속하기 위해, RSA key pair 를 이를 통해 접속 해 봅니다. 아래의 명령어를 이용해 키페어를 생성해 줍니다. 이 때, USERNAME 은 gcp에 등록한 이메일로 설정합니다.
$ ssh-keygen -t rsa -f ~/.ssh/[KEYFILE_NAME] -C “[USERNAME]”
example) $ ssh-keygen -t rsa -f ~/.ssh/gcp-key -C “myemail@mail.com“
앞으로 사용할 Password 를 입력하고,
생성된 키페어는 .ssh
폴더 안에서 확인 할 수 있습니다. .ssh/[KEYFILE_NAME].pub
를 확인해 볼 수 있습니다.
- 생성한 키페어를 gcp 의 메타데이터 탭 → SSH 키에 등록합니다.
ssh 접속
$ ssh -i ~/.ssh/[KEYFILE_NAME] [USERNAME]@[GCP외부IP]
3. Python3, PIP 설치
위에서 서버에 접속했다면, 서버의 개발환경을 설정해 주기만 하면 됩니다. python3 와 pip 부터 설치해 봅니다.
locale 설정
1
2
3
4
5
6$ sudo apt install language-pack-ko
$ sudo locale-gen ko_KR.UTF-8
$ export LC_ALL="en_US.UTF-8"
$ export LC_CTYPE="en_US.UTF-8"
$ sudo dpkg-reconfigure localesen_US.UTF-8이 [*] 로 체크 되어 있는지까지 확인합니다.
Python3, PIP 설치
1
2$ sudo apt update
$ sudo apt install python3-pip설치 후,
python3 --version
으로 python 이 잘 설치 되었는지 확인합니다.
4. CUDA 설치
우리가 가장 원하는 리소스인 gpu를 활용한 연산을 위해 CUDA 를 설치 해 줍니다.
- 먼저, 설치 파일을 다운로드 해줍니다.
1 | // 루트에서 |
ls
로 cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb 이 잘 다운로드 되었는지 확인 해 줍니다. 다운로드 결과.deb
확장자가 되어있지 않다면, 파일명에 .deb 를 뒤에 붙여 줍니다.
mv cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64 cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
- 설치CUDA 가 정상적으로 설치되었다면,
1
2
3
4
5$ sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
### $ sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
$ sudo apt update
$ sudo apt install cuda$ nvidia-smi
를 통해 자신의 gpu 상태를 확인 할 수 있습니다. 또한,/usr/local/cuda/version.txt
에 설치한 CUDA, 현재는 10.0의 version 을 확인 할 수 있습니다.
NVIDA tool-kit 설치
1
sudo apt install nvidia-cuda-toolkit
5. cuDNN 설치
다음의 명령어를 통해 cuDNN 을 설치 할 수 있습니다.
1 | $ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" >> /etc/apt/sources.list.d/cuda.list' |
6. Pytorch 설치
- 우리는 서버가 https 프로토콜을 사용한다고 체크했으므로 -H flag 를 주어 sudo pip3 를 활용해야합니다.
1
2$ sudo -H pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp36-cp36m-linux_x86_64.whl
$ sudo -H pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.3.0-cp36-cp36m-linux_x86_64.whl
7. Jupyter Notebook 설치 및 환경설정
Jupyter를 설치합니다.
1
$ sudo -H pip3 install jupyter
설치 후,
$ jupyter notebook
으로 주피터 커널이 켜지는지 확인합니다.주피터 config 파일을 생성합니다.
1
$ jupyter notebook --generate-config
비밀번호를 생성합니다. 이 비밀번호는 지금 설치한 주피터 환경에 들어가기 위한 비밀번호 입니다.
1
2
3
4
5$ ipython
from notebook.auth import passwd
passwd()
Enter Password: 사용할 비밀번호 입력
Verify Password: 사용할 비밀번호 입력출력된 비밀번호 해쉬
sha1: ~~~
를 복사해 둡니다.우리의 인스턴스는 https 프로토콜을 사용하므로, SSL 키파일을 생성해야 합니다.
1
$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout cert.pem -out cert.pem
위 명령어를 입력하고, 뒤따라 나오는 정보들을 입력하여,
.pem
파일을 생성합니다.- 에서 생성한 config 파일 수정
1
$ vi /home/[USERNAME]/.jupyter/jupyter_notebook_config.py
위까지 완료하게 되었으면, 주피터 서버를 열고,1
2
3
4
5
6// config 파일에 다음의 내용을 추가합니다.
c = get_config()
c.NotebookApp.ip = '내부아이피주소'
c.NotebookApp.open_browser=False
c.NotebookApp.password='3에서 생성한 비밀번호 해쉬 sha1:~'
c.Notebook.certfile='4에서 생성한 .pem 파일 경로 /home/USERNAME/cert.pem'https://외부아이피:8888
로 주피터를 접속 하는 것을 확인하시면 되겠습니다.
- 에서 생성한 config 파일 수정
[GCP] Computing Engine 환경설정