
오늘은 프로젝트의 데이터베이스인 MySQL을 AWS RDS를 통해 구축하는 법을 다루겠다.

RDS(Realational Database Service)는 이름 그대로 AWS에서 제공하는 관리형 관계형 데이터베이스 서비스이다. MySQL, PostgreSQL, Oracle, Aurora 등의 데이터베이스 시스템을 선택할 수 있다. 다음과 같은 특징을 갖고 있다.
- 관리형 서비스: 소트트웨어 설치, 인츠라 관리, 백업 및 복구, 패치 적용 자동 수행
- 확장성: 인스턴스의 스토리지, 컴퓨터 자원 쉽게 확장 가능
- 고가용성과 내구성: 다중 Availabilty Zone 배포 지원을 통해 높은 가용성과 내구성 제공
- 보안: 암호화 제공과, IAM을 통해 액세스 제어 가능
- 모니터링과 알림: DB의 성능 지표를 실시간 모니터링 가능
AWS RDS -> 데이터베이스 생성
유형 - MySQL 선택
템플릿 - 프리 티어 선택
RDS는 1개까지의 프리티어 템플릿을 제공한다.
자격 증명 설정
인스턴스 구성
스토리지
연결
생성해둔 EC2 인스턴스 연결하도록 하자.
인증
스프링 설정시에 필요한 부분이므로 기억해두자.
추가 구성
생성을 마치면 다음과 같이 데이터베이스의 엔드포인트를 확인 할 수 있다.

또한 생성시에 EC2 인스턴스를 연결해놨기에 별도로 추가하지 않아도
아웃 바운드 규칙에 RDS가 추가된것을 확인할 수 있다.

이제 MySQL RDS 연동을 확인을 위해 스프링 설정 파일에 다음과 같이 작성하자.
spring.datasource.url=jdbc:mysql://{RDS 인스턴스의 엔드포인트}:3306/{데이터베이스 이름}?useSSL=false
spring.datasource.username={RDS 사용자 이름}
spring.datasource.password={RDS 비밀번호}
이제 컨테이너 실행을 통해 확인해보자.
sudo docker run --name spring-app -p 8080:8080 localhost:5000/spring:latest
회원 가입을 통해 DB와 연결이 됬는지 테스트해보자.


로그까지 정상적으로 확인할 수 있었다.
