ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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:3306

    3306번 포트로 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이 있는지 확인! 

     

    성공! 

     

    반응형

    댓글

Designed by Tistory.