[개발][환경설정]AWS 서버에 Jupyter 설정
개요
AWS 서버에 Jupyter Notebook 을 설치 하고 외부에서 접속 가능하게 만들어 웹으로 python을 개발 하고 테스트를 하고 싶다.
회사에서 새로운 방화벽을 설치 후 안되는 사이트가 많아 졌다. 심지어 steemit
까지도...
그 대안으로 선택한게 AWS EC2 서버 ( 가입후 1년은 프리티어 버전이 무료이다. ) + Jupyter Notebook 이다.
Step.1 AWS EC2 설정
EC2 서버를 Ubuntu 프리티어로 생성.
생성시에 네트워크 보안 그룹을 지정해야 된다.
보안 그룹이란 방화벽 개념으로 열어줘야 할 프로토콜/IP/PORT 를 지정해 줄수 있다.
보안 그룹은 데쉬보드에서 미리 만들수 있다.
아래는 필자가 설정한 보안 그룹 인바운드 ( EC2 서버로 들어올수 있는 ) 규칙이다.
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 기본 정보 가져오기
와..저는 도저히 알 수 없는 전문적인 내용..ㅎ
아무튼 행복한 하루 되시길 바랍니다^^
전문적인 내용이라 하기에는 부끄러움이 있네요 ^^ 일상이 시작 되는 월요일입니다. 화이팅~!!
한주의 시작!
따뜻한 커피한잔으로 시작해요~^^