본문 바로가기
Book/스프링 부트와 AWS 웹 서비스

[AWS] 데이터베이스 환경 구성하기 - RDS

by 달의 조각 2023. 2. 24.
이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 정리한 글입니다.

 

1. RDS 인스턴스 만들기
2. 내 PC에서 RDS 접속하기

3. EC2에서 RDS 접속하기

 

  RDS는 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스이다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영 작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스이다.

1. 인스턴스 만들기

아래와 같은 이유로 MariaDB를 선택했다.

  • 가격
  • Amazon Aurora 교체 용이성

RDS의 가격은 라이센스 비용 영향을 받는다. 상용 데이터베이스인 오라클, MSSQL이 오픈소스인 MySQL, MariaDB, PostagreSQL보다는 동일한 사양 대비 더 가격이 높다. 또한 Amazon Aurora는 MySQL과 PostgreSQL을 클라우드 기반에 맞게 재구성하여 성능을 높인 데이터베이스이다.

MariaDB는 오픈소스 데이터베이스 중 가장 인기 있는 제품인 MySQL 기반으로 만들어졌다. MySQL은 단순 쿼리 처리 성능이 좋고 신뢰성이 높다. MariaDB는 MySQL의 창시자가 만들었기에 전반적인 사용법이 유사하다.

  • 동일 하드웨어 사양으로 MySQL보다 향상된 성능
  • 좀 더 활성화된 커뮤니티
  • 다양한 기능
  • 다양한 스토리지 엔진

퍼블릭 액세스: 이후 보안 그룹에서 지정된 IP만 접근 가능하도록 할 것이다

 

2. 운영 환경에 맞는 파라미터 설정하기

파라미터 그룹 → 그룹 생성 → 파라미터 편집

  • 타임존: Asia/Seoul
  • Character Set
    • character_set_client → utf8mb4 (이모지 저장 가능! 🥰)
    • character_set_connection
    • character_set_database
    • character_set_filesystem
    • character_set_results
    • character_set_server
    • collation_connection → utf8mb4_general_ci
    • collation_server
  • Max Connection → 150

파라미터 그룹을 DB에 연결하기

 


 

🔮 내 PC에서 RDS 접속하기

🍓 RDS 보안 그룹에 PC의 IP 추가하기

  1. RDS 연결 & 보안 → VPC 보안 그룹
  2. EC2 보안 그룹 ID 복사
  3. RDS 보안 그룹의 인바운드에 보안 그룹 ID와 IP 추가

🍓 Databas 플러그인 설치

  • Workbench, SQLyog 등
  • 인텔리제이 Database 플러그인

RDS의 접속 URL 붙여넣기

 

🍓 콘솔창에서 SQL 실행하기

use 데이터베이스명;

드래그하여 실행

# 현재의 character_set, collation 설정 확인
show variables like 'c%';
# MariaDB는 RDS 파라미터 그룹으로는 변경이 안 되는 character_set_database, collation_connection 수정
ALTER DATABASE apupu
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_general_ci';

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

 

🍓 간단한 쿼리문 만들어 보기

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 접근 확인

sudo yum install mysql
mysql -u 계정 -p -h HOST주소
show databases;

댓글