build my life

[AWS] Spring Boot project AWS EC2 배포 (2) RDS 연동 본문

Project

[AWS] Spring Boot project AWS EC2 배포 (2) RDS 연동

dalovee 2023. 4. 7. 01:01
728x90

DB 인스턴스 생성

1. 원하는 DB 엔진 선택

 

2. 프리티어 선택

 

3. DB 설정

- 인스턴스 명

- 사용자 이름

- 비밀번호

 

4. 인스턴스 유형 선택

- 조금의 과금을 막기 위하여 db.t2.micro 설정

 

5. 스토리지 설정

- 스토리지 자동 조정 활성화 비활성화!!

 

6. 연결 설정

- 퍼블릭 엑세스 설정해야지 퍼블릭 IP로 접근이 가능하다

- VPC 보안그룹은 기존 항목이 있다면 체크, 없다면 새로 생성해서 사용한다.

 

7. 추가 구성

- 데이터베이스 이름 설정

- 개인 프로젝트 테스트용이기 때문에 백업이 필요 없어서 비활성화

- 파라미터 그룹 설정한게 있다면 추가로 설정해주기(선택)

 

8. 파라미터 그룹 생성

설정 목록) 각 상황에 맞게 설정하면 될듯!

- time_zone : Asia/Seoul

- collation_server & collation_connection : utf8mb4_general_ci

- character_set_client, connection, database, fildsystem, results, server : utf8mb4

- max_connections : 150

 

9. 데이터베이스 파라미터 그룹 설정해주면 끝!

 

10. 배포하고자 하는 spring boot project에 DB 설정에 RDS 정보 매핑하기

aws rds 정보를 application-aws.properties에 저장하고

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://<엔드포인트>:3306/todolist
spring.datasource.username=<마스터이름> #root
spring.datasource.password=<마스터패스워드> #1234

# 필요에 따라 설정
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true

 

11. gradle build -> jar 파일 생성하기

bootJar를 실행하면 아래와 같이 build > libs > .jar 파일 생성

 

11. EC2에 .jar 파일 복사하여 배포하기

# EC2 인스턴스에 접속해 아래 명령어 실행
$ sudo apt-get update

# 프로젝트 jdk버전에 맞게 설치
$ sudo apt-get install openjdk-11-jdk
# 프로젝트 폴더에서 생성된 .jar 빌드 파일 복사
$ scp ./build/libs/ToDoList-0.0.1-SNAPSHOT.jar {호스트 이름}:{복사하고자하는 폴더 경로} #ex) ubuntu@{퍼블릭IP or DNS}:/home/ubuntu

 

12. EC2 인스턴스에서 .jar 파일 실행

# EC2 인스턴스
$ java -jar {.jar파일}

# profile 설정
$ java -jar {.jar파일} --spring.profiles.active={profile명}
# ex) java -jar ToDoList-0.0.1-SNAPSHOT.jar --spring.profiles.active=aws

# 무중단 배포 하고 싶은 경우
$ nohup java -jar ToDoList-0.0.1-SNAPSHOT.jar &
# => nohup.out에 log 기록

 


참고)

https://velog.io/@shawnhansh/AWS-RDSmySql-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0

 

AWS RDS(mySql) 프리티어 생성하기

AWS 프리티어 뽕 뽑으려면 DB까지,,,💫

velog.io

https://bcp0109.tistory.com/357

 

AWS 2편: RDS 생성 후 EC2 와 연동

Overview 지난 포스팅에서는 AWS 에서 EC2 인스턴스를 생성하고 Spring Boot 서버를 띄워 외부에서 요청하는 것까지 해봤습니다. 이번에는 데이터베이스 연동을 위해 RDS 인스턴스를 생성하고 이전에 만

bcp0109.tistory.com

 

728x90