확장형 DB만들기

Joshua_s·2021년 11월 9일
0
post-thumbnail

개념정리

DB란?

데이터 베이스란, 여러 사람에 의해 공유되며 사용될 목적으로 통합하여 관리되는 데이터의 집합입니다. 체계적으로 저장, 보관하여 사용자들에게 제공하는 것이 핵심입니다.

RDBMS란?

RDBMS = 관계형 데이터 베이스, 가장 많이 사용되고 있는 DB의 한 종류로 연관 관계가 있는 데이터 항목들의 모음을 말합니다. 열과 행으로 이루어진 데이터 테이블에 각 행은 기본키(고유식별자)로 구분되며 서로 다른 테이블 끼리 외래키를 사용하여 연결할 수 있습니다. 대표적으로 MySQL, MariaDB, Oracle등이 있으며 AWS에서는 RDS라는 서비스로 제공하고 있습니다.

RDS?

RDS(Relational Database Services), 클라우드에서 관계형 DB를 더욱 간편하게 설정, 운영, 확장할 수 있는 서비스. 보통 사용되는 6개의 DBMS 즉 Aurora, PostgreSQL, MySQL, MariaDB, Oracle, MS SQL중 원하는 엔진을 선택할 수 있음

간단한 사용법
1. 직접 EC2에 DB를 설치하여 이용
사용려는 DB를 EC2인스턴스에 직접 설치하여 운영하는 방법으로 On-Premise에서 사용하던 데이터베이스를 그대로 사용 가능하고 가장 이질감 없이 사용하는 방법.
단. 제공사에 따라서는 클라우드용 라이선스를 운영하는 경우가 있으므로 기존 라이선스 사용가능 유무를 확인해야함

2. AWS에서 제공하는 DB를 이용
RDS, NoSQL 기반의 중단없는 확장을 제공하는 DynamoDB등 여러 DB서비스를 제공하고 있으며 이 경우 DB의 설치 및 운영/관리를 AWS에서 제공하므로 관리가 필요없습니다.
RDS의 경우 라이선스가 포함된 서비스, BYOL 라이선스용 서비스와 같이 기존 라이선스를 사용할 수 있는 서비스도 제공합니다.

간략한 특징
1. 관리 용이 : 인프라의 프로비저닝/DB 설치 및 유지 필요X
2. 뛰어난 확장성 : 서비스 중단 없이 서버,스토리지 확장가능
3. 가용성, 내구성 : 안정성이 뛰어난 인프라(멀티AZ)
4. 빠른 속도 : SSD 지원 스토리지 옵션 및 오성능 OLTP에 최적화된 옵션과 비용 효율적 범용 사례에서 옵션 선택가능
5. 보안 : DB와 네트워크에 대한 액세스를 쉽게 제어

RDS의 주요 특징

1. 유연한 인스턴스 및 스토리지 확장
RDS는 다양한 CPU/메모리 옵션을 제공함, Cloudwatch와의 연계를 통해 트래픽에 따른 증설 및 사양 축소 가능, 일반적으로 SSD를 사용하며 필요에 따라 IOPS를 사용하여 서비스가 가능함, 작은 워크로드의 경우 Mgnetic을 사용하여 저렴한 비용으로 서비스 가능

2. 백업 및 복원기능
RDS는 자동 백업 설정을 통해 쉽게 백업이 가능하며, 특점 시점으로 복구할 수 있는 기능을 제공함(스냅샷), DB는 최대 35일까지 데이터를 보존할 수 있으며, 백업된 스냅샷을 이용하여 DB를 생성할 수 있음

3. 멀티 AZ를 통한 고가용성
RDS는 멀티 AZ을 황용하여 Region 내 AZ간 DB동기화 구성이 가능하며, 장애 상황 발생시 자동으로 failover를 수행할 수 있도록 고가용성을 지원함, 리플리케이션을 통하여 가용성을 지원할 수도 있음. MySQL은 읽기 트래픽을 자동관리하는 Read Replica로 분산 서비스를 제공, 이를 통해 읽기서비스에 대한 부하를 분산처리 할 수 있음, 장애 발생시 빠른 장애 복구가 가능하며 리전간 데이터 이전이 손쉽게 가능합니다.

4. RDS 암호화를 통한 보안성 강화
모든 RDS는 옵션을 통한 One-Click을 통해 데이터에 암호화 기능을 제공, 데이터 백업, 스냅샷, Replica에도 적용됩니다. KMS를 통해 사용자가 생성 관리하는 key사용 가능. 단, 암호화 Enable한 이후 disable 불가, 암호화 DB에서만 암호화 Read Revlica를 생성할 수 있음, 암호화되지 않은 백업을 암호화된 DB로의 데이터 복구 불가능

5. DB Migration 서비스
RDS는 AWS DB Migration을 통해 동종 or 다른 DB엔진으로 부터 RDS로 데이터에 대한 Migration을 지원, EC2 or RDS간의 데이터 리플리케이션을 통해 원하는 시점에 효율적인 비용으로 DB에 대한 데이터 이전을 지원

MySQL용 DB인스턴스 생성, 클라이언트를 통한 DB 연결 및 삭제

MySQL DB인스턴스 만들기

1. 서비스 -> 데이터베이스 -> RDS이동

2. 데이터베이스 메뉴 클릭 -> 데이터베이스 생성

3. 표준설정 -> MySQL -> 프리티어


4. 인스턴스 식별자, 이름, 비밀번호 입력후 이동

5. 인스턴스 크기(버스터블 선택 db.t2.micro)

6. 데이터 베이스 추가 옵션을 위해 스토리지,가용성,내구성 옵션 선택

7. 연결 옵션 입력

8. 인증 및 추가 구성

9. DB생성(5~10분정도 소요)

SQL클라이언트 다운로드 및 DB연결

1. MySQL Workbench 다운로드

2. MySQL Connetions 클릭

3. Setup New Connetion에서 RDS와 연결을 위해 AWS RDS로 이동

4. AWS RDS에서 엔드포인트확인

5. Hostname 항목에 엔드포인트 정보 입력후 Username에 RDS 생성할때 사용했던 마스터계정 이름과 비밀번호 입력후 Test Connetion을 눌러 테스트

6. 접속

DB 인스턴스 삭제

1. 데이터베이스 페이지에서 작업 -> 삭제 클릭

2. 각 상황에 맞게 체크포인트 선택후 삭제

3. DB 상태가 삭제중으로 변경(몇분뒤 삭제)

profile
devops engineer가 되기 위해

0개의 댓글