Jupyter Lab을 원격 서버에서 실행하고 접속하는 방법
데이터 과학, 머신러닝, 그리고 다양한 연구 프로젝트에서 Jupyter Lab은 필수 도구로 자리 잡았습니다. 특히 원격 서버에서 무거운 작업을 처리하고자 할 때, Jupyter Lab을 원격으로 접속할 수 있는 방법은 매우 유용합니다. 이번 포스팅에서는 원격 서버에서 Jupyter Lab을 실행하고 원격으로 접속할 수 있는 방법을 단계별로 소개하겠습니다.
1. Jupyter Lab 설치
원격 서버에 Jupyter Lab을 설치합니다.
$ conda install -c conda-forge jupyterlab
만약 conda를 사용하지 않는 환경이라면 pip로 설치합니다.
$ pip install jupyterlab
설치에 대한 자세한 내용은 공식문서를 참고합니다.
2. Jupyter Lab 설정 파일 생성
기본 설정 파일을 다음 명령어를 통해 생성합니다.
$ jupyter lab --generate-config
이 명령어는 ~/.jupyter/jupyter_lab_config.py 파일을 생성합니다. 이 파일에서 Jupyter Lab의 다양한 설정을 할 수 있습니다.
3. Jupyter Lab 설정 변경
생성된 설정 파일을 열어 Jupyter Lab을 원격에서 사용할 수 있도록 몇 가지 항목을 수정합니다.
$ vi ~/.jupyter/jupyter_lab_config.py
모든 IP에서 접속 허용: 원격 접속을 위해 Jupyter Lab이 모든 IP에서 접속을 허용하도록 설정합니다.
c.ServerApp.ip = '0.0.0.0'
기본 작업 디렉터리 설정: Jupyter Lab이 시작될 때 기본으로 사용할 작업 디렉터리를 설정합니다. 예를 들어, /home/junho85/jupyterlab 디렉터리를 사용하려면 다음과 같이 설정합니다.
c.ServerApp.root_dir = '/home/junho85/jupyterlab'
브라우저 자동 실행 비활성화: 서버에서 Jupyter Lab을 시작할 때 로컬 브라우저가 자동으로 실행되지 않도록 설정합니다.
c.ServerApp.open_browser = False
포트 설정: Jupyter Lab은 기본적으로 8888번 포트를 사용합니다. 포트를 바꾸고 싶은 경우 설정합니다.
c.ServerApp.port = 8888
4. 비밀번호 설정
보안을 위해 Jupyter Lab에 접속할 때 비밀번호를 설정해야 합니다. 다음 명령어를 사용하여 비밀번호를 설정합니다.
$ jupyter server password
이 명령어를 실행하면 비밀번호를 입력하라는 메시지가 뜨며, 입력한 비밀번호는 자동으로 ~/.jupyter/jupyter_server_config.json 파일에 저장됩니다.
5. Jupyter Lab 실행
이제 Jupyter Lab을 원격 서버에서 실행할 수 있습니다. 다음 명령어를 사용하여 실행하세요.
$ jupyter lab
http://원격서버ip:8888 로 접속하면 비밀번호를 입력받는 화면이 나타납니다. 앞서 설정한 비밀번호를 입력하고 로그인합니다.
JupyterLab에 접속한 모습입니다.
6. 방화벽 설정 (필요한 경우)
서버에 방화벽이 설정되어 있다면, Jupyter Lab에 사용할 포트(예: 8888)를 열어야 합니다. 예를 들어, ufw를 사용하는 경우 다음 명령어로 포트를 열 수 있습니다.
$ sudo ufw allow 8888
이 과정을 통해 Jupyter Lab을 원격 서버에서 안전하게 실행하고 접근할 수 있습니다. 데이터 분석 및 머신러닝 작업을 원격에서 효율적으로 수행할 수 있게 되어 생산성이 크게 향상될 것입니다.
함께 보면 좋은 글
만약 WSL2에 JupyterLab을 설치한 경우 포트포워딩 설정이 필요할 수 있습니다.