장고 - AWS Route 53 연결 및 RDS 연동 방법

1. AWS > 네트워킹 및 콘텐츠 전송 > Route 53

보유한 도메인의 네임서버를 설정해주는 작업을 수행할 것이다.

  • DNS 관리 시작
  • 호스팅 영역 생성 > 도메인 이름 입력 > 생성
  • 해당 도메인 선택 > TTL 설정(ex. 1분)
  • NS 유형의 value 복사하여 도메인 웹호스팅 사이트(가비아)에 네임서버로 설정

2. HTTP로 연결 (https는 개인키, 공용키 구입 필요)

경로 : dstagram_project > config > settings.py

AWS_S3_SECURE_URLS = False



3. RDS > 파라미터 그룹 생성

경로 : AWS > 데이터베이스 > RDS

  • 파라미터 그룹 접속
  • 파라미터 그룹 생성
  • 파라미터 그룹 패밀리 선택(ex. postgres9.6)
  • 그룹 이름 및 설명 입력(ex. chk-postgres / in wps)
  • 생성
  • 생성한 그룹(chk-postgres)에 접속
  • 파라미터에 encoding 검색
  • Values 를 UTF-8로 수정

4. RDS > 데이터베이스 생성

경로 : AWS > 데이터베이스 > RDS

  • 데이터베이스 생성
  • postgreSQL 선택(과금되고 싶지 않다면, ‘RDS 프리 티어에 적용되는 옵션만 사용’ 클릭)
  • DB 엔진 버젼 선택 (ex. PostgreSQL 9.6.12-R1)
  • DB 인스턴스 클래스 선택 (ex. db.t2.micro - 1 vCPU, 1GiB RAM)
  • ‘설정’ 항목
    • DB 인스턴스 식별자 입력 (ex. wps10-dstagram)
    • DB 파라미터 그룹 선택 (ex. chk-postgres)
  • 백업 period 선택 (ex. 0days)

5. RDS > 보안 그룹 접속

경로 : RDS > wps10-dstagram > Details > Security groups

어느 곳에서든 데이터베이스를 연동하고 싶다면, 하단 인바운드에서 편집

  • 유형 선택 (PostgresSQL)
  • 소스 선택 (위치 무관)
  • 저장

6. 프로젝트 settings.py에서 데이터베이스 수정

경로 : dstagram_project > config > settings.py

1
2
3
4
5
6
7
8
9
10
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dstagram'
'USER': 'admin_wps',
'PASSWORD': '비밀번호 입력'
'HOST': '해당 DB 인스턴스 식별자 > 엔드포인트 복사 > 붙여넣기'
'PORT': '5432'
}
}

7. 데이터베이스 초기화

경로 : dstagram_project 디렉토리

1
$ python manage.py migrate

8. 관리자 생성

경로 : dstagram_project 디렉토리

1
$ python manage.py createsuperuser
  • 관리자 이름, 이메일주소, 비밀번호 입력