AWS에 API 배포 (deploy key 생성)
* 이용하는 PUTTY 설정은 mozi.tistory.com/191
[AWS] EC2 인스턴스 Putty 로 접속하기
리눅스 환경이라면, ssh -i <파일> <서버IP> 옵션을 줘서 간단하게 접속할 수 있습니다. 윈도우 환경에서는 그럴수 없으므로 Putty 를 사용하여 EC2 인스턴스에 접속합니다. 접속하는 방법을 알아보겠
mozi.tistory.com
이것을 참고했습니다.
저번시간 코딩한 엔드포인트를 모두 깃허브에 잘 올렸으므로 이제
EC2 instance 에 배포를 할 것이다!
먼저 위의 블로그를 참고해 SSH 접속을 하고 deploy key 를 생성해야 한다.
deploy key : 서버에서 깃허브 코드를 받아 오기 위해서 사용. 깃허브용 read-only SSH key 라고 이해하면 쉽다.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
이렇게 생성! 후
deploy를 복사해서 깃허브의 원하는 저장소에 등록해줘야 한다.
cat ~/.ssh/id_rsa.pub
명령어를 실행하면 deploy key의 public key 가 화면에 출력된다. 그 값을 복사한 후 깃헙의 원하는 저장소에 가서 복사한 값을 넣도록 한다.
설정 완료!
키 추가한 후 EC2 에 SSH 접속 하고,
git clone 해 깃허브에서 api 코드를 받아온다.
그 후 ec2에도 콘다를 설치하고 .~/.bashrc 로 bash 설정을 다시 읽어 들임으로써 콘다가 PATH 에 추가되도록 한다.
그 후 파이썬 가상환경을 활성화해주고
nohup python setup.py runserver --host=0.0.0.0 &
nohup : 현재 SSH 세션이 종료되어도 해당 명령어는 계속해서 실행해 주는 명령어. 즉 서버에서 EXIT 해도 API는 계속 실행된다는 의미
& : 해당 명령어를 background mode로 실행시켜준다.
--host = 0.0.0.0 : host를 0.0.0.0 으로 지정해주어야 외부에서도 HTTP를 통해 접속할 수 있다.
CURL localhost:5000/ping
실행했을 때 pong 응답이 리턴되면 api 가 제대로 배포 된 것을 확인 가능~