내일배움캠프/내일배움캠프 TIL

내일배움캠프 TIL 55일차 - 배포에서 RDS(MySQL)사용하기

sogummi 2023. 5. 29. 17:20

프로젝트 배포할 때 이번에는 AWS RDS(Relational  Database Serviece)를 사용하여 DB를 외부 DB로 데이터를 관리하기로 했음 

1. RDS 인스턴스를 생성하고

2. '데이터베이스 생성' 버튼 클릭하고 엔진 옵션 MySQL을 클릭 

3. 템플릿 - '프리티어' 선택

4. 설정 - 밑줄 친 부분 모두 기억해두기 

5. 인스턴스 엔진 옵션 'db.t2.micro' 로 설정 (돈 절약)   

6. 스토리지 설정 - 체크 풀어주기 

=> 스토리지 자동 조정 기능은 DB여유공간이 부족해지면 자동으로 스토리지를 늘려주는 기능인데 과금을 방지하기 위해 체크 풀어주기 

7. 퍼블릭 액세스 '예' 체크, 필요 시 보안그룹 인바운드 및 아웃바운드 트래픽 규칙을 정의하여 필요한 IP 주소와 포트에 대한 액세스를 제한

8. 초기 데이터베이스 이름 설정해주기 

 

 

 

+)  
db를 바꾸었을 때 dotenv가 로드되지 않는 원인.. 

.env파일에 시크릿 키를 생성해서 settings.py에서 로드하기 때문에 
manage.py 에서 dotenv 로드  <- 원인! 

기존 : runserver 시에는 manage.py 실행을 시키기 때문에 정상적으로 로드가 된다

현재 : runserver대신 gunicorn을 서버로 사용하기 때문에 이러한 에러가 발생함 gunicorn은 manage.py를 실행시키지 않는다.
gunicorn에서 dotenv로드하게 하면 해결
settings.py에서 

import dotenv 
dotenv.read_dotenv('/home/ubuntu/recipe_soup')