본문 바로가기
DevOps/CI_CD

[CI/CD] CI/CD 구현하기 jupyter 구동 시스템 (3)

by 개발이 체질인 나그네 2022. 4. 13.
반응형

 

 

저번 시간에는 AWS 의 Ubunto서버를 구축했습니다.

 

현재 우분투에 접속 하기 위해선, 키 페어를 가지고 있는 PC에서만 접속이 가능하며, 터미널이 있는 곳에서 ssh를 통해 접속할수 있습니다.

 

Jupyter에는 웹에서도 터미널을 사용 할 수 있는 기능이 있습니다.

그리고, 비밀번호를 통해 웹페이지에 접근 할 수 있도록 웹서버를 만들 수 있습니다.

 

더 이상 키페어가 없어도, 설정한 비밀번호로 내 우분투 서버로 접속 할 수 있습니다.

 

 

 

 

먼저 내 우분투 서버에 접속 해주세요.

위 사진 처럼 내 키페어가 있는 폴더에서 코드를 실행 시켜줍니다.

 

sudo apt-get update

접속 후, 위 코드를 입력하여 우분투 패키지 툴을 다운 받아주세요.

 

apt-get(Advanced Packaging Tool)은 우분투(Ubuntu)를 포함안 데비안(Debian)계열의 리눅스에서 쓰이는 팩키지 관리 명령어 도구입니다. 우분투에는 GUI로 되어 있는시냅틱 꾸러미 관리자도 있기는 하지만 이런 저런 개발관련 패키지를 설치할 때는 커맨드기반인 apt-get이 더 편하기도 합니다. sudo는 superuser권한으로 실행하기 위함입니다.

 

 

python3
...
exit()

sudo apt-get install python3-pip

설치가 끝나면 python3 를 입.하여 파이썬이 같이 설치가 되었는지 확인해주세요.

우분투는 기본적으로 파이썬이 같이 설치가 되어있습니다.

 

설치가 된걸 확인 했다면, exit()를 입력하려 나와주시고,

python3-pip를 설치해주세요

 

python3-pip란

파이썬 개발 환경에 패키지 라이브러리를 설치하기 위해서 pip라는 명령어를 사용하게 됩니다.

우분투의 apt-get, 맥OS의 brew, Node.js의 npm 같은 역할이라고 생각하시면 됩니다.

 

sudo pip3 install notebook

 

pip3 설치가 끝나면 위 코드를 입력하여 Jupyter-notebook를 설치해 줍니다.

 

 

python3
...
from notebook.auth import passwd

Jupyter-notebook설치가 끝나면 다시 Python3을 실행시켜주고,

Jupyter에 비밀번호를 설정해주는 passwd를 실행 시켜줍니다.

 

passwd('[주피터에 접속할 비밀번호]','sha1')

위 코드를 통해 주피터의 비밀번호를 설정해주시면 

SHA1 암호 알고리즘을 통해 암호화된 값이 나타나게 됩니다.

'sha1: ~~'  이 부분을 복사하여 메모장에 잘 적어두시기 바랍니다.

 

 

exit()

jupyter notebook --generate-config

exit()를 통해 파이썬에서 나와주고, 위 코드를 통해 쥬피터 노트북을 관리 할 수 있는 config파일을 만들어 줍니다.

 

 

sudo vi /home/ubunto/.jupyter/jupyter_notebook_config.py

위 코드를 눌러 해당 폴더를 열어주세요.

 

그리고 맨 아래로 내려와서 'a'를 눌러주면 해당 폴더를 수정 할 수 있는 상태가 됩니다.

 

C = get_config()
C.NotebookApp.password = u'[아까 저정해둔 sha1:...]'
C.NotebookApp.ip = '[AWS에서 제공한 프라이빗IPv4]'
C.NotebookApp.notebook_dir = '/'

// esc -> :wq! -> enter

만들어둔 config파일에 위 내용을 추가해주시고, 저장해주시면 됩니다.

저장하는 방법 : esc -> :wq! -> enter 

 

sudo jupyter-notebook --allow-root

위 코드를 실행 시켜 우분투 서버에 쥬피터를 실행 시켜주세요.

 

 

 

위 사진 순서대로 AWS 인스턴스로 다시 돌아와 인바운드 규칙을 추가해줄겁니다.

이때 8888포트를 열고, 모든 사람들이 접근 할 수 있도록 설정 해두겠습니다.

 

 

그리고 개방된 주소:8888 로 접속하게 되면 쥬피터가 우분투 서버에서 돌아가는걸 확인 할 수 있습니다.

 

 

 

쥬피터에 설정해둔 비밀번호를 입력 후, 접속하게 되면, 웹에서 해당 서버의 터미널을 사용할 수 있습니다.

이 처럼 우리는 이제, 키페어가 있는 컴퓨터의 터미널에서 뿐만 아니라, 다른 환경에서도 해당 서버로 접속 할 수 있습니다.

 

현재 켜둔 터미널을 끄게 되면 서버도 같이 꺼지게 되니, 터미널에서 8888포트로 연 서버에 대한 권한을 포기하고,

백그라운드에서 계속 실행 될 수 있도록 하겠습니다.

 

 

//control + z

bg
disown -h

 

이렇게 해두면 터미널이 꺼져도 주피터가 실행되는 서버는 계속해서 백그라운드에서 돌아가게 되니,

더이상 터미널에서 서버에 접근할 필요가 없습니다.

 

 

반응형

댓글