AWS

[ AWS ] - Rds 기본

algml0703 2022. 6. 21. 13:20
반응형

AWS RDS (Relational Database Service)

 Rds는 aws에서 제공하는 관계형 데이터베이스 서비스로 완전관리형으로써, aws 자체에서 확장성, 높은 가용성, 데이터베이스 백업 등을 사용자를 대신하여 알아서 관리해줌으로써 사용자는 오직 서비스 로직에만 집중할 수 있도록 해준다.

Rds에서 제공되는 데이터 베이스 엔진
‣ Amazon Aurora ( mysql 호환 버전, postersql 호환 버전)
‣ MySQL
‣ MariaDB
‣ PosterSQL
‣ Oracle
‣ SQL Server

각각의 DB 엔진마다 파라미터 그룹을 설정할 수 있다.


⭐️ DB 인스턴스

aws 클라우드에 구성된 데이터베이스 환경으로, RDS의 기본 구성요소이다. DB 인스턴스에는 인스턴스 식별자가 존재하는데 이는 해당 인스턴스의 엔드포인트 구성시 활용된다. 

RDS가 생성되면 마스터 사용자 계정이 생성된 것을 확인할 수 있는데, 해당 정보와 엔드포인트를 통해 해당 인스턴스에 접근할 수 있다.

⭐️ DB 인스턴스 클래스

DB 인스턴스의 컴퓨팅 및 메모리 용량 설정을 담당하는 부분으로, 크게 범용 DB 클래스와 메모리 최적화 클래스, 버스트 클래스로 나뉜다.

* 인스턴스 클래스 세부 타입 확인 https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html

각각의 DB 엔진에 따라 지원되는 DB 인스턴스 클래스가 다르다.

** 주의점 **
 DB인스턴스가 VPC 설정이 되어 있지 않은 경우, 인스턴스를 생성하여도 해당 인스턴스에 접속이 되지 않을 수 있다. 그런 경우 VPC 설정을 별도로 해야한다. 
vpc 설정 참고 : https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_VPC.Non-VPC2VPC.html

‣ vCPU
가상 CPU의 수를 의미한다. 
* CPU( 중앙 처리 장치) : 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치이다.

메모리(GiB: GiBiByte)
DB 인스턴스에 할당되는 RAM을 의미한다.
* RAM (Random Access Memory ) : 데이터를 저장하고 조회하는 기억장치로, 단기간의 데이터 기록에 이용된다.
// RAM 좀 더 알아볼 것

네트워크 (Mbps)
인터넷 속도 단위이다. 단위가 클수록 속도가 빠르다고 볼 수 있다.

⭐️  DB 인스턴스 스토리지

1. 범용 SSD : 비용효율적이며, 디스크 기반 스토리지보다 엑세스 속도가 빠르다.

2. 프로비저닝된 IOPS SSD : 성능에 민감하고, 임의 엑세스 I/O 처리량이 일정한 경우 유용하다.

3. 마그네틱 : I/O 요구 사항이 보통이거나, 가끔씩 집중적으로 발생한느 경우 유용하다.

 

# DB 인스턴스 생성시 VPC 보안 그룹 생성 방법

 

Rds를 통해서 파라미터 그룹 생성 후 DB 인스턴스 연결하기

DB 인스턴스 생성 방법

2022.06.09 - [AWS] - [ AWS ] - RDS 설정하기 (with 워크벤치와 prisma 연동)

 

파라미터 그룹 생성하기

1. 콘솔에 rds입력하여 접속한다.

2. 좌측에서 파라미터 그룹을 선택한다.

3. 파라미터 그룹 생성을 클릭한다.

4. 아래와 같이 설정 후 생성 버튼을 클릭한다.

파라미터 그룹은 생성한 데이터베이스 인스턴스에 대한 세부 설정이라고 볼 수 있다. 그러므로 파라미터 그룹 생성시 그에 맞추어 설정한다.

  • 파라미터 그룹 패밀리 : 어떠한 데이터베이스에 대한 파라미터 그룹을 만들지
  • 유형 : DB Parameter Group과 DB Cluster Parameter Group 중에서 선택
  • 그룹 이름 : 파라미터 그룹 식별자
  • 설명 : 해당 파라미터 그룹에 대한 설명

5.  방금전에 생성한 파라미터 그룹을 클릭한다.

6.  우측 위편에 파라미터 편집을 클릭한다.

7.  여러 설정 사항이 있는데 일반적으로 아래의 부분을 많이 설정한다. (이 부분은 좀 더 찾아본 후 추가하기로...)

이름 설명   
time_zone 해당 디비에 들어가는 시간 설정에 관한 부분 Asia/Seoul
character_set_client   utf8mb4

character_set_server db 서버의 기분 문자셋에 관한 부분 utf8mb4
character_set_database db의 기본 character set 설정에 관한 부분 utf8mb4
character_set_connection   utf8mb4
character_set_results   utf8mb4
character_set_filesystem    
collation_connection    
collation_server    

* mysql과 mariadb에서 이모티콘을 값으로 넣을 수 있게 하기 위해서는 utf8mb4 설정을 해주어야 한다. 이모티콘 같은 문자 인코딩은 4바이트의 utf8 방식을 이용하는데, mysql에서는 기존에 3바이트의 utf방식을 이용하다가 이후에 업데이트되면서 4바이트의 utf8mb4가 추가되었다. 때문에 mysql에서 이모티콘 사용을 위해서는 utf8mb4 인코딩 설정을 해주어야 한다.

8. 설정 변경 후 우측 위편의 변경 사항 저장을 클릭한다.

9. DB인스턴스에 파라미터 그룹 연결하기

파라미터 그룹 설정을 변경하려는 DB 인스턴스 창으로 들어간 후 우측 위편의 수정을 클릭한다.

창이 나오면 계속 내려서 추가 구성 부분의 DB 파라미터 그룹 부분에서 변경하려는 파라미터 그룹을 선택후 맨 밑에서 계속을 클릭한다.

변경된 내용 확인 후 DB 인스턴스 수정 클릭한다.

 

출처 

https://kitty-geno.tistory.com/11

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Welcome.html

utf8mb4 관련 https://medium.com/oldbeedev/mysql-utf8mb4-character-set-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-da7624958624

 

반응형