AWS RDS - MariaDB - Spring Boot 연결하기 (3) RDS를 Boot에 연결

라미·2024년 3월 15일

Cloud

목록 보기
3/3

지난 시간까지 RDS를 생성하고, DB를 편하게 다룰 수 있게 DBeaver에 연결해 보았다.
이번 시간에는 Spring Boot에 AWS RDS를 연결하여 서버 요청 시 RDS DB에 저장된 간단한 게시글이 화면에 띄워지게 만들어보려 한다.


4. 간단한 프로젝트 셋팅

1) Front: React.js

간단하게 App.js 파일에 게시글 목록이 차례대로 리스트 업 되도록 코드를 구현해놓고,

2) Back: Spring Boot

Controller 를 통해 프론트에서 호출이 오면

MyBatis를 통해 백에서 RDS의 데이터를 불러와서 Controller로 리턴해주는 서버를 구축했다.

3) DB: AWS RDS (MariaDB)

DB는 DBeaver를 이용해서 tblpost라는 간단한 테이블을 구성해놓았다.

DB를 정확하게 불러오는지 확인하기 위해 DBeaver에서 sql구문을 통해 data를 하나 집어넣어주었다.

4) build.gradle의 dependencies 설정

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-web'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
	compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
	
	implementation 'org.springframework.boot:spring-boot-starter-jdbc'
	implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client'
	implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '3.0.3'
    implementation 'com.h2database:h2'
}

이제 간단하게 프로젝트 셋팅이 완료됐으니, Spring Boot에서 RDS의 데이터를 불러올 수 있도록 연결해보도록 하겠다!


5. Spring Boot - AWS RDS 연결

1) Project 의 application-aws.properties 파일에 다음과 같이 작성한다.

  • 위치: project-src-main-resources-application-aws.properties
  • 이 파일에 DB 주소와 비밀번호까지 작성이 되므로, git에 올라가지 않게 .gitignore를 해준다.
spring.datasource.hikari.driver-class-name=
spring.datasource.hikari.jdbc-url=
spring.datasource.hikari.username=
spring.datasource.hikari.password=

2) driver-class-name 입력

spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.hikari.jdbc-url=
spring.datasource.hikari.username=
spring.datasource.hikari.password=

3) jdbc-url 입력

spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mariadb://database1.cpkwqcmimuxe.ap-northeast-2.rds.amazonaws.com:3306/dog
spring.datasource.hikari.username=
spring.datasource.hikari.password=

jdbc:mariaDB://[엔드포인트 주소]:[포트번호]/[DB명]

엔드포인트 주소는 AWS RDS 사이트에서 확인할 수 있다.

4) username, password 입력

spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.hikari.jdbc-url=jdbc:mariadb://database1.cpkwqcmimuxe.ap-northeast-2.rds.amazonaws.com:3306/dog
spring.datasource.hikari.username=admin
spring.datasource.hikari.password=admin1234*

username은 AWS RDS 생성 시 설정했던 마스터 사용자 이름,
password는 마스터 암호를 입력하면 된다.

5) application.properties에 방금 생성한 파일 연결

# AWS RDS 연결
spring.profiles.include=aws

6) .gitignore 설정하기

gitignore 파일에 다음과 같이 입력해준다.

#.gitignore
application-aws.properties

6. 결과 확인

1) Spring Boot 서버를 띄워주고,

2) React도 npm start로 띄워주었다.

3) 결과

DB가 잘 연결된 것을 확인할 수 있다.

4) 데이터 추가해줘보기

DBeaver에서 sql 구문을 통해 데이터를 더 집어넣어주었다.

Front에서 새로고침하니 추가해준 데이터가 잘 뜬다!


느낀점

팀 프로젝트 시 로컬에서 각자 디비를 관리하다 보니 수정된 부분이 반영이 안되거나 없는 테이블이 있는 등 자꾸 에러가 떴었다. 어떻게 편하게 다같이 디비를 공유할 수 있을지 고민하다 AWS RDS 프리티어 버전을 이용해서 함께 디비를 공유하니 프로젝트가 훨씬 수월하게 진행이 됐었다!
AWS에 RDS말고도 다른 기능이 많던데 하나씩 공부해보도록 해야겠다.


참고
https://velog.io/@namsh1125/Spring-boot-AWS-RDS%EC%99%80-%EC%97%B0%EA%B2%B0

profile
연구하는 개발자

0개의 댓글