우노
[AWS EC2] Jupyter Notebook 개발환경 구축하기 본문
AWS EC2 인스턴스 생성 및 접속
- AWS EC2 인스턴스 생성 및 접속 방법은 안다고 가정하고 진행 하겠습니다.
- 원하는 인스턴스 유형을 만들어 접속합니다.
- 테스트 환경에서는 m5.4xlarge / 16 / 64GB 를 사용했습니다.
AWS EC2에 주피터 노트북(Jupyter Notebook) 설치하기
sudo apt-get update -y
sudo apt-get install python3-pip -y
sudo pip3 install notebook
주피터 노트북(Jupyter Notebook) 비밀번호 설정 및 접속 환경 설정
주피터 노트북 비밀번호 설정
python3 >> from notebook.auth import passwd >> passwd() # 비밀번호 설정 후 암호화 된 값 비밀번호 기록해 놓기
주피터 환경 설정 파일 생성
jupyter notebook --generate-config sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
소스의 가장 아래 쪽에 다음과 같은 내용을 추가
c = get_config() c.NotebookApp.password = u'암호화 됐던 비밀번호' c.NotebookApp.ip = '사용할 IP' c.NotebookApp.notebook_dir = '시작디렉토리' c.NotebookApp.allow_origin = '*' # 암호화 됐던 비밀번호 : 주피터 비밀번호 생성시 암호화 됐던 비밀번호 # 사용할 IP : SSH로 접속했을 때 콘솔 창에 나오는 아이피 # 시작 디렉토리 : 주피터에 접속했을 때 확인하게 되는 시작 디렉토리 # allow_origin : 외부 접속 허용
주피터 노트북(Jupyter Notebook) 실행하기
이제 주피터 노트북 서버를 실행할 수 있습니다.
cd /home/ubuntu/.jupyter && jupyter notebook --config jupyter_notebook_config.py
EC2 방화벽 설정하기
- AWS EC2 관리 페이지에서 [보안 그룹] 설정을 통해 8888번 포트 방화벽을 개방할 수 있습니다.
- 기본적으로 AWS EC2는 보안을 위해 대부분의 포트를 막아놓습니다.
- 그래서 이와 같이 특정한 서버 프로그램을 운영할 때마다 보안 그룹 설정을 해주어야 합니다.
- 생성한 EC2 클릭 → 보안 → 보안 그룹 → 인바운드 규칙 편집 → 규칙 추가
- 유형 : 사용자 지정 TCP
- 포트 범위 : 8888
- 소스 : 위치 무관
EC2 서버에 접속해보기
- 이제 브라우저에서 EC2 IP:8888번 포트로 접속하시면 됩니다.
- 접속 이후, 위에서 설정한 주피터 비밀번호를 입력하면 접속 됩니다.
주피터 노트북 항상 켜놓기
이제 주피터 노트북을 항상 켜놓는 방법에 대해서 소개하겠습니다.
기본적으로 주피터 노트북을 실행하는 명령을 입력한 이후에 동작을 종료하고
bg 명령을 이용해 백 그라운드에서 돌아가도록 처리할 수 있습니다.
이후에 소유권을 포기하면 백 그라운드에서 항상 주피터 서버가 동작하는 상태가 됩니다.
이로써 항상 서버를 열어놓을 수 있습니다.
명령어는 다음과 같습니다.
cd /home/ubuntu/.jupyter && jupyter notebook --config jupyter_notebook_config.py # [Ctrl] + Z 입력하여 실행 종료하기 bg disown -h
참고
'AWS > EC2' 카테고리의 다른 글
[AWS EC2] Python3, pip3 설치 (0) | 2020.12.19 |
---|---|
[AWS EC2] SSH 접속 시 Permission Error 해결 방법 (0) | 2020.12.11 |
[AWS EC2] Reserved Instance(예약 인스턴스)란? (0) | 2020.10.05 |
[AWS EC2] Spot Instance(스팟 인스턴스)란? (0) | 2020.07.28 |
[AWS EC2] scp 파일/디렉토리 이동 (0) | 2020.07.02 |
Comments