django RDS mysql 연동하기

김하진·2022년 7월 1일
2

RDS란?

자세한 내용은 공식문서를 참조하면 좋다

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Welcome.html

1.sqlite3

  • 간단한 테스트용 디비용도로 사용하기 좋은 데이터베이스 입니다.
장점 : 단순하고 간편합니다.
단점 : 단일쓰기 작업만 지원하므로 동시에 여러 클라이언트가 
데이터베이스에 접근해야할때 제한적이고 구조가 단순한 만큼 기능을 확장하기 어렵습니다. 
  1. Postgres
  • 기본적으로 성능이 좋은 데이터베이스입니다.
장점 : 안정되어있고 데이터의 무결성을 보장합니다. 
확장성이 좋아 복잡한 기능구현이 가능합니다.
단점 : 읽기기능이 많은 서비스일 경우 오히려 성능이 떨어질 수 있습니다.
  1. MYSQL
  • 가장 보편적이고 무난한 데이터베이스입니다.
장점 : 간단하고 보편적입니다. 이용자가 많은만큼 지원이 많고 확장성이 좋습니다. 
단점 : 새로 개발된 기능의 경우 안정성이 부족합니다.

Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다.

이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공하고 공통 데이터베이스 관리 작업을 관리합니다.

지원하는 데이터베이스 엔진

  • Amazon Aurora

  • MySQL

  • MariaDB

  • Oracle

  • SQL Server

  • PostgreSQL

  • MSA 란
    MicroService Architecture

Monolithic Architecture는 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 형태이다. 웹 개발을 예로 들면 웹 프로그램을 개발하기 위해 모듈별로 개발을 하고, 개발이 완료된 웹 어플리케이션을 하나의 결과물로 패키징하여 배포되는 형태를 말한다. 이런 어플리케이션을 모놀리식 어플리케이션이라 하며, 웹의 경우 WAR파일로 빌드되어 WAS에 배포하는 형태를 말한다. 주로 소규모 프로젝트에서 사용된다.

aws 에서 rds 검색후 db생성!



추가구성에서 초기 네임 꼭 써줘야한다!!

DB생성후

pip install mysqlclient
pip install pymysql

djagno settings.py 에 추가

import pymysql
pymysql.install_as_MySQLdb()
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # engine: mysql
        'NAME' : config.RDS_NAME, # DB Name
        'USER' : config.RDS_USER, # DB User
        'PASSWORD' : config.RDS_PASSWORD, # Password
        'HOST': config.RDS_HOST,
        'PORT': config.RDS_PORT, # 데이터베이스 포트
        'OPTIONS':{
            'init_command' : "SET sql_mode='STRICT_TRANS_TABLES'"
        }
    }

NAME 에는 db초기설정시 초기 네임을 적어준다! 이거 안적어줘서 다시 만들었음
USER 에는 설정한 유저이름 default -> admin
PASSWORD 는 설정한 비밀번호
HOST 는 엔드포인트 를 적어주고,
PORT 는 PORT 번호를 적어주면 끝!

보안을 위해 config.py 에 적어놓고 임포트를 해서 사용중이다

migrate 오류!!

우선 오류는 여러가지가 있는데 보편적으로는 인바운드 규칙 오류가 난다.

여기에있는 보안그룹에 들어가서

인바운드규칙을 설정해주면 접근 가능!

그리고 mirgate 를 하면 migrate가 진행된다!

잘들어갔는지 확인하기

확장 탭에서 MYSQL 2번째 사진에 있는 걸 확인해주고

Host 에는 setting.py 에 설정한 엔드포인트
port 는 setting.py port 번호
username 에는 setting.py 에 설정한 user
password 에는 setting.py 에 설정한 password

를 입력하고 Connect 를 하면

끝이다!

profile
진킴

0개의 댓글