먼저 AWS RDS를 알아보기 전에 RDS 와 NoSQL의 차이점을 알아보겠다. RDS는 관계형 데이터베이스 라고 부르고 NoSQL은 비관계형 데이터베이스라고도 부른다.
관계형 데이터베이스에는 대표적으로 MySQL, MariaDB 등 존재하고 비관계형 데이터베이스는 MongoDB, Redis 등 많은 DB가 존재한다.
RDS 와 NoSQL의 특징들을 간단히 정리해보겠다.
Scale-out(수평 확장)에 용이하다.AWS RDS(Relational Database Service)는 AWS에서 사용할 수 있는 관계형 데이터베이스이다. 관리형 데이터베이스로 사용자는 DB 서버를 관리할 필요가 없어 애플리케이션에만 집중할 수 있다.
관리형 데이터베이스는 사용자가 DB를 설치 운영 및 Scale-up 등 관리적은 부분에서 효율적이다.
AWS RDS는 다음과 같은 DB 엔진을 제공한다.

DB 인스턴스는 AWS에서 격리된 데이터베이스 환경이다. 즉, DB의 가상화된 서버라고 보면 된다. 하지만 AWS는 이런 하드웨어(가상화)를 관리를 자동으로 해준다.
EC2에도 여러가지 인스턴스가 있듯이 DB 인스턴스 클래스에도 여러가지 분야에서 특화된 인스턴스를 확인할 수 있다. ex. 메모리특화, 범용, 등등
인스턴스 클래스
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.Summary.html

AWS RDS는 Activy-Stanby로 작동하며 기본으로 설정되어있는 프라이머리 DB가 죽는다면 새로운 Stanby 인스턴스가 승격되어 장애 조치가 되어 고가용성을 확보할 수 있다.

AWS RDS는 읽기 전용 복제본을 생성할 수 있다. 읽기 전용 복제본을 생성하게 되면 프라이머리 DB에서 비동기식으로 계속 복제를하여 DB를 동기화 시킨다. 하지만 읽기 전용 복제 인스턴스를 왜 사용하는걸까?

AWS RDS는 KMS를 사용하여 저장된 데이터를 암호화를 제공한다.