Cloud/AWS

[AWS] EC2, RDS를 이용해 배포하기 1 - RDS 설정 및 인텔리제이와 연결 편

쉬지마 이굥진 2024. 8. 3. 20:05

* 사전에 (윈도우의 경우)Git Bash 설치 및 AWS 회원가입이 선행됐다고 가정 후 쓰는 글입니다!

환경
Windows, Git Bash, Spring Boot 3.1.0, MySQL

 

오늘은 개인 토이프로젝트를 하면서 AWS의 EC2, RDS를 활용해 배포한 경험을 공유해보려고 한다.

 

1. FileZilla 설치

먼저 이 링크에서 FileZilla를 설치해주어야 한다.

다운로드 버튼을 누른 후, 제일 왼쪽의 Free 버전을 다운 받아주면 된다.

▪️ FileZilla
널리 사용되는 무료 및 오픈 소스 FTP 클라이언트. 주로 서버와 클라이언트 간에 파일을 전송하는 데 사용되며, FTP, FTPS, SFTP와 같은 파일 전송 프로토콜을 지원한다. FileZilla를 통해 AWS EC2 인스턴스에 파일을 전송하고 관리할 수 있다.

 

2. RDS 구매 후 MySQL 세팅

2-1. 가입해 둔 AWS에 로그인 한 후, 대시보드로 이동해 주자. 

2-2. RDS 검색 후 클릭한 다음, '데이터베이스 생성' 버튼 클릭!

2-3. 표준 생성, MySQL, 프리 티어 옵션을 선택해준다. (요금 부과 방지를 위해 이 페이지를 사전에 숙지하면 좋다!)

 

2-4. DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호 및 확인을 원하는 값으로 입력해준다.

암호같은 경우는 DB 접속 용으로 써야하니까 잊어버리면 안됨 (찡긋)

이 외에 나머지 설정들은 건드리지 않고 넘어가도 된다.

 

2-5. ⭐[중요] '연결' 탭에서 퍼블릭 액세스 설정값을 변경해준다.

VPC 보안 그룹 이름은 원하는 대로 설정해주면 되고, 가용 영역은 옵션 중 아무거나 선택해줘도 된다!!

▪️퍼블릭 액세스 기능: "예" 선택
이 설정이 되어있어야 우리 컴퓨터에서 AWS RDS 의 MySQL과 연결이 가능하다. 꼭 퍼블릭 액세스 설정 확인해주기!
→ 정책 업데이트로 IPv4의 경우 실행 중인 EC2 인스턴스에 연결되지 않은 유휴 상태의 탄력적 IP 주소와 같은 경우는 요금이 발생하는 점도 참고해야 한다. RDS DB 인스턴스 생성 시 퍼블릭 액세스를 허용하게 되면 퍼블릭 IPv4가 할당된다. 프라이빗으로 사용하는 경우에는 퍼블릭 IPv4가 사용되지 않기 때문에 이로 인한 비용은 발생하지 않는다.

 

2-6. '추가 구성' 토글의 초기 데이터베이스 이름 설정해주기

원하는 이름으로 설정해주자.

 

👉 하단의 '데이터베이스 생성' 버튼 클릭하면 MySQL 세팅은 완료!

 

3. RDS 포트 열어주기

 

3-1. 방금 만든 springboot-myshop-database 클릭

 

3-2. 연결 및 보안 > 보안 > VPC 보안 그룹 의 springboot-db-security 클릭

 

3-3. 보안 그룹 ID 클릭 후, '인바운드 규칙 편집' 클릭

 

3-4. 소스 > Anywhere ~ 클릭해서 0.0.0.0/0, ::/0 생성 확인 후 '규칙 저장' 클릭하면 RDS 포트 열어주기 끝!

 

4. 인텔리제이에서 확인

4-1. '여기'로 이동 후, springboot-myshop-database 클릭

4-2. 연결 및 보안 > 엔드포인트 확인하고 엔드포인트 주소 복사하기!!

 

4-3. 배포하고자 하는 프로젝트 인텔리제이에서 열어주기

4-4. 우측 'Database' 탭 > Data Source > MySQL 클릭

 

4-5. ⭐다음과 같이 설정!

  • Name: 아까 설정해 준 대로 설정
  • Host: 전 단계에서 복사해 온 엔드포인트 값 붙여넣기
  • Port: 설정 포트 번호
  • User & Password: 아까 설정해 준 유저와 비밀번호 값 넣어주기
  • Database: 이것도 마찬가지로 아까 설정해 준 값 넣기 (필자는 shop 이였음)

Test Connection 클릭 후 성공하면 OK 클릭해주자!

 

5. 스프링부트에서 MySQL 설정 값 수정

여기까지 됐으면, 스프링부트에서 설정해줬던 MySQL 값을 수정해줘야 한다 ,, 보통 application.properties 파일에서 관리하고(혹은 application.yml), 필자 또한 이 파일에서 설정해 줬기 때문에 기존 값을 수정해주자. (각자 맞는 값으로 수정 요망)

spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/shop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update

 

프로젝트를 다시 돌렸을 때 잘 돌아가면 성공 ~ 

연결이 잘 됐다면 다음 글에서 EC2 서버를 구매, 및 배포하는 법을 알아보자.


<다음 글>

 

[Spring/AWS] EC2, RDS를 이용해 배포하기 2 - EC2 서버 구매 및 배포 편

[Spring/AWS] EC2, RDS를 이용해 배포하기 1 - RDS 설정 및 인텔리제이와 연결 편* 사전에 (윈도우의 경우)Git Bash 설치 및 AWS 회원가입이 선행됐다고 가정 후 쓰는 글입니다!환경Windows, Git Bash, Spring Boot 3.1

developer-jinnie.tistory.com