[Django] AWS RDS(MySQL) 연동

koozzi·2020년 6월 1일
1
post-thumbnail

1. AWS RDS MySQL 구축하기

연결 - 추가 연결 구성

퍼블릭 액세스 기능에서 '예'를 선택해 준다. 지금은 로컬 Django 프로젝트와 AWS RDS에 연동하기 위함.

그 외 나머지는 다 그래도 둔 상태로 [데이터베이스 생성] 클릭.

2. MySQL Workbench - AWS RDS Connection 설정하기

Django와 RDS를 연동하기 전에 Workbench와 RDS를 먼저 연동하는 이유가 있다. 나중에 Django와 RDS를 연결한 후에, migrate를 실행하면 RDS에 auth, django와 관련된 새로운 테이블들이 새로 생기는데, workbench로 auth, django와 관련된 새로운 테이블들이 잘 생성되었는지 확인하기 위함이다.

Amazon RDS 콘솔에 들어가서 왼쪽에 위치한 [데이터베이스] 메뉴를 클릭하면 좀전에 생성한 데이터베이스가 있다. 그 데이터베이스를 클릭하면 세부 정보가 나오는데, Workbench와 연동하기 위해서는 필요한 것이 [엔드포인트]와 [포트]이다.

MySQL Workbench를 실행해보자.MySQL Connection옆에 '+' 버튼을 눌러서 새로운 Connection을 생성해보자.

새로운 Connection을 생성하기 위해서 'Hostname'과 'Username'을 입력해야 한다. 'Hostname'부분에는 콘솔에서 확인한 '엔드포인트'를, 'Username'부분에는 RDS를 생성할 때 설정한 유저 이름을 입력하면 된다. 새로운 RDS을 생성할 때, 유저 이름에 대해서 수정하지 않았다면 'Username'에 'admin'을 입력하면 된다. 맨 위에 'Connection Name'에 아무거나 입력하고 우측 하단에 위치한 'Test Connection'을 클릭해 보자.

비밀번호를 입력하고 위 사진이 뜬다면 연결 성공.

Workbench와 RDS 연동을 성공했다면 workbench에서 새로운 데이터베이스를 생성해주자. 필자는 'koozzidb'라는 데이터베이스를 생성했다.

3. Django에서 AWS RDS 'Migrate'

새로 생성한 Django 프로젝트에서 settings.py로 들어가보자.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'koozzidb',
        'USER': 'admin',
        'PASSWORD': '비밀번호',
        'HOST': '엔드포인트',
        'PORT': '3306',
        'OPTIONS': {
            'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"'
        }
    }
}

settings.py에서 위와 같이 수정한다. 마지막으로 터미널에서 migrate을 실행하자.

(venv) # python manage.py migrate

이제 Workbench로 들어가서 Django와 RDS가 잘 연걸되었는지 확인해보자.

위 사진처럼 새로운 테이블들이 생성되었다면 Django와 RDS 연동 성공!

profile
소프트웨어 마에스트로 11기

0개의 댓글