오늘의 인기 글
최근 글
최근 댓글
Today
Total
12-19 02:04
관리 메뉴

우노

[AWS EC2] Jupyter Notebook 개발환경 구축하기 본문

AWS/EC2

[AWS EC2] Jupyter Notebook 개발환경 구축하기

운호(Noah) 2020. 11. 15. 19:39

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

참고

Comments