열공스토리

[AWS] 스프링부트 프로젝트에 AWS RDS 연동하기 본문

AWS

[AWS] 스프링부트 프로젝트에 AWS RDS 연동하기

열쩡열쩡열쩡_ 2024. 10. 24. 15:02

현재 진행중인 프로젝트에 스프링부트 프로젝트에 AWS RDS를 연동해 보았습니다. RDS 데이터베이스 생성부터 연동 및 테스트하는 과정을 기록했습니다.

 

RDS 데이터베이스 생성

1. 데이터베이스 서비스 선택

MySQL 8.0.39 버전 선택을 선택합니다.

 

2. 템플릿 선택

테스트용 배포이므로 프리 티어를 선택했습니다.

 

3. 데이터베이스 설정

DB 접속 시, 필요한 사용자 이름과 암호를 설정해 줍니다.

 

4. 인스턴스 구성

프리 티어는 기본적으로 버스터블 클래스로 고정됩니다.

 

5. 스토리지 설정

프리 티어는 기본적으로 20GiB를 제공합니다.
스토리지 자동 조정 옵션은 비활성화 해줍니다. (활성화 시, 요금 부과 발생)

 

6. 가용성 및 내구성

기본 값으로 자동 설정됩니다.

 

7. 연결 설정

당장은 로컬에서 테스트를 진행할 것이기 때문에 추후 ec2로 애플리케이션 배포 할 때 수동으로 설정할 예정입니다.

퍼블릭 엑세스 옵션에는 ‘예’ 항목에 체크해 줍니다.

기존에 만들어 둔 보안 그룹이 없기 때문에 새로운 VPC 보안 그룹을 생성해 줍니다.

 

8. 데이터베이스 인증 방식 선택

 

9. 추가 구성

초기 데이터베이스 이름을 설정해 주고(필수) 백업 항목은 미체크 해줍니다.(요금 부과 요소)

 

10. 보안 그룹 설정

VPC 보안 그룹 → 보안 그룹 ID → 인바운드 규칙 편집

집에서 RDS에 접속이 허용되도록 인바운드 규칙을 추가해 줍니다.

MySQL GUI 연동

*MySQL Workbench 사용했습니다.

1. RDS 연결 정보 입력

데이터베이스 생성 시, 설정한 사용자 이름과 비밀번호를 입력해 줍니다.

 

2. 결과

정상적으로 연결된 모습을 볼 수 있습니다.

스프링 부트 연동

1. application.yml DB 정보 추가

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://{엔드포인트}:{포트번호}/{스키마이름}?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&useSSL=true
    username: {사용자 계정}
    password: {비밀번호}
  jpa:
    database: mysql
    show-sql: true
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        show_sql: true
        format_sql: true

 

2. 테스트

위와 같이 회원가입 API를 요청하면

RDS 데이베이스에 유저 정보가 정상적으로 저장되는 것을 확인할 수 있습니다.

'AWS' 카테고리의 다른 글

[AWS] AWS EC2에 Docker로 스프링부트 프로젝트 배포하기  (3) 2024.10.24