Data Engineering/AWS

aws 서버에서 Jupyter Notebook 설치, 웹브라우저에서 항상 실행유지되는 법

이유즈 2021. 3. 19. 15:16
728x90

aws 서버 가동법은 aws 카테고리의 다른 글에 나와있습니다. 이번 글은 그 서버를 활용해 주피터 노트북 설치까지 알아보는 글입니다. 

 

 

 

이 글 목표 : 주피터를 이용해 서버의 외부에서 해당 서버의 웹브라우저를 이용해 접속 할수 있게 설정 완료 후,

                 보안을 위해 주피터 접속을 위한 보안 비밀번호 설정

 

 

 

 

 

 

notebook.auth 라이브러리 이용

주피터에는 해시 알고리즘을 이용해 비밀번호를 기록할 수 있게 해줌.

그래서 파이썬을 이용해 notebook.auth 라이브러리 이용!

 

내가 설정한 비밀번호가 해시값으로 나오는 것 확인 가능. 복붙해서 메모장에 올려놓고 사용하기. 

(외부에서 서버에 접속 했을 때 비밀번호 입력해야 우리 서버에 입장할 수 있도록 하기 위해 비밀번호 사용)

 

 

1. 주피터 환경설정하기 

환경설정 파일을 만들기 위해 

jupyter notebook --generate-config 입력해주기! ==> 환경설정 파일 만들어줌. (완료 시 환경설정 경로 반환)

 

그 후 파일에 들어가 vi 편집기로 

1-1)  환경설정 객체 get_Config() 넣어주고

       위에서 메모장에 넣어놨던 비밀번호 해시값을 그대로 넣어주기.

       마지막으로 ip 설정 위해 서버의 내부아이피 넣어주기.

       notebook_dir 설정해주기

 

 

 

 

 

<주피터 실행부터 항상 웹브라우저에서 실행할 수 있게 하기>

 

2. 주피터 실행해보기

밑의 sudo~ 문으로 들어가기 root 권한으로 들어갔다. 

 

8888포트로 주피터노트북 서버가 열린 것 확인 가능!

 

 

AWS 로 돌아가서 -> 보안그룹 -> 인바운드 규칙 편집 ->  8888 포트를 추가해 방화벽처리로 누구나 접속할 수 있게 한다.

 

그 후 대시보드 -> 인스턴스 확인 후 -> 해당 ip (IPv4퍼블릭) 복사

해당아이피 : 8888 포트 추가해 접속한 것 확인 가능.

 

 

로그인해서 들어온 후 터미널을 띄우면 콘솔창과 완전히 똑같게 화면이 나오는 것 확인 가능!

 

 

 

 

 

3. 웹브라우저에서 항상 실행되게 만들기 

다만, 더 이상 SSH 비밀번호가 필요하지 않고 바로 웹브라우저에서 해당 서버에 접속할 수 있어 굉장히 편하다.

하지만 주피터노트북이 항상 실행되게 하기 위해 

콘솔 창에서 ctrl + z 눌러 잠시 중지시켜주고,

 

bg (백그라운드에서 돌아갈 수 있게 하고)

 

소유권을 포기하게 하는 명령어를 입력하면 항상 주피터가 실행중이게 됨!