[Spring&AWS][7-2] RDS에 접속해보자

7539 단어 rdsawsTILTIL

[ 내 PC에서 RDS 접속해 보기 ]

✅ RDS의 보안 그룹에 내 PC의 IP를 추가

로컬 PC에서 RDS로 접근하기 위한 작업을 해보자!

  • RDS 세부정보 페이지에서 [보안 그룹] 항목 클릭한다.

  • VPC 보안 그룹의 이름을 클릭하면 다음과 같이 보안 그룹 ID보안 그룹 이름을 확인할 수 있다.

  • EC2에 사용된 보안 그룹의 그룹 ID를 복사한 뒤, RDS 보안 그룹의 인바운드에 이 값과 IP를 추가해준다.

  • 인바운드 규칙 유형에서는 MYSQL/Aurora를 선택하면 자동으로 3306 포트가 선택된다.
  • 이렇게 보안 그룹 IDIP를 추가하면 EC2RDS 간에 접근이 가능해진다.
    • EC2의 경우 이후에 여러 대가 될 수 있는데, 매번 IP를 등록할 수는 없으니 이렇게 보안 그룹 간에 연동을 진행하는 것이다.

이렇게 RDS와 개인 PC, EC2 간의 연동 설정이 끝났다!


✅ Database 플러그인 설치

로컬에서 제대로 연결이 되었는지 테스트를 해보자!

로컬에서 원격 데이터베이스로 붙을 때 GUI 클라이언트를 많이 사용한다.
MySQL의 대표적인 클라이언트로 Workbench, SQLyog(유료), Sequel Pro(맥 전용), DataGrip(유료) 등이 있지만, 큰 차이가 없으니 자신이 가장 좋아하는 틀을 사용하면 된다.

나는 인텔리제이에 Database 플러그인을 이용해보도록 하겠다.

  • RDS 정보 페이지에서 엔드 포인트를 확인한 뒤, 복사해둔다.
    • 이 엔드 포인트가 접근 가능한 URL이다.
  • IntelliJ로 이동해서 database 플러그인을 검색한 뒤, Database Navigator를 설치해주자.

  • 설치가 완료되었으면, 인텔리 우측에 있는 datebase 탭을 클릭한 뒤,
    MariaDB를 설정하여 Data Source를 생성한다.

  • 다음과 같이 RDS 정보를 입력한 뒤, Test Connection을 클릭하여 연결이 잘 되는지 확인한다.

    • 연결에 성공하였다면 APPLYOK 클릭하기
  • 모든 성공적으로 마쳤다면 다음과 같이 RDS의 스키마가 노출된다.

콘솔창을 클릭하여 아래의 SQL을 실행해보자.

use AWS RDS웹콘솔에서지정한데이터베이스명;
  • 쿼리가 수행할 database를 선택하는 쿼리이다.
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에서 RDS 접근 확인 ]

  • 먼저 지난 시간에 했던 것처럼 EC2에 ssh 접속한다.
  • 접속에 성공했다면 MySQL 접근 테스트를 위해 MySQL CLI를 설치한다.
sudo yum install mysql
  • 설치가 다 되었으면 로컬에서 접근하듯이 계정, 비밀번호, 호스트 주소를 사용해서 RDS에 접속한다.
mysql -u 계정 -p -h 엔드포인트
  • 패스워드까지 입력한다. (RDS 생성 시 설정했던 호스트계정 패스워드)
    이제 다음과 같이 EC2에서 RDS로 접속되는 것을 확인할 수 있다.

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

show databases;

내가 만들었던 freelec 데이터베이스가 있다는 것을 확인할 수 잇다.


다음 시간에는 실제로 서비스를 배포해보도록 하겠다!

좋은 웹페이지 즐겨찾기