지구정복
[AWS] RDS 활용 본문
1. 개념
Amazon RDS는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치하고, 운영 및 확장할 수 있는 웹 서비스이다. 이 서비스는 관계형 데이터베이스를 위해 경제적이고 크기 조절이 가능한 용량을 제공하고 데이터베이스 관리 작업을 가능하게 만들어 준다. Oracle, MariaDB, MS SQL server, MySQL, Postgre SQL, 등 다양한 데이터베이스 엔진을 지원한다.
RDS DB 인스턴스
RDS(Relational Database Service)의 줄임말이고 관계형 데이터베이스를 손쉽게 생성하고 확장할 수 있는 서비스이다. 클릭 몇 번만으로 손쉽게 DB인스턴스 생성이 가능하다.
사용량이 늘어나면 스토리지 용량과 IOPS를 증가시켜서 성능을 확장할 수 있다.
장애가 발생해도 Failover기능을 통해 정상적인 서비스 제공한다.
Read Replica를 이용하여 읽기 성능이 좋다. (즉 여러 곳에 데이터를 미리 복제 분산시켜 놓는 것)
RDS DB인스턴스 클래스는 db.~ 로 시작한다.
db.t1.micro 또는 db.t2.micro (마이크로 DB)
db.m3.medium / db.m3.2xlarge / db.m1.small (스탠다드 DB)
db.m2.xlarge, db.m2.4xlarge (메모리최적화된 DB)

예약해서 사용할 수 있다. 1년 또는 3년 예약해서 사용하면 할인해준다.
-RDS DB의 인스턴스 종류
MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server
2. RDS 사용 실습
서비스에서 RDS 클릭

데이터베이스 생성 클릭

mysql을 선택한다.

밑으로 내려가서 프리티어를 선택하고 admin계정의 암호를 입력한다.
나는 '12341234'로 설정했다.

연결부분에서 외부에서 연결을 허용하기 위해 퍼블릭 액세스 기능을 예로 체크한다.
그리고 보안그룹을 기존것으로 사용할건지 새롭게 생성할건지 선택하는데 새롭게 생성해서 개인키를 다시 받도록 하자.

그 외에 건드릴 거 없고 데이터베이스 생성을 클릭한다.

대시보드에 아래와 같이 DB가 나오며 생성되는데 약간의 시간이 걸린다.

RDS DB 인스턴스의 주요 기능
-PIT(Point in Time) : 원하는 시점으로 데이터 복구 가능, PIT복구는 최근 5분 전 상태로 되돌릴 수 있으며
1초 단위로 설정가능하다.
-백업 데이터 유지 기간 : 최대 35일까지 설정가능
이제 생성한 RDB DB에 접속해보자.
아래의 주소로 접속을 해줘야 한다. 뒤에 포트번호까지 붙여서

그리고 보안그룹에 해당 포트번호를 허용시켜줘야 한다. 아마 아래와 같이 이미 설정되어 있을 것이다.

이제 RDB 에 접속할 수 있도록 접속 프로그램을 설치한다.
https://dev.mysql.com/downloads/workbench/
윈도우를 선택하고 밑에 다운로드를 클릭한다.

만약 visual C++ 2019이 없을 경우 아래와 같은 에러창이 뜬다.

먼저 비주얼 c++ 2019를 설치한다.

설치를 진행한다.

그리고 mysql workbench를 설치한다.
설치가 완료되면 아래와 같다.

이제 workbench에 RDB DB 정보를 입력해줘야 한다.
아래처럼 클릭

hostname에서는 아까 endpoint의 url을 입력한다.
그리고 username은 RDB만들때 입력헀던 admin이고 store in vault를 눌러서 비밀번호를 입력한다.

이제 ok버튼을 누르면 아래와 같이 연결된다.

쿼리를 실행할 수 있다.

이제 특정시점 복구 기능을 사용해보자. 먼저 현재 DB를 스냅샷을 찍어놓는다.

스냅샷 이름을 설정하고 스냅샷 생성 클릭

그리고 새로운 DB를 create하고 테이블을 만들어준다.
아래 쿼리를 실행
create database test;
use test;
create table test_tb(
no int,
name varchar(10)
);
insert into test_tb values( 1, 'lee' );
insert into test_tb values( 2, 'park' );
insert into test_tb values( 3, 'jung' );
select * from test_tb;

이제 특정 시점을 지정해서 복구해보자.
현재시간에서 5분전으로 되돌아가본다.


그리고 식별자를 적어주고 밑으로내려서 특정시점으로 복원을 클릭한다.

그러면 복원되는 DB인스턴스가 생성중인 것을 확인할 수 있다.

'데이터 엔지니어링 정복 > Cloud(AWS, Ncloud)' 카테고리의 다른 글
[AWS] S3 서비스 이용, SNS서비스 이용 (0) | 2021.05.06 |
---|---|
[AWS] EBS(Elastic Block Storage) 만들기 및 Snapshot 기능 사용 (0) | 2021.05.05 |
[Naver Cloud] 02/10 | 클라우드 개념, 네이버 클라우드 리눅스 생성, 클라우드 리눅스 서버 사용, 클라우드 리눅스에 MariaDB설치 및 사용, DB설치되어있는 리눅스서버 생성 및 사용, 우편번호검색기 (2) | 2021.02.10 |
[AWS] 4장 가상 네트워크 공간 만들기 (0) | 2020.12.29 |
[AWS] 3장 무한대로 저장 가능한 스토리지 만들기 (0) | 2020.12.21 |