7.3 내 PC에서 RDS에 접속해 보기
로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가한다. RDS의 세부 정보 페이지에서 [보안 그룹] 항목을 클릭한다.
RDS의 보안 그룹 정보를 그대로 두고, 브라우저를 새로 열어본다. 그래서 브라우저 다른 창에서 보안 그룹 목록 중 EC2에 사용된 보안 그룹의 그룹 ID를 복사한다.
복사된 보안 그룹 ID와 본인의 IP를 RDS 보안 그룹의 인바운드로 추가한다.
인바운드 규칙 유형에서는 MYSQL/Aurora를 선택하면 자동으로 3306 포트가 선택된다.
- 보안 그룹의 첫 번째 줄 : 현재 내 PC의 IP를 등록
- 보안 그룹의 세 번째 줄 : EC2의 보안 그룹을 추가한다.
이렇게 하면 EC2와 RDS 간에 접근이 가능하다.
RDS와 개인 PC. EC2 간의 연동 설정은 모두 되었다. 로컬에서 테스트 해보자.
Database 플러그인 설치
로컬에서 원격 데이터베이스로 붙을 때 GUI 클라이언트를 많이 사용한다. MySQL의 대표적인 클라이언트로 Workbench, SQLyog(유료), Sequel Pro(맥 전용),DataGrip(유료) 등이 있다.
각각의 도구마다 큰 차이가 없으니 본인이 가장 좋아하는 툴을 사용하면 된다. 이 책에서는 인텔리 제이의 Database 플러그인을 설치해서 진행한다.
RDS 정보 페이지에서 엔드 포인트를 확인한다. 이 엔드 포인트가 접근 가능한 URL 이므로 메모장 같은 곳에 복사해 둔다.
인텔리제이로 이동해서 다음과 같이 database 플러그인을 검색한다. 검색 결과 중 Database Navigator에서 [install]을 클릭한다.
설치가 다 되었다면 인텔리제이 재시작을 한 뒤 Action 검색으로 Database Brower 를 실행한다.
그럼 프로젝트 왼쪽 사이드바에 DB Browser가 노출된다. DB Brower 탭 바로 하단에는 기존에 노출되던 프로젝트 항목들이다. 다시 자바 코드를 볼 때는 해당 탭을 클릭하면 된다. 다음 그림과 같이 차례대로 버튼을 클릭해서 MySQL 접속 정보를 열어 본다. MariaDB는 MySQL 기반이므로 MySQL을 사용하면 된다. 본인이 생성한 RDS의 정보를 차례로 등록한다.
여기서 에러가 떠서 다른 방법으로 시도
쿼리 실행
데이터 베이스가 선택된 상태에서 현재의 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로 혼자 구현하는 웹 서비스 [이동욱 지음]
'Back-End > Springboot와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
Chapter 08. EC2 서버에 프로젝트를 배포해 보자 (2) (0) | 2022.04.07 |
---|---|
Chapter 08. EC2 서버에 프로젝트를 배포해 보자 (1) (0) | 2022.04.03 |
Chapter 07. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS (2) (0) | 2022.04.02 |
Chapter 07. AWS에 데이터베이스 환경을 만들어보자 - AWS RDS (1) (0) | 2022.04.02 |
Chapter 06. AWS 서버 환경을 만들어보자 - AWS EC2 (3) (0) | 2022.04.02 |