# 실습목표
- Jupyter notebook의 SSL 적용
- Jupyter notebook을 Systemctl 에 등록하여 자동시작 하도록 설정
- Ctrl + z를 눌러서 커맨드 창으로 이동한다.
- bg 를 입력하여 방금 전 실행한 명령어가 백그라운드에서 실행되도록 설정한다.
- disown -h를 입력하여 실행권한을 넘긴다.
- 이렇게 등록하면 백그라운드에서 지속적으로 실행 되어진다.
- sudo netstat -nap | grep 8888로 8888 포트로 실행중인 애플리케이션을 확인한다.
- sudo kill -9 8572를 입력하여 강제로 프로그램을 종료한다. 8572는 pid로 프로그램 실행 id라고 보면된다.
- ssl을 적용하여, https로 접근, ssl을 적용하는 방법에 대해 알아보자.
- mkdir ssl을 입력하여 ssl 폴더를 생성한다.
- 위의 sudo~명령어를 입력하여 개인키 및 공개키를 생성한다.
- sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout "cert.key" "cert.pem" -batch
- 개인키 및 공개키를 생성 후 이전에 편집한 jupyter의 config파일을 연다.
- config 파일을 open한뒤 위의 certfile 및 key파일의 경로를 입력한다.
c.NotebookApp.certfile = u'/home/ubuntu/ssl/cert.pem'
c.NotebookApp.keyfile = u'/home/ubuntu/ssl/cert.key'
- config 파일을 저장한뒤, sudo jupyter-notebook --allow-root 명령어를 입력하여 다시 시작한다.
- 이제 https:로 접근이 가능하다.
- 이번에는 systemctl에 등록하여, 인스턴스가 재 시작되어도 자동으로 시작 되도록 하는 설정을 해보겠다.
- AWS의 인스턴스는 재부팅 시 퍼블릭 IP를 새로 받아오므로, systemctl에 등록해놓고 ec2가 실행될때 자동으로 실행되도록 구현해 놓으면 재부팅 되어도 재 설정할 필요가 없으므로 아주 편리하다.
- 위의 명령어를 입력하여 jupyter.service를 만든다.
- 위의 스크립트를 입력하여, 자동으로 실행되도록 구현한다.
[Unit]
Description=Jupyter Notebook Server
[Service]
Type=simple
User=ubuntu
ExecStart=/usr/bin/sudo /usr/local/bin/jupyter-notebook --allow-root --config=/home/ubuntu/.jupyter/jupyter_notebook_config.py
[Install]
WantedBy=multi-user.target
- 데몬을 재 시작하고, enable옵션을 통해 허용을 하고 서비스를 시작한다.
- status명령어로 애플리케이션이 정상적으로 실행이 됐는지 확인가능하다.
- 만약 서비스를 재시작 해야한다면 위의 명령어를 입력하여 재 시작한다.
- 이제 EC2 인스턴스를 중지 후 재시작 해도 언제든지 접근이 가능하다. ^^
'Applications > Jupyter Nodebook' 카테고리의 다른 글
jupyter notebook 설치 (0) | 2021.04.06 |
---|