[Django] DAY26. 익명 게시판 데이터 베이스와 RDS의 연결!

이하얀·2024년 2월 28일
0

2024년 2월 26일 월요일

📙 강의 내용 요약

  • RDS

    • 데이터베이스가 설치되어 있는 컴퓨터를 제공해주는 서비스
    • 데이터베이스 관리도 더 편리하게 할 수 있음.
  • RDS 생성

    • 서비스 > 데이터베이스 > RDS 클릭

    • 대시보드에서 “DB 인스턴스” 클릭 > 데이터베이스 생성 클릭

    • 조건 선택

      • 손쉬운 생성

      • PostgreSQL

      • DB 인스턴스 크기 : 프리티어

      • DB 인스턴스 식별자 : 원하는 이름으로 입력(DB 이름이 아님)

      • 마스터 사용자 이름 : 원하는 이름으로 지정할 수 있음.

      • 마스터 암호 : 개별 지정

      • 데이터베이스 생성 클릭

    • 🚨주의 사항🚨

      • 리전은 반드시 서울로 설정!
    • 생성 후 시간이 조금 걸림.

      • 10분 ~ 15분 정도 소요
  • RDS 접근 테스트하기

    • 보안 그룹 규칙의 default 클릭

    • 인바운드 규칙의 inbound rule 체크 후 “Edit inbound rules” 클릭

    • 규칙 추가 눌러서 유형 PostgreSQL로 설정

      • 기본적으로 모든 유저가 들어올 수 있게끔 0.0.0.0/0으로 설정

    • 퍼블릭 엑세스 활성화하기

      • RDS의 “수정” 클릭
      • 연결 → 추가 구성 클릭해서 “퍼블릭 엑세스 가능” 체크
      • 즉시 적용 체크
    • DBeaver에서 설정 계속하기

      • 새 데이터베이스 연결 > PostgreSQL > 호스트 부분에 AWS의 엔드포인트 복사해 넣기

      • Username, Password는 RDS 설정 시에 작성한 마스터 이름과 비밀번호

      • 미리 데이터베이스 1개 만들어두기 → Tablespace는 Default!

  • 프로젝트에 연결하기

    • env.json
      ...
      "DATABASE_NAME":"anonymous",
      "DATABASE_HOST":"{엔드포인트 붙여넣기}",
      "DATABASE_USER_NAME":"hayan",
      "DATABASE_PASSWORD":"{설정한 비밀번호 입력}"
      }
    • anonymous > settings.py
      env_ison = 'env.json'
      ...
      DATABASES = {
      	'default' : {
      		'ENGINE': 'django.db.backends.postgresql',
      		'NAME':env_json['DATABASE_NAME'],
      		'USER':env_json['DATABASE_USER_NAME'],
      		'PASSWORD':env_json['DATABASE_PASSWORD'],
      		'HOST':env_json['DATABASE_HOST'],
      		'PORT':'5432'
      	}
      }
    • 서버 실행
      • 마이그레이션 이전이기 때문에 이렇게 뜨는 것이 정상

    • 다음 명령어로 마이그레이션 진행하기
      python manage.py migrate
    • DBeaver에서 F5 후 연결 확인

♻️느낀점&인사이트

오늘은 데이터베이스에 해당하는 RDS 연결 작업을 진행하는 강의였다.

이전에도 AWS RDS는 여러 번 연결했던 경험이 있었지만, 한 가지 달랐던 점은 데이터베이스의 종류였다!

이전에는 거의 항상 MySQL이나 Redis만 이용해왔다보니 당연하게도 처음 RDS를 생성하려할 때 자연스럽게도 MySQL로 선택을 했었다🤣

이번 django 강의를 통해 PostgreSQL이라는 데이터베이스를 새롭게 사용했고 그렇다면 RDS도 MySQL이 아닌 PostgreSQL로 연결해야 한다는 사실을 잠시 잊고 있었던 것이다…!

그래도 생성 이전에 알게 되어 다급하게 PostgreSQL로 바꿔서 생성했다.

손쉬운 생성도 이번에 처음 사용해봤다.

그동안은 표준 생성을 통해서 직접 모든 설정을 했었기 때문에 손쉬운 생성에 대한 궁금증이 있었긴 했지만, 프로젝트의 배포를 위해 구글링을 해보면 대부분의 경우가 표준 생성으로 진행하는 예제가 많아서 큰 이유 없이 표준 생성으로 했었다.

하지만, 이렇게 간단한 프로젝트를 RDS에 연결할 때에는 손쉬운 생성을 사용해 빠르게 생성하는 것도 좋은 방식이 될 수 있다는 생각을 할 수 있었다!

다만 딱 1가지 걱정이 되는 점은, RDS는 생성만 하더라도 약간의 과금이 나오는 문제가 있다는 점이다. 하지만 강의가 거의 끝났고 RDS가 프리티어 계정에서는 천문학적인 금액이 나오지는 않기 때문에 강의가 끝나는 날까지는 유지하고, 그 뒤에 이미지와 RDS를 모두 삭제하려 한다.

(🚨혹시 이 강의를 수강하시거나, AWS를 이용하시는 분들은 강의를 모두 마친 후 최대한 빠르게 지워주세요! 그래야 그 날짜 이상의 과금이 부과되지 않습니다🚨)

그리고, 어제 이미지를 연결하며 설정했던 env.json이 있어 간단히 RDS에 대한 환경만 추가해주면서 빠르게 RDS 연결 테스트를 마쳤다.

빡공단이 앞으로 3일 정도만을 남기고 있다…!

그동안 매일 해야한다는 압박에 조금은 마음이 힘들기도 했지만 이렇게 꾸준히 하는 법과 견디는 법을 배워나가는 것 같다는 생각이 든다.

조금만 더 힘내자🔥

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE 개발 기록 노트☘️

0개의 댓글