당신은 멋쟁이, 우리는 장고쟁이~

0%

TodoList 23편 - AWS RDS 사용하기

AWS RDS 사용하기


지난 포스팅에서, 데이터베이스 인스턴스 생성하기 버튼을 눌러 RDS 인스턴스 생성을 하였습니다.


이제, 사용 가능한 RDS 인스턴스가 있습니다.



이 인스턴스를 클릭하면, 엔드포인트가 생성 되어 있는것을 확인 할수 있는데.


이 앤드포인트를 Django에서 데이터베이스 설정할때 사용할것 입니다.


settings.py 파일에 DATABASES


settings.py 파일의 DATABASES 설정으로 가서, 아래와 같이 DATABASES 설정을 해줍니다.


1
2
3
4
5
6
7
8
9
10
11

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'todolist',
'USER': 'djangojenge',
'PASSWORD': 'django12!',
'HOST': 'todolist-django.r2tcewdefdf1.ap-northeast-2.rds.amazonaws.com',
'PORT': 5432,
}
}

위 DATABASES 설정에서,

‘NAME’ 과 ‘PASSWORD’는 아직 정해지지 않았습니다.

NAME 과 PASSWORD 는 직접 설정해 주어야 합니다.



RDS 보안그룹 생성하기


EC2 Management Console 로 가서,


네트워크 및 보안탭에 가장 첫번째 메뉴인, 보안그룹을 클릭하여


아래와 같이 보안그룹을 하나 생성 해줍니다.




이 보안 그룹을, RDS 인스턴스에 적용해 줍니다.


RDS 인스턴스 수정 버튼을 눌러서, 네트워크 및 보안 섹션에, 아래와 같이 EC2 에서 생성한 보안그룹을 정하고,


퍼블릭 엑세스 가능성을 ‘예’ 로 표시합니다.





보안그룹이 활성이라고 하는 상태가 보이면 적용이 된것입니다.



postgres 계정 설정



위의 설정을 다 마쳤으면, 터미널에서, psql 명령어를 사용하여, postgres 계정 설정을 진행합니다.


1
2
psql --host=todolist-django.ctskq7umc1ur.ap-northeast-2.rds.amazonaws.com --username=todo-list123456 --dbname=postgres
Password for user todo-list123456:

여기서 사용되는 username 과 password 는 RDS를 처음 생성할때 입력했던,


username 과 password 입니다. 알맞는 username 과 password 를 입력하면,


아래와 같이 postgres 에 접속이 됩니다.



1
2
3
4
5
6
7
8
9
10
11
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1), server 11.6)
WARNING: psql major version 10, server major version 11.
Some psql features might not work.
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.


# 아래 명령어를 실행하여, 데이터베이스를 생성 해줍니다.

postgres=> CREATE DATABASE todolist OWNER=todolist1234 TEMPLATE template0 LC_COLLATE 'C';



settings.py 파일에 DATABASES 값 수정


settings.py 파일에 DATABASES 값을 고쳐 줍니다

1
2
3
4
5
6
7
8
9
10
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'todolist',
'USER': 'todolist1234',
'PASSWORD': '<데이터베이스 생성할때 사용한 패스워드>',
'HOST': '<데이터베이스 앤드포인트 주소>',
'PORT': 5432,
}
}



pyscopg2 설치하기


settings.py 파일에 DATABASES 설정을 마쳤으니, 서버를 시작해보면

psycopg2 를 설치해야 한다는 메시지가 나옵니다. 설치를 진행 해 줍시다.

1
pip install psycopg2-binary

설치뒤에, 서버를 실행해 보면, 아래와 같은 화면이 나옵니다.


1
2
3
4
5
6
7
8
9
System check identified no issues (0 silenced).

You have 29 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): account, admin, auth, contenttypes, sessions, sites, socialaccount, todo.
Run 'python manage.py migrate' to apply them.

May 20, 2020 - 14:09:47
Django version 3.0.6, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.



python manage.py migrate 를 실행하여, migrate 를 해줍니다.


1
python manage.py migrate

migrate 를 해준뒤에, 서버를 실행 시키고, 브라우저로 접속해 보면,


이제까지 개발한 main 페이지가 나옵니다