반응형

https://aws.amazon.com/ko/

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정

aws.amazon.com

AWS 홈페이지에 접속해서 로그인 한다.

 

서비스에서 RDS 클릭.

 

주황색 데이터베이스 생성 버튼 클릭

 

표준 생성 선택

MariaDB 선택

버전 선택(버전은 기억해둬야 한다. 추후에 파라미터 그룹 설정 시 사용)

 

템플릿 - 프리티어 선택!!!(다른 것 선택 시 비용이 청구 될 수 있음)

DB 인스턴스 식별자 - 본인이 알아볼 수 있는 DB 이름

⭐️ 마스터 사용자 이름과 마스터 암호는 반드시 기억해놔야 한다.

 

프리티어를 선택하면 DB인스턴스 크기는 자동 선택되어 있다.

스토리지 - 할당된 스토리지 20GB가 맞는지 확인 / 나머지는 그대로

 

연결 → 퍼플릭 액세스 가능 → 예

VPC 보안 그룹 → 기존 항목 선택

 

추가 구성 → 데이터베이스 포트 3306

데이터베이스 생성 클릭!!!!

 

RDS가 생성되었다.(아직 생성중, 조금 걸린다. / 위에 DB는 기존에 만든 것)

이제 운영환경을 설정해줘야한다.

왼쪽 메뉴바에서 파라미터 그룹 클릭

 

파라미터 그룹 생성 클릭

 

파라미터 그룹 패밀리 → RDS 생성 시 선택했던 DB와 버전 확인 후 선택

이름, 설명 알아서 작성하면 된다.

다 작성 후에 생성 클릭.

 

내가 작성한 파라미터의 상세 페이지에 들어간 화면이다.

여기서 오른쪽에 수정 클릭

 

들어와서 입력해줘야 할 파라미터들을 검색해서 내용을 넣어준다.

설정해줘야 하는 파라미터 값들은 다음과 같다.

 

time_zone - Asia/Seoul

character_set_client - utf8mb4

character_set_connection - utf8mb4

character_set_database - utf8mb4

character_set_filesystem - utf8mb4

character_set_results - utf8mb4

character_set_server - utf8mb4

collation_connection - utf8mb4_general_ci

collation_server - utf8mb4_general_ci

max_connections - 150

 

위와 같이 다 설정 해준 후 변경 사항 저장을 눌러서 저장한다.

다음은 변경한 파라미터를 DB에 적용할 차례이다.

왼쪽 메뉴바에서 데이터베이스 클릭.

 

파라미터 설정할 데이터 베이스를 선택한 후 오른쪽 위 수정 버튼 클릭

 

추가 구성 → 데이터베이스 옵션 → DB 파라미터 그룹 → 내가 생성한 파라미터 그룹 선택.

 

맨 아래로 내려와서 오른쪽 아래 계속 버튼 클릭.

 

이런 화면이 나오는데 여기서

새 값에 내가 선택한 파라미터 그룹이 맞는지 확인하고

수정예약 → 즉시 적용 선택

DB 인스턴스 수정 클릭.

여기까지 RDS를 생성해서 변경한 파라미터 그룹을 적용하였다.

그럼 이제 생성한 EC2와 RDS를 연결해보자.

EC2 페이지의 인스턴스 상세 페이지로 간다.

 

보안 탭에 있는 보안 그룹의 상세 페이지로 이동.(왼쪽 아래 보안 그룹의 파란 글씨 클릭)

 

보안 그룹 ID를 복사

다시 RDS 페이지로 돌아간다.

 

생성한 RDS의 상세페이지로 들어가서 조금 내려보면

보안 그룹 규칙 탭이 있다. 여기서 보안그룹 하나 클릭해서 보안그룹 상세페이지로 이동.

 

아래에 인바운드 규칙 탭 클릭.

 

오른 쪽에 Edit inbound rules 클릭.

 

 

규칙 추가를 누르고

MYSQL/Aurora 선택 후, ec2 인스턴스의 보안그룹 id를 넣은 규칙 한개,

내 ip를 입력한 규칙 한개를 생성한다.(내 ip를 선택하면 알아서 들어감)

규칙 저장 클릭!

이제 EC2 인스턴스와 RDS가 연결되었다.

이제 생성한 원격 데이터베이스에 접속해보자.

다시 RDS 상세페이지에 들어간다.

 

연결 & 보안 탭의 앤드포인트를 복사한다.

필자는 IntelliJ를 이용하여 database 플러그인으로 원격 데이터베이스를 사용하려한다.

(Workbench 등 다른 것 사용 가능)

 

IntelliJ에서 오른쪽 구석에 Database를 클릭하면 다음과 같은 화면이 나온다.

 

+ 버튼 클릭 → Data Source → MariaDB 선택

 

여기서 앤드포인트와 RDS생성 시 작성했던 마스터 사용자 이름과 비밀번호가 사용된다.

잘 작성한 후에 아래쪽에 Test Connection을 해보자.

 

이렇게 잘 나온다면 접속 성공이다! OK를 눌러 DB를 추가한다.

 

추가한 DB에 Schema를 하나 생성한다.

 

쿼리문을 작성하여 방금 생성한 Schema를 사용할 스키마로 지정해주자.

 

## use 스키마이름;
use Test;

 

다음은 DB 설정들을 확인할 것이다

## character set, collation 설정 확인
show variables like 'c%';

위 쿼리문을 실행한 후 살펴보면

 

이렇게 결과를 볼 수 있는데 우리가 확인하고 수정할 부분은

character_set_database

collation_database

이 두 가지이다.

 

만약, 두 가지 외에도 latin1으로 시작하는 부분이 있다면 RDS 페이지로 돌아가서 데이터베이스를 재부팅한 후 다시 쿼리문을 실행하자.

RDS 선택 → 작업 → 재부팅

그러고 쿼리문을 다시 실행하면, 바꾸려고 했던것 외에 기존의 latin1으로 작성되어있던 부분이 변경된 것을 확인할 수 있을 것이다.

 

이를 수정하는 쿼리문은 아래와 같다.

ALTER DATABASE 데이터베이스명(Schema명)
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

이를 실행한 후 다시 확인해 보면 원하는대로 변경된 것을 확인할 수 있다.

 

## 타임존 확인
SELECT @@time_zone, now();

 

 

프로젝트 DB 설정해주기!!

src → resources → applicaion.properties(또는 yml 등 본인이 작성한 파일)

 

# MariaDB 연결
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://[ec2 앤드포인트]:3306/[사용할 db schema 이름]
spring.datasource.username=[db 마스터 이름]
spring.datasource.password=[db 마스터 비밀번호]

위 코드대로 내용을 적용해준다.(양식 달라도 내용만 같게 적용해주면 됨.)

 

EC2에서 RDS 접속하기

EC2에 접속한 터미널에서 먼저 MySQL을 설치해야한다.

(MariaDB는 MySQL 기반)

sudo yum install -y mysql

 

DB 접속

mysql -u 마스터사용자계정 -p -h 앤드포인트

 

EC2를 통해 생성한 RDS에 잘 접속됨을 확인할 수 있다. 우리가 생성한 Test DB도 확인.

반응형

+ Recent posts