-
django web container에서 AWS RDS 연동하기AWS 2021. 5. 16. 00:09
다음과 같은 순서로 진행한다.
1. AWS에서 RDS 인스턴스 생성하기
2. container 생성하고, django web 올리기
3. django의 RDS 연결 설정하기
1. AWS에서 RDS 인스턴스 생성하기
1) RDS 파라미터 그룹 만들기
- 데이터 베이스에서 한글을 사용할 수 있도록, 파라미터 그룹을 생성한다.
- 생성 후, character 검색 -> utf8로 설정
2) RDS 인스턴스 생성
- 필자는 프리티어 옵션을 사용하므로 프리티어 템플릿을 선택하고
마스터 사용자 이름, 마스터 암호는 db에서 사용할 것이므로 따로 기억한다.
- 로컬 컴퓨터에서 작업할 것이므로 퍼블릭 엑세스를 설정
- 자동 백업은 꺼준다.
3) 보안그룹 설정
- 인바운드 규칙을 편집하여 외부에서 접근할 수 있게 설정
- 유형은 MYSQL/Aurora를 선택, 소스는 위치 무관으로 선택
- 인바운드 규칙이 잘 설정되어 있는지 확인하기 위해 외부에서 접속한다.
mysql -h [엔드포인트] -u [사용자명] -p
2. container 생성하고, django web 올리기
docker run -it --name django-container -p 8000:8000 sjoh0704/django:latest /bin/bash
-p 8000:8000
8000번 포트로 local django를 배포하기 위해 컨테이너의 8000번 포트와 호스트의 8000번 포트를 연결
-p 3306:33063306번 포트로 mysql을 이용하기 위해 컨테이너의 3306번 포트와 호스트의 3306번 포트를 연결해주지 않아도 된다. docker에서 나가는 트래픽은 신경써주지 않아도 되기 때문
3. django에서 RDS와 연결하기
1) DATABASE 생성하기
django와 연결할 db를 생성한다. 이름을 test라 하자.
잘 생성되었음을 확인
2) container 내부 설정
mysql과 커넥팅하기 위해 pymysql 모듈 설치
pip install pymysql
3) django 설정
settings.py에 추가
이후 settings.py에서 database의 디폴트 설정을 다음 형식에 맞게 바꾸어줌
django 설정을 마친 후, 다음 커맨드로 db를 연동해준다.
python3 manage.py makemigrations python3 manage.py migrate
이후, test database에 들어가 django에서 생성한 Table이 있는지 확인!
성공!
반응형'AWS' 카테고리의 다른 글
AWS Storage 정리 (0) 2021.07.03 AWS VPC 실습 (feat. NAT, IGW, Routing table) (0) 2021.07.01 Cloud Watch를 이용한 EC2 CPU Utilization Alarm 생성 (0) 2021.06.21 AWS 용어 정리 1 (0) 2021.06.20 AWS 인스턴스에 docker container 형태로 django web 배포하기 (0) 2021.04.06