TIL - AWS RDS데이터베이스 서버와 EC2서버 구축

Heechul Yoon·2020년 3월 6일
0

LOG

목록 보기
26/62

RDS서버 구축

아마존에서 제공하는 데이터베이스 서버인 RDS를 생성해서 내 로컬데이터베이스를 옮겨넣어보자.

RDS생성

여기를 참고하여 RDS서버를 생성하고 데이터베이스 플랫폼 종류를 선택한다. 여기서는 MySQL을 다루도록 하겠다.

로컬데이터베이스 RDS 데이터베이스에 넣기

  1. 내 데이터베이스에 있는 정보를 파일로 뽑아낸다.
mysqldump -u root -p foodlies > rdsfoodly.sql

왼쪽이 내 mysql데이터베이스의 이름이고 오른쪽이 뽑아낼 정보를 저장 할 백업 파일이다.

확인해보면 위와같이 rdsfoodly.sql파일이 홈에 저장되었다. 리눅스라 확장자를 굳이 적어주지 않아도 되지만 구분을 위해 적어준다.

  1. 저장한 파일을 읽어들여 rds에있는 mysql 데이터베이스에 저장시켜보자.
mysql -h MYRDS -u root -p rdsfoodly < rdsfoodly.sql

rdsfoodly라는 리모트 데이터베이스에 rdsfoodly.sql파일의 내용을 넣어주는 명령어이다. <표시를 통해서 쉽게 구분할 수 있다.

데이터가 성공적으로 들어갔음을 확인 할 수 있다.

EC2서버 구축

AWS에서 제공하는 서버인 EC2서버에 내 프로젝트를 올려보자. 서버의 생성부분은 링크된 페이지를 참조하도록 하자.

EC2 인스턴스(instance) 접속

개인프로젝트용 서버이기 때분에 여기를 참고하여 과금이 되지 않는 옵션을 선택하여 EC2 서버를 생성한다.

asw에서 내 instance IP주소를 확인하고 내 ec2인스턴스로 접속해보자.

ssh -i MyKeyPairPath ubuntu@13.125.65.46

위와같이 여기에서 만들었던 keypair가 생선된 경로로 ssh접속을 해준다.

가상환경

여기를 참고하여 가상환경 생성을 위해 Miniconda를 설치한다.

conda create -n my_env 
conda activate my_env

가상환경을 생성하고 접속한다.

github clone

설정된 가상환경에 들어가서 깃허브 클론을 해보자.

>> git clone my_project_url

내 프로젝트를 깃허브에서 클론하고 클론한 프로젝트로 들어간다.

>> pip install -r requirements.txt

미리 설정해둔 requirements.txt 파일이 있다면 읽어서 가상환경에 프로젝트에 필요한 install을 해주고 requirements파일이 없다면 직접 pip install을 해주면 된다.

내 django 프로젝트 서버 실행

python manage.py runserver 0:8000

로컬서버에서 하던데로 서버를 실행해준다. 다른 아이피에서 접속이 가능하도록 하기 위해서 coresheaders 세팅을 미리해둔다.(coresheaders세팅에 관련해서는 포스팅을 따로 하지않음)
이렇게 runserver로 프로젝트 서버를 여는 경우 내 컴퓨터의 백그라운드에 서버가 떠있는 것이 아니고 서버가 내 터미널에 국한된다. 서버를 백그라운드에 열어두고 내가 컴퓨터를 꺼도 프론트앤드 서버에서 내 백앤드 서버와 HTTP통신을 할 수 있도록 할 필요가 있다.

서버를 백그라운드에서 run되게 하기 위해서 gunicorn을 사용해주자.

pip install gunicorn

gunicorn --bind 0:8000 foodly_project.wsgi &

위와같이 gunicorn접속을 통해서 내 내 백엔드서버가 백그라운드에서 오픈되었다.

ps -ef | grep python

grep을 통해서 현재 run되어있는 프로세스를 알아보자

위와같이 내 프로젝트 서버가 실행되어 져 있음을 확인 할 수 있다.
이제 내 프로젝트로 포스트맨을 통해서 request를 보내보자.

내 EC2서버 ip + 8000 port + end-point경로 의 조합에 GET request를 보낸 결과 데이터가 성공적으로 들어왔음을 확인 할 수 있다.

이제 실행되어진 내 프로젝트 서버를 kill명령어를 통해서 중단시켜보자.

kill 11133

이제 백그라운드에 있는 내 서버가 중단되었다.

profile
Quit talking, Begin doing

0개의 댓글