본문 바로가기
활동 일지/밥약

[밥약 | 백엔드] 프로젝트 초기 설정

by seoyamin 2023. 2. 2.

밥약에서 나는 사용자 관리를 담당하기로 했다.

기본적인 auth는 구글 로그인을 기반으로 학교 메일 인증을 한다. 사용자 관리 API는 프로젝트 전반에 있어 가장 우선적으로 개발되어야 할 기능이라 첫 스프링부트 프로젝트 설정을 내가 담당했다. 

이 과정에서 하루만에 재미있는 우여곡절들이 많아서 기록을 남겨본다.

 

 

1. RDS 만들기

우리팀은 개인 DBMS가 아닌 AWS의 RDS로 데이터베이스를 구축하기로 했다.

그동안에 플젝에서는 내가 RDS 세팅을 한 적이 없었는데 마침 경험해볼 수 있는 좋은 기회였다.

사실 전공 과목에서 다루긴 했지만, 과제 조건을 따라가기 급급해서 제대로 익히지는 못했었기에 이번에 여기저기 구글링동냥을 하며 세팅을 해봤다.

 

일단 공용 계정은 AWS 프리티어 기간을 고려해서 최대한 늦게 열자고 했었기에, 임시로 내 개인 계정에 RDS를 만들었다. 저번 학기에 어마어마한 과금을 겪은터라 오랜만에 들어가보는 AWS가 서먹서먹했다ㅋㅋ

이번에도 약간 긴장하면서 RDS를 만들었다.....쉿

 

(1) VPC 만들기 

미리 VPC를 만들고 RDS 생성할 때 이를 선택할까 하다가 결국 그냥 바로 RDS를 만들면서 new VPC를 만들었다.

 

(2) Security Group 만들기

만든 VPC에 해당하는 Security Group을 만들고, 인바운드 규칙을 통해 포트들을 열어준다.

(http, https, ssh, 8080 for spring boot, 3306 for mariadb)

 

(3) Subnet 설정

northeast a~d로 subnet을 만들고 추가해준다.

 

# RDS 생성

- 기본 설정이 프리티어 조건이 아니므로 꼭 확인

- Enable Auto Scaling 끄기 (친절함 주의)

 

 

열심히 구글링하며 이것저것 설정하니 마침내 RDS가 무사히 만들어졌다~! 

이제 과금만 조심하면 된다....^ ^

 

 

2. Spring Boot MariaDB 설정

1)  build.grale

runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

 

2)  application.yml

spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
    url: jdbc:mariadb://[rds의 end-point]:3306/[db명]?serverTimezone=UTC&characterEncoding=UTF-8
    username: ****
    password: *********

 

 

3. MySQL & MariaDB 동시 사용 문제

MySQL과 동일한 계열이며, 더 발전된 형태인 MariaDB는 이번에 처음 사용해보게 되었다.

포트도 MySQL과 동일하게 3306이였고, MySQL Workbench로 연결도 가능했다.

 

그 런 데

이미 로컬에 MySQL이 설치된 상태에서 MariaDB를 또 설치했더니 포트가 겹쳐서 둘다 먹통이 되었다..

어차피 rds를 사용하면 굳이 로컬에도 MariaDB가 있을 필요는 없어서 MariaDB를 삭제했다.

그런데도 MySQL이 안돌아가서 찾아보니, MariaDB에게 뺏기느라 서비스가 중지되어 있어서 그렇다고 한다. 제어판에서 다시 MySQL을 시작해주니 무사히 돌아왔다. 

 

제어판\모든 제어판 항목\프로그램 및 기능  mysql 찾아서 우클릭한 후 '시작하기'

'활동 일지 > 밥약' 카테고리의 다른 글

[밥약 | 백엔드] 서비스 출시  (0) 2023.10.28
[밥약 | 백엔드] 밥약 프로젝트 합류  (0) 2023.01.31