Docker & AWS & Jenkins 02

김수민·2020년 3월 22일
0

강의 출처 : 동빈나님 유튜브 강의 링크

도커(Docker) 활용 및 배포 자동화 실전 초급 ② - Jupyter Notebook 설치, HTTPS 적용, 시스템 서비스 설정하기

putty로 ssh 접속만 해보았지 jupyter Notebook은 들어본 적도 없다.

말이 gui환경이지 사실 putty로 접속하는 것과 큰 차이점은 없는데, 그래도 브라우저 환경에서 작업한다는 것과 새탭에 빠르게 termial을 새로 띄우는 것, 파일 목록을 탐색기 처럼 볼 수 있는 것, 간단한 편집을 직접할 수 있는 것 등등.. 편한 것 같다.
그 짧은 시간안에 SSL 연결까지 하는 강의 클라스 ㄷㄷ

Jupyter Notebook 설치

ubuntu와 centos는 다르다. 구체적으로 무엇이 다른지는 잘 모르겠다.
apt 대신 yum을 쓴다.
centos는 python3가 안깔려있기 때문에 깔아준다.

그리고 pip3를 이용해서 juypter-notebook 패키지를 설치한다.

pip3 install notebook

Jupyter Notebook 비번 설정

python3 콘솔을 실행시키고, notebook패키지에 있는 passwd함수를 사용하여 jupyter notebook에서 사용할 비번의 해쉬값을 얻는다. -> jupyter notebook을 실행시키고 로그인할 때 붙여넣기 해서 쓴다.

Jupyter Notebook 환경 설정

아래 경로에 config.py 파일을 생성한다.

/home/ec2-user/.jupyter/jupyter-notebook-config.py

위 단계에서 얻은 비밀번호 해쉬 값으로 -> 비번 설정
aws ec2 머신의 ip설정

Jupyter Notebook 실행

sudo jupyter-notebook --allow-root

기본적으로 8888포트로 실행된다.

AWS EC2 inbound port 개방

8888포트 개방하고 public IP로 접속하면 jupyter notebook이 잘 뜬다.
아까 설정한 비밀번호를 치면 로그인 된다.

Jupyter Notebook ssl 설정

openssl을 활용해 사설인증서를 만든다.
그리고 jupyter config.py에 공개키와 개인키를 설정한다.

Jupyter Notebook system service 등록

인스턴스 재부팅시에도 jupyter notebook이 자동 실행 되도록,
linux system service에 등록한다.

  1. whice jupyter-notebook
    : /usr/local/bin/jupyter-notebook

  2. system service 파일 생성

sudo vi /etc/systemd/system/jupyter.serivce
  1. sysyem service 설정
[Unit]
Description=Jupyter Notebook Server

[Service]
Type=simple
User=ec2-user                                               ExecStart=/usr/local/bin/jupyter-notebook --allow-root --config=/home/ec2-user/.jupyter/jupyter_notebook_config.py                                                               [Install]                                                   WantedBy=multi-user.target 

=> 오타나지 않게 잘 치자.. 그리고 centos에서는 ExecStart부분에 /usr/bin/sudo를 안붙여야지 돌아간다. 이것때문에 1시간 날림

jupyter service 실행

sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter # 초록불이 들어오면 서비스 등록 성공

이제 aws ec2인스턴스를 재시작해도 자동으로 jupyter service가 실행된다.

profile
python developer

0개의 댓글