Tuesday, October 22, 2013

working environment within EC2 of amazon

요 몇일 테스트 할만한 amazon의 ec2 서버 환경을 만들려고 뻘짓했는데
최종적인 setting procedure 기록한다.

아래 내용은 window 환경에서 amazon의 EC2 서버에 접속해서 일함을 가정한다.

1. ec2 instance 생성
=> instance os 종류가 많은데 경험상 ubuntu server 버젼이 젤 사용하기 편하다(python package install 을 기준으로). key pair를 생성하고 이를 로컬 컴퓨터에 저장(그리고 테스트 하다 보면 instance를 여러개 만드는 경우가 있는데 delete 옵션이 없음, 대신 terminate 라는 것이 있는데 구글링 결과 terminate 하게 되면 특정 시간이 지나면 알아서 없어진다는 것 같음).

2. putty setting
일반적으로 사용하는 putty는 amazon에서 제공하는 pem 을 인식할수 없기에 puttygen을 이용해서 ppk 파일로 변환 생성해야 한다.
public DNS 사용해서 접속.
중요한건 id를 알아야 한다. 구글링하면 ec2-user니 user 니 뭐 이런 id 라고 하는데 내 경험상 key name과 동일하게 id 생성되고 이로 접속해야 한다. id 를 모르겠다면 root로 접근하면 특정 id로 접근하라고 경고 메시지가 나오는 참고.

3. pandas & django install
sudo yum update. ubuntu의 경우 기본적으로 python2.7.3 을 사용하기에 따로 2.7 버젼을 깔필요 없음. 
단순하게 "sudo apt-get install python-pandas", "sudo apt-get install python-django" 명령어 이용(혹은 sudo apt-get install python-setuptools  이 후 sudo easy_install 을 사용). django는 1.3.1 이 깔리는데 이는 "sudo easy_install --upgrade django" 로 version update 가능.

4. django port & access setting
http://thomas.broxrost.com/2008/08/21/persistent-django-on-amazon-ec2-and-ebs-the-easy-way/ 참조
ec2 management console 의 security group에서 inbound에 8000 port 추가 (apply rule change 꼭 클릭). 그뒤 sudo python manage.py runserver x-xx-xxx-51-60.us-west-2.compute.amazonaws.com:8000 로 django 서버 실행. 그 뒤 나오는 http url로 접속