이 글은 이동욱 님의 스프링 부트와 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보다 향상된 성능
- 좀 더 활성화된 커뮤니티
- 다양한 기능
- 다양한 스토리지 엔진
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 추가하기
- RDS 연결 & 보안 → VPC 보안 그룹
- EC2 보안 그룹 ID 복사
- RDS 보안 그룹의 인바운드에 보안 그룹 ID와 IP 추가
🍓 Databas 플러그인 설치
- Workbench, SQLyog 등
- 인텔리제이 Database 플러그인
🍓 콘솔창에서 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;
'Book > 스프링 부트와 AWS 웹 서비스' 카테고리의 다른 글
[배포 자동화] Github Actions & S3 & CodeDeploy (0) | 2023.02.26 |
---|---|
[AWS] EC2 서버에서 프로젝트 배포하기 (0) | 2023.02.25 |
[AWS] 서버 환경 구성하기 - EC2 (0) | 2023.02.22 |
JUnit 테스트에 Spring Security 적용하기 (0) | 2023.02.22 |
스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (feat. Google, Naver) (0) | 2023.02.17 |
댓글