Back-End/Springboot와 AWS로 혼자 구현하는 웹 서비스

Chapter 07. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS (3)

yeonx 2022. 4. 3. 01:37
728x90

7.3 내 PC에서 RDS에 접속해 보기

로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가한다. RDS의 세부 정보 페이지에서 [보안 그룹] 항목을 클릭한다.

 

데이터베이스 보안 그룹 선택

 RDS의 보안 그룹 정보를 그대로 두고, 브라우저를 새로 열어본다. 그래서 브라우저 다른 창에서 보안 그룹 목록 중 EC2에 사용된 보안 그룹의 그룹 ID를 복사한다.

 

복사된 보안 그룹 ID와 본인의 IP를 RDS 보안 그룹의 인바운드로 추가한다.

RDS 보안 그룹 인바운드 수정

인바운드 규칙 유형에서는 MYSQL/Aurora를 선택하면 자동으로 3306 포트가 선택된다.

 

  • 보안 그룹의 첫 번째 줄 :  현재 내 PC의 IP를 등록
  • 보안 그룹의 세 번째 줄 : EC2의 보안 그룹을 추가한다.

이렇게 하면 EC2와 RDS 간에 접근이 가능하다.

 

RDS와 개인 PC. EC2 간의 연동 설정은 모두 되었다. 로컬에서 테스트 해보자.

 


Database 플러그인 설치

로컬에서 원격 데이터베이스로 붙을 때 GUI 클라이언트를 많이 사용한다. MySQL의 대표적인 클라이언트로 Workbench, SQLyog(유료), Sequel Pro(맥 전용),DataGrip(유료) 등이 있다.

각각의 도구마다 큰 차이가 없으니 본인이 가장 좋아하는 툴을 사용하면 된다. 이 책에서는 인텔리 제이의 Database 플러그인을 설치해서 진행한다.

 

RDS 정보 페이지에서 엔드 포인트를 확인한다. 이 엔드 포인트가 접근 가능한 URL 이므로 메모장 같은 곳에 복사해 둔다.

RDS의 접속 URL

 

인텔리제이로 이동해서 다음과 같이 database 플러그인을 검색한다. 검색 결과 중 Database Navigator에서 [install]을 클릭한다.

database 플러그인 검색

 

설치가 다 되었다면 인텔리제이 재시작을 한 뒤  Action 검색으로 Database Brower 를 실행한다.

database 플러그인 실행

그럼 프로젝트 왼쪽 사이드바에 DB Browser가 노출된다. DB Brower 탭 바로 하단에는 기존에 노출되던 프로젝트 항목들이다. 다시 자바 코드를 볼 때는 해당 탭을 클릭하면 된다. 다음 그림과 같이 차례대로 버튼을 클릭해서 MySQL 접속 정보를 열어 본다. MariaDB는 MySQL 기반이므로 MySQL을 사용하면 된다. 본인이 생성한 RDS의 정보를 차례로 등록한다.

database 플러그인 실행

 

여기서 에러가 떠서 다른 방법으로 시도

 


쿼리 실행

 

데이터 베이스가 선택된 상태에서 현재의 character_set, collation 설정을 확인한다.

show variables like 'c%';

쿼리 결과를 보면 다른 필드들은 모두 utf8mb4가 잘 적용되었는데 character_set_database, collation_connection 2가지 항목이 latin1로 되어있다.

 

이 2개의 항목이 MariaDB에서만 RDS 파라미터 그룹으로는 변경이 안된다. 그래서 직접 변경한다.

다음과 같은 쿼리를 실행한다.

ALTER DATABASE mysql
CHARACTER SET ='utf8mb4'
COLLATE = 'utf8mb4_general_ci';

 

select @@time_zone, now()

타임존 확인

RDS 파라미터 그룹이 잘 적용되어 한국 시간으로 된 것을 확인했다.

 

 

마지막으로 한글명이 잘 들어가는지 간단한 테이블 생성과 insert 쿼리를 실행해 보자

CREATE TABLE test (
    id bigint(20) NOT NULL AUTO_INCREMENT,
    content varchar(255) DEFAULT NULL,
    PRIMARY KEY (id)
) ENGINE = InnoDB;

insert into test(content) values ('테스트');

select * from test;

 


7.4 EC2에서 RDS에서 접근 확인

 

putty에 접속해 MySQL 접근 테스트를 위해 MySQL CLI를 설치한다.

설치가 다 되었으면 로컬에서 접근하듯이 계정, 비밀번호, 호스트 주소를 사용해 RDS에 접속한다.

mysql -u 계정 -p -h Host주소

 다음과 같이 EC2에서 RDS로 접속되는 것을 확인할 수 있다.

 

RDS에 접속되었으면 실제로 생성한 RDS가 맞는지 간단한 쿼리를 한 번 실행해보자.

데이터베이스 목록 확인

 

 

출처 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 [이동욱 지음]