TIL. 13 AWS EC2, RDS 사용

Hoontae.KIM·2021년 8월 16일
0
post-thumbnail

AWS RDS Mysql로 이동하기

기존 로컬 mysql에 있는 데이터베이스를 AWS RDS mysql로 이동하기 위해서는 mysql데이터 베이스를 파일화 시켜서 옮길 수 있는 mysqldump라는 명령어를 사용해 보았습니다.

1. mysql db 가져오기

mysqldump -u root(사용자아이디) -p 데이터베이스명 > 파일.sql

2. AWS mysql로 옮기기

mysql -h RDS 엔드포인트 -u root(사용자아이디) -p 데이터베이스명 < 파일.sql

EC2, RDS사용 연결 순서

  • 터미널에 ssh 접속
    ssh -i 파일명.pem ubuntu@퍼블릭 ip주소
  • 미니콘다 설치 (ubuntu이기에 linux로 설치!) 기존설치했을때와 동일
  1. wget https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
  2. chmod +x Miniconda3-py39_4.9.2-Linux-x86_64.sh
  3. source .bashrc source
  4. 가상환경 생성 후 접속하기
  1. cat requirements.txt
  2. pip install -r requirements.txt
  3. pip freeze
  • setting.py에 ALLOWED_HOSTS퍼블릭ip주소, 퍼블릭ip:8000 추가
  • my_settings.py 생성, 기존 내용 복사 붙여넣기 후 PASSWORD, HOST:엔드포인트로 변경
  • python manage.py runserver 0:8000 동작 후 확인
  • postman으로 퍼블릭ip 주소 입력 후 테스트

gunicorn

장고에서 쓰는 manage.py runserver 명령어는 단일스레드로 동작하여 개발 및 테스트로는 적당하지만 request가 많을 수 있는 운영환경에서는 적합하지 않을 수 있어서 멀티스레드를 지원하는 gunicorn 설치하여 배포해보자.

gunicorn 설치 - pip install gunicorn
안된다면 - sudo apt-get install gunicorn
gunicorn 명령어 (꼭 가상환경에서 사용)

  • 백그라운드 사용 x
    gunicorn --bind=0.0.0.0:8000 데이터베이스명.wsgi
  • 백그라운드 사용 o
    nohup gunicorn --bind=0.0.0.0:8000 데이터베이스명.wsgi &
  • 사용확인
    ps -ef | grep python
  • 연결끊기
    kill PID
profile
💻 STUDY RECORD

0개의 댓글