AWS

[AWS] 1-1. Springboot 서버 배포 - RDS DB 연결

ihatebasil 2024. 8. 29. 19:54

지난 멋쟁이사자처럼 12기 중앙 해커톤에서 나는 배포에 크게 관여하지 않아 아쉬움이 남을 뻔 했는데

은택샘의 은혜로 해커톤 이후 배포 하는 법을 배우게 되었다.

 

앞으로는 어떤 프로젝트를 하더라도

아, 제가 AWS로 스프링은 배포할 줄 압니다 ㅋㅋ 할 수 있도록 마스터해보고자 한다ㅋㅋ

 

수정을 거듭해야겠지만 이 카테고리의 글은 아래 목차를 포함할 예정이다.

더보기

1. AWS RDS로 Mysql 데이터베이스 연결

2. EC2를 활용한 최적화

3. 프로젝트 배포

4. 도메인 구매 및 적용

5. https 적용

이 게시글에서는 1. AWS RDS로 Mysql 데이터베이스 연결 까지만 다루도록 하겠다.

 


1- 0. 가장 먼저, AWS 회원가입과 로그인 절차를 거쳐야 하는데 이 과정은 패스.

 

 

로그인 직후는 요론 화면이 뜬다.

(사용자마다 조금씩 다를 수 있다. 나같은 경우는 이미 RDS, EC2 과정을 1회 거치고 블로그 작성 중이라 최근 방문한 서비스가 등록되어 있다.)

 

주목해야 할 것은 우측 상단에 서울! 리전을 반드시 서울로 등록해야 한다. 내가 지금부터 배포할 서버를 어디에 위치한 AWS 서버로부터 빌려올 것이냐, 이기 때문에. 가까운 서울로 설정하는 편이 좋다.


 

1-1. RDS로 데이터베이스 인스턴스 생성

팀원들끼리 공유하는 하나의 DB를 생성하고자 한다.

좌측 상단에서 서비스>데이터베이스>RDS를 클릭

 

 

대시보드에서 데이터베이스 생성 클릭
표준 생성 선택, Mysql 선택

다양한 DB가 있으나 나는 주로 Mysql을 사용하기 때문에 Mysql을 선택했다

템플릿>프리티어 선택

신규회원은 1년간 프리티어를 무료로 이용할 수 있다

다른 템플릿은 별도의 비용이 요구되니 주의하자

DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호 설정

다음은 DB 설정이다. 

 

인스턴스 식별자는 이제부터 생성할 DB의 이름이고,

 

워크벤치에서 볼 수 있는 root 등 사용자 이름이 마스터 사용자 이름,

DB 등록 및 이용에 필요한 PW가 마스터 암호이다.

 

추후 나의 프로젝트와 Mysql 워크벤치에 현재 생성중인 DB를 등록할 경우 이 데이터를 입력해야 하고, 프로젝트 진행시 다른 팀원들과 공유되어야하므로 꼭 메모해두길 바란다.

인스턴스 구성

엔진은 무료로 이용 가능한 범위 내에서 안전한 선택이라고 생각해서 db.t3.micro를 선택했다. 

 

스토리지 설정

이 단계에서는 과금을 피하기 위해 스토리지 자동 조절 토글을 열어 자동 조정 활성화를 해지해주었다.

연결 설정

퍼블릭 액세스를 예로 설정하여 외부에서도 DB에 연결할 수 있도록 한다.

보안 그룹은 새로 생성을 선택한다. (다음 단계에서 보안 그룹 규칙 추가 설정 예정)

태그, 데이터베이스 인증, 모니터링 설정
추가구성 설정

추가구성 토글을 열어

백업>자동 백업 활성화

유지관리> 마이너 버전 자동 업그레이드

사용을 해제한다. (과금 방지)

아래 요금 안내가 뜨지만... 프리티어는 12개월 동안 저만큼 사용할 수 있다고 하니 안심해도 좋다

데이터베이스 생성 버튼 클릭
데이터베이스 생성 중

데이터베이스 생성을 클릭하고 나면 데이터베이스 상태에 생성 중이라고 뜬다

3-4분 정도 기다리면 데이터베이스 생성이 완료된다!

 

여기까지가 RDS Mysql DB 생성 과정이다.


1-2. VPC 보안 그룹 인바운드 규칙 설정

이제 이걸 우리 프로젝트 or워크벤치에 연결 시켜야 하는데, 그 전에 보안 설정을 마무리 해야 한다

식별자를 클릭해 데이터베이스 설정에 들어간다

연결 및 보안에서 VPC 보안 그룹 (파란 글씨)을 클릭

보안 그룹 ID 클릭

인바운드 규칙 편집 클릭

규칙 추가>위와 같이 설정> 규칙 저장

(팀원들과 공유할 DB이므로 특정 IP가 아니라 모든 IP에서 접속 가능하도록 설정)

하면 이제 인바운드 규칙 편집은 끝났다.

 

다시 RDS 데이터베이스 세부정보 창으로 이동하자.

 


1-3. Mysql 워크벤치를 통한 연결 확인

이제 Mysql 워크벤치에 생성한 DB를 연결하자.

이 과정이 필수는 아니지만 RDS가 잘 생성되었는지 확인하기 위해 진행했다.

뿐만 아니라, 프로젝트 진행 중 워크벤치에 연결해놓는 것이 매우 편안하므로...(거의 필수이므로)

겸사겸사 진행하는 것을 추천한다.

메인 화면에서 + 버튼을 눌러도 되고 상단바에서 Database>Connect to database 눌러도 되고 Ctrl+U해도 된다

아무튼 난 + 버튼을 눌렀다.

 

이제

1. Connection Name

2. Hostname

3. Port

4. Username

5. Password

를 입력하고 OK를 누르면 연결된다.

RDS 세부 정보 창에서 엔드포인트를 복사해 워크벤치의 Hostname에 붙여넣는다.

Port도 똑같이 맞추고

Username과 Password에 각각 RDS 인스턴스 생성시 설정한 값을 입력해준다

그리고 Connection Name 도 입력해줘야 한다. Connetion name은 워크벤치 Home에 뜰 해당 DB의 이름이다.

OK를 클릭하면 아래 화면으로 이동한다.

다시 홈으로 가면

DB가 잘 연결됐음을 확인할 수 있다.

Connection Name을 입력하지 않으면 Home에 뜨지 않고, 다시 접속하려면 다시 Connetion등록해줘야 한다.


여기까지가 1단계...

배포에 필요한 RDS 빌려오기 를 마쳤다.

 

다음 포스팅에서는 EC2를 활용한 최적화와 배포 등을 다루어볼 예정