RDS는 AWS를 사용해서 웹서비스를 한다면 반드시 알아두어야할 서비스이다.


Amazon RDS는 클라우드에서 RDB의 사용을 설정, 관리 및 확장할 수 있게 도와주는 서비스이다. Amazon Aurora, PostgreSQL, MySQL, MariaDB, ORACLE, MSSQL 등을 지원한다.


RDS는 백업, Software patching, automatic failure detection, recovery 를 지원한다.

RDS의 기본적인 요소는 DB Instance이고, 이는 클라우드에 있는 독립적인 DB 환경이다. 

DB Instance는 정의하는 DB Instance class에 따라 Capacity(Memory) 등이 결정된다. (5Gb ~ 6Tb)

RDS 세팅을 하기 위해선 다음 과정을 거친다.


(1) AWS 접속


(2) IAM 계정 생성(Recommand) - Amazon에서는 RDS의 사용에 있어서 AWS 계정이 아닌 IAM 계정 사용을 권고한다. IAM User 계정을 만들고 그룹에 관리자 권한을 준다. 

이후 계정에 대해 Access Key를 발급받고, 그룹에 계정을 추가한 후 Security Credentials 탭에서 password를 설정한다.


(3) RDS의 DB Instance는 endpoint를 갖고 있으며 Application은 이 Endpoint로 접속하여 사용할 수 있는 구조로 되어있다.


(4) 필요한 기능에 맞게 설정한 후 Endpoint로 연결해서 사용하면 된다.


RDS에서는 이중화를 통해 장애에 대응할 수 있는 다중 사용 영역 복제와 고성능 I/O를 제공하는 Provisioned IOP Storage를 제공한다.(추가 요금 발생) 

RDS의 Instance 설정으로 License, DB Engine, DB Instance class, Storage Type, Allocated Storage, Network, Backup, Maintenance 등의 설정이 가능하다.

DB Instance를 생성하면 Instance의 Security group을 변경, MySQL Type의 Security group을 생성한다. 


RDS가 DB Instance를 Provisioning 한 이후에는 MySQL Client 또는 Utility로 Instance에 연결할 수 있다. 

연결 문자열에는 Host parameter로 DB Instance의 Endpoint DNS, Port parameter로 포트번호를 지정한다.

(ex) myinstance.123456.us-east-1.rds.amazonaws.com


> Mysql –h myinstance.123456.us-east-1.rds.amazonaws.com –p 3306 –u root -p



 Amazon RDS 는 몇가지 형태의 스토리지 옵션을 제공하며, 서버 엔지니어는 목적에 맞는 스토리지를 선택해서 사용해야 한다.

만약 인프라를 직접 설정해야한다면 종류를 잘 알아두지 않으면 불필요한 추가비용을 감당하게 될 수도 있다.


- 마그네틱(표준) : 보통 수준의 I/O 요구 사항에 대해서 적합한 비용효율적인 표준스토리지로, 크기 범위는 DB 인스턴스 엔진에 따라서 5Gb ~ 3Tb 정도이며, 경량화되어있기 때문에 현업에서는 주로 개발 및 검증용으로만 사용한다.


- 범용(SSD) : gp2라 불리고 SSD 이기 때문에 엑세스 속도가 매우 빠르며 지연시간이 한자릿수의 ms 단위이다. 중소규모의 운영용 DB에 이상적이다.


- 프로비저닝된 IOPS : 성능에 민감하고 I/O 집양적인 워크로드 및 DB 워크로드를 충족하게끔 설계되어있다. 주로 Massive 한 규모의 운영용 DB로 최적이다.



+ Recent posts