쏴아리의 딥러닝 스터디

AWS EC2에 Jupyter Notebook 서버 설치하기 본문

AWS

AWS EC2에 Jupyter Notebook 서버 설치하기

말해보시개 2021. 7. 4. 20:20

AWS EC2에 Jupyter Notebook 서버 설치하기

 

안녕하세요. 쏴아리입니다.

오늘은 AWS EC2에 Jupyter Notebook 서버를 설치하고 Local 컴퓨터에서 접속하는 방법을 포스팅 하겠습니다. 

이번 포스팅은 AWS EC2 인스턴스가 생성되어있음을 가정하고 EC2에 Jupyter Notebook 서버를 설치하는 방법을 다룹니다. AWS EC2 인스턴스를 설치하는 방법은 다음 포스팅을 참고해주세요.

 

2021.04.25 - [AWS] - AWS EC2 인스턴스 생성방법

 

AWS EC2 인스턴스 생성방법

AWS EC2 인스턴스 생성방법 EC2는 AWS에서 사용하는 서버입니다. EC2 instance에 API를 배포하는 용도 등 다양하게 활용할 수 있습니다.  EC2 인스턴스 생성하기 1. AWS EC2 페이지 접근 AWS Management Consol..

deepmal.tistory.com

 

 

 AWS EC2에 접속하기 

AWS EC2에 접속합니다. AWS EC2 인스턴스 Summary 페이지에서 Connect 버튼을 클릭 하면, Example에 윈도우의 Cmd에서 AWS EC2에 접속하는 명령어가 소개되어있습니다. 

관리자 권한으로 Cmd를 실행 한 뒤, Pem 파일이 있는 위치에서 Example에 있는 명령어를 실행하면 AWS EC2에 접속이 가능합니다.

 

 

 AWS EC2 인스턴스에서 Jupyter Notebook 설치하기 

  

AWS EC2에서 Jupyter Notebook을 apt를 이용하여 설치할 것입니다.

따라서 다음 명령어로 update를 해줍니다.

$sudo apt-get update

 

AWS EC2의 Ubuntu LTS 18.04에는 Python3가 설치되어있습니다. 

Python3와 관련된 pip을 설치합니다. 

$sudo apt-get install python3-pip

 

설치된 pip3를 활용하여 jupyter notebook을 설치합니다. 

$sudo pip3 install notebook

 

 

 AWS EC2 인스턴스에 Jupyter Notebook 서비스 돌리기

Jupyter 비밀번호를 설정하기 위해 python3를 실행합니다.

$python3

 

다음 Python code를 실행하여 password를 설정합니다. 

>>> from notebook.auth import passwd
>>> passwd()

password 설치 후, 생성된 코드 "argon2: ~~~"를 메모장에 복사해 둔 뒤, exit() 명령어를 통해 Python3에서 나갑니다. 

>>> exit()

 

jupyter 환경설정을 하는 과정입니다. 

$jupyter notebook --generate-config

 

vi 에디터를 이용하여 환경설정 파일을 열고 수정하겠습니다.

$sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py

A버튼을 누르면 수정 모드로 변경됩니다. 

가장밑에 다음과 같이 수정합니다.

  • c.NotebookApp.password = u를 앞에 입력하고, 메모장에 저장해 두었던 코드를 복사합니다.
    • 예) c.NotebookApp.password = u'argon:qwertyuiopasdfghjklzxcvbnm'
  • c.NotebookApp.ip = AWS EC2의 Private IP를 입력합니다. 
    • 예) c.NotebookApp.ip = '123.42.67.890'
c = get_config()
c.NotebookApp.password = u'argon:~~~'
c.NotebookApp.ip = "AWS Private IP"
c.NotebookApp.notebook_dir = '/'

 esc를 누른 뒤 wq!를 입력하면 vi에디터를 저장하고 종료할 수 있습니다. 

 

다음 명령어를 통해 jupyter notebook 서비스를 실행합니다. 

$sudo jupyter-notebook --allow-root

8888포트로 jupyter notebook 서버가 열린것을 확인할 수 있습니다. 

AWS EC2 보안그룹에서 인바운드 규칙 편집을 통해 8888포트 방화벽을 열어줍니다. 

 

Local에서 AWS EC2 Public IP의 8888포트로 접속하면 jupyter notebook을 실행할 수 있음을 확인할 수 있습니다. 

예) http://123.45.67.890:8888

 

AWS EC2 bash로 돌아와 Ctrl + Z를 누른뒤 다음 명령어를 통해 백그라운드로 돌릴 수 있게 하고 소유권을 포기하게 되면 AWS 인스턴스가 항상 실행중인 상태로 둘 수 있습니다. 

$bg
$disown -h

 

 

 

같이 보시면 좋아요.

 

포스팅 내용이 도움이 되었나요? 공감과 댓글은 큰 힘이 됩니다!

Comments