로컬 PC에서 RDS로 접근하기 위한 작업을 해보자!
RDS 세부정보 페이지에서 [보안 그룹]
항목 클릭한다.
VPC 보안 그룹
의 이름을 클릭하면 다음과 같이 보안 그룹 ID
와 보안 그룹 이름
을 확인할 수 있다.
EC2에 사용된 보안 그룹의 그룹 ID
를 복사한 뒤, RDS 보안 그룹의 인바운드
에 이 값과 IP
를 추가해준다.MYSQL/Aurora
를 선택하면 자동으로 3306
포트가 선택된다.보안 그룹 ID
와 IP
를 추가하면 EC2
와 RDS
간에 접근이 가능해진다.이렇게 RDS와 개인 PC, EC2 간의 연동 설정이 끝났다!
로컬에서 제대로 연결이 되었는지 테스트를 해보자!
로컬에서 원격 데이터베이스로 붙을 때 GUI 클라이언트를 많이 사용한다.
MySQL의 대표적인 클라이언트로 Workbench
, SQLyog
(유료), Sequel Pro
(맥 전용), DataGrip
(유료) 등이 있지만, 큰 차이가 없으니 자신이 가장 좋아하는 틀을 사용하면 된다.
나는 인텔리제이에 Database 플러그인을 이용해보도록 하겠다.
IntelliJ로 이동해서 database
플러그인을 검색한 뒤, Database Navigator
를 설치해주자.
설치가 완료되었으면, 인텔리 우측에 있는 datebase
탭을 클릭한 뒤,
MariaDB
를 설정하여 Data Source
를 생성한다.
다음과 같이 RDS 정보를 입력한 뒤, Test Connection
을 클릭하여 연결이 잘 되는지 확인한다.
APPLY
→ OK
클릭하기모든 성공적으로 마쳤다면 다음과 같이 RDS
의 스키마가 노출된다.
콘솔창을 클릭하여 아래의 SQL을 실행해보자.
use AWS RDS웹콘솔에서지정한데이터베이스명;
use freelec;
character_set
, collation
설정 확인하는 쿼리show variables like 'c%';
📌 만약
character
필드에utf8mb4
,collation
필드에utf8mb4_general_ci
가 적용되어 있지 않다면 아래의 쿼리를 실행시키자.ALTER DATABASE freelec CHARACTER SET = 'utf8mb4' COLLATE = 'utf8mb4_general_ci';
select @@time_zone, now();
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;
EC2
에 ssh 접속한다.MySQL CLI
를 설치한다.sudo yum install mysql
계정
, 비밀번호
, 호스트 주소
를 사용해서 RDS에 접속한다.mysql -u 계정 -p -h 엔드포인트
패스워드
까지 입력한다. (RDS 생성 시 설정했던 호스트계정 패스워드)
이제 다음과 같이 EC2에서 RDS로 접속되는 것을 확인할 수 있다.
RDS에 접속되었으면 실제로 생성한 RDS가 맞는지 간단한 쿼리를 한 번 실행해보자.
show databases;
내가 만들었던 freelec
데이터베이스가 있다는 것을 확인할 수 잇다.
다음 시간에는 실제로 서비스를 배포해보도록 하겠다!