[개발][환경설정]AWS 서버에 Jupyter 설정

in kr •  7 years ago 

개요

AWS 서버에 Jupyter Notebook 을 설치 하고 외부에서 접속 가능하게 만들어 웹으로 python을 개발 하고 테스트를 하고 싶다.
회사에서 새로운 방화벽을 설치 후 안되는 사이트가 많아 졌다. 심지어 steemit 까지도...
그 대안으로 선택한게 AWS EC2 서버 ( 가입후 1년은 프리티어 버전이 무료이다. ) + Jupyter Notebook 이다.

Step.1 AWS EC2 설정

EC2 서버를 Ubuntu 프리티어로 생성.
생성시에 네트워크 보안 그룹을 지정해야 된다.
보안 그룹이란 방화벽 개념으로 열어줘야 할 프로토콜/IP/PORT 를 지정해 줄수 있다.
보안 그룹은 데쉬보드에서 미리 만들수 있다.
아래는 필자가 설정한 보안 그룹 인바운드 ( EC2 서버로 들어올수 있는 ) 규칙이다.

AWS_규칙.PNG

EC2 서버는 SSH 로 접속할 때 ID/PW 가 아닌 확장자가 pem 인 프라이빗 키 파일을 가지고 로그인한다.

이 키 파일과 주소만 알면 접속이 가능하니 해당 파일은 관리가 필요하다.

ssh -i "my_key.pem" [email protected]

Step2. python 환경 설치

steem 모듈을 설치해서 간단한 API 시험이 목적이다.
steem 모듈은 python3.6 버전을 따로 설치 해야 한다.

python 3.6 및 기본 프로그램들 설치

ubuntu 는 apt-get 이라는 프로그램으로 페키지를 관리 하는데 python3 는 3.5 가 최신이다.
새로운 repository 를 등록 하고 시스템에 3.6 버전을 연결한다.

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get -y install python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
sudo update-alternatives --config python3

부수적인 프로그램들 설치

sudo apt-get install -y python3-pip
sudo apt-get install -y python3.6-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y gcc
sudo apt-get install -y virtualenv

아래와 같이 한번에도 설치 가능하다.

sudo apt-get install -y python3-pip python3.6-dev libssl-dev gcc virtualenv

Step3. jupyter

jupyter 설치

steem_venv 환경을 활성화 시킨후 pip 를 실행 시킨다.

pip install jupyter

jupyter 환경 설정

config 파일을 생성.

jupyter notebook --generate-config

/home/ubuntu/.jupyter/jupyter_notebook_config.py

해당 위치에 jupyter_notebook_config.py을 열어 편집.

pw 설정

python 실행 아래의 내용 입력

from notebook.auth import passwd
passwd()

Enter password:
Verify password:

사용할 PW 를 입력하면 암호화된 값이 나온다.

'sha1:f24baff49ac5:863dd2ae74721fffffffffffffffff0ca7b12bb3'

위의 값을 복사하여 jupyter_notebook_config.py 에 붙여 넣기

# Password to use for web authentication
c = get_config()
c.NotebookApp.password = u'sha1:f24baff49ac5:863dd2ae74721fffffffffffffffff0ca7b12bb3'

외부접속을 위한 IP / PORT 설정

자신의 IP 를 알아본다.

ifconfig | grep inet | grep -v inet6 | grep -v 127.0.0.1

위에 결과에서 addr: 뒤의 값을 복사하여 jupyter_notebook_config.py 에 붙여 넣기

# The IP address the notebook server will listen on.
# c.NotebookApp.ip = 'localhost'
c.NotebookApp.ip = '11.111.111.131'
c.NotebookApp.port_retries = 1111 

jupyter notebook 실행시 브라우져 안뜨도록 설정

c.NotebookApp.open_browser = False

jupyter notebook 디폴트 디렉토리 설정 ( full path 로 설정 )

c.NotebookApp.notebook_dir = u'/ubuntu/steem/'

jupyter 실행

jupyter notebook&

http://ec2-11-11-111-111.ap-northeast-2.compute.amazonaws.com:1111

웹브라우져로 접속 하여 화면이 뜨면 성공.

PW 입력 화면나오면 아까 입력 한 값으로 로그인.

Next Step

  • steem 모듈 로딩
  • steem 기본 정보 가져오기
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

와..저는 도저히 알 수 없는 전문적인 내용..ㅎ
아무튼 행복한 하루 되시길 바랍니다^^

전문적인 내용이라 하기에는 부끄러움이 있네요 ^^ 일상이 시작 되는 월요일입니다. 화이팅~!!

한주의 시작!
따뜻한 커피한잔으로 시작해요~^^