본문 바로가기

AWS

RDS 구축하고 EC2에 연결하기

RDS 생성

RDS에 들어가서 데이터베이스 생성을 누르자

 

. 설정

 

퍼블릭 엑세스 예로 변경

 

추가구성에서 백업 끄고 이름 설정하기

 

RDS 보안그룹 생성하기

 

생성한 보안그룹을 RDS에 붙이기

해당 RDS로 이동 후에 보안그룹 수정

 

RDS 파라미터 그룹 추가하기

1. 아래 속성 전부 utf8mb4로 설정하기

  • character_set_client
  • character_set_connection
  • character_set_database
  • characater_set_filesystem
  • characater_set_results
  • character_set_server

참고) utf8 대신에 utf8mb4를 사용하는 이유는 ‘한글’ 뿐만 아니라 ‘이모티콘’도 지원이 가능하도록 하기 위해서이다.

2. 아래 속성 전부 utf8mb4_unicode_ci로 설정하기

  • collation_connection
  • collation_server

참고) utf8mb4_unicode_ci은 정렬, 비교 방식을 나타낸다.

3. time_zone을 Asia/Seoul로 설정하기

 

RDS 파라미터 그룹 변경

 

앤드포인트로 접속하면 된다!

아까 생성할때 쓴 username과 비밀번호를 입력하면 된다

 

 

스프링 서버에 RDS 연결하기

propertise 파일을 수정하면 된다

아래와 같은 형식으로!

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://{엔드포인트}:{포트번호}/{(초기)데이터베이스}?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
spring.datasource.username={마스터 사용자 이름}
spring.datasource.password={마스터 암호}

 

스프링으로 데이터베이스 연결 시도 중 문제 발생 : CannotGetJdbcConnectionException

org.springframework.jdbc.CannotGetJdbcConnectionException: 에러가 뜨면서 디비가 붙지 않았다

spring.datasource.url=jdbc:mysql://{엔드포인트}:{포트번호}/{(초기)데이터베이스} 부분에서 도대체 초기 데이터베이스 명이 뭔지를 몰라서 RDS 설정하는 부분을 찾아봤다

데이터베이스명을 RDS 식별자명으로 작성하고 RDS 추가구성에서 초기 데이터베이스 이름을 작성하지 않은 것이다

사이트를 보니 초기 데이터베이스이름을 적어주지 않으면 데이터베이스가 생성되지 않는다고 한다

 

RDS 추가 구성에서 초기 데이터베이스 이름 지정하여 해결 

이름을 설정해주니 연결이 잘 됐다!

(참고로 아래 백업 설정도 꼭 끄자)

 

드디어 돌아간다!

 

 

하하 드디어 붙였다 너무 행복하네 ㅜ