IT/DB

AWS RDS 구축 (MySQL 연결하기)

binary? 2024. 5. 6. 08:45

AWS RDS 구축 (MySQL 연결하기)

Spring Boot 프로젝트를 AWS 서버에서 실행하려고 하던 중

아래와 같은 에러가 발생합니다.

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

AWS에서 DB를 연결하지 않았고 알아보니 AWS RDS라는걸 구축해야 하더라구요.

아래에 연결하는 방법을 정리해보겠습니다.

AWS RDS란?

  • AWS RDS는 Amazon Web Services (AWS)에서 제공하는 관리형 관계형 데이터베이스 서비스
  • RDS를 통해 MySQL, PostgreSQL, Oracle 등의 데이터베이스를 선택 가능

1. AWS 로그인

아래 링크에 접속하여 로그인을 한다.

https://aws.amazon.com/

 

2. 데이터베이스 및 인스턴스 생성

RDS 클릭

데이터베이스 생성 클릭

저는 MySQL을 사용하기 때문 선택했습니다.

버전은 프로젝트에서 사용하는 버전으로 맞췄구요.

무료로 사용하고 있어서 프리티어 했습니다.

아래는 db, userId, password 등 본인 입맛에 설정하시면 됩니다.

퍼블릭 액세스만 "예" 하고 나머지는 기본설정으로 했습니다.

데이터베이스 이름을 설정했습니다.

캡처하지 않은 나머지 부분들은 기본 설정값으로 다 선택했습니다.

데이터베이스 생성 클릭

몇분 걸립니다.

기다리면 아래처럼 생성이 완료되고 상태가 '사용가능'입니다.

3. 보안 설정

DB인스턴스 클릭

보안그 클릭

인바운드 규칙 편집 클릭

MySQL 3306포트에 IPv4, IPv6 열어주고 저장합니다.

4. MySQL Workbench로 데이터베이스 연결

MySQL Workbench 실행

없으시면 설치하셔야 합니다.

아래 링크는 설치하는 방법

https://blog.naver.com/ljs14741/223430936976

 

New Connection

[+]버튼 클

서버 정보를 입력하시면 됩니다.

Hostname에는 아까 생성한 DB 인스턴스 정보에 있는 엔드포인트를 적어주시면 됩니다.

Test Connection 을 눌러서 Success가 나오면 OK 누르시면 됩니다.

그러면 Workbench에 방금 연결한 DB가 생성됩니다.

5. RDS 파라미터 그룹 세팅

먼저 DB에 접속해서 아래 명령어를 입력하여 time_zone과 현재 시간을 확인합니다.

UTC기준으로 현재 시간과 맞지 않습니다.

그래서 파라미터 그룹 세팅하러 가면 됩니다.

파라미터 그룹 세팅하고 생성

파라미터 편집 해야

collation을 검색해서 값에다가 'utf8mb4_general_ci'를 입력하고 [저장] 버튼 클합니다.

character_set을 검색해서 값에다가 'utf8mb4'를 입력하고 [저장] 버튼 클합니다.

character_set을 검색해서 값에다가 'Aisa/Seoul'를 입력하고 [저장] 버튼 클합니다.

DB에 방금 설정한 파라미터 그룹을 적용합니다.

추가 구성에 DB 파라미터 그룹을 변경하고 저장합니다.

적용하기 위해 재부팅 해줍니다.

변경사항을 확인합니다.

현재시간이 알맞게 적용되었습니다.

6. AWS EC2에서 mysql 접속

먼저 mysql 부터 설치해줍니다.

mysql 접속

mysql -u 사용자명 -p -h RDS엔드포인트주소

접속해서 명령어도 잘 실행됩니다.

AWS MySQL 연동하기 참 어렵네요.

고생하셨습니다.