Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스이다. 그리고 비관리형 서비스와 관리형 서비스가 있다.
비관리형(Unmanaged)는 사용자가 확장, 내결함성 및 가용성을 직접 관리하고, 관리형(Managed)은 일반적으로 확장, 내결함성 및 가용성이 서비스에 내장되어 있어서 사용자가 관리할 필요가 없는 것이다. 비용은 관리형 서비스가 더 비싸나 인건비 측면까지 고려하면 관리형 서비스가 더 저렵하다.
기존의 관계형 데이터 베이스는 몇가지 문제점이 있다
1. 서버 유지 관리 및 에너지 소비
2. 소프트웨어 설치 및 패치
3. 데이터베이스 백업 및 고가용성
4. 확정성 제한
5. 데이터 보안
6. OS(운영 체제) 설치 및 패치
AWS RDS는 이러한 점을 보완해주는 서비스이다. AWS RDS를 사용하면 AWS가 알아서 규모 조정, 고가용성, 데이터베이스 백업, DB 소프트트웨어패치, DB 설치, 운영 체제 패치, 서버 유지 관리, 랙 및 스택 서버, 전력, 네트워크 등을 알아서 관리해주고 사용자는 오직 애플리케이션 최적화에만 신경쓰면 되는 PaaS(Platform as Service)이다.
RDS는 보안이 중요하기 때문에 Public Subnet에 두지 않고 Private Subnet에 둔다. DB의 접근은 Public Subnet에 있는 EC2 Instance가 한다. 그리고 고가용성을 위해서 DB는 2개 이상 만들고 가용영역도 2개 이상 만든다.
DB와 연결 된 것을 Master DB라고 하고 백업용 DB를 Secondary, Standby DB라고 한다. 마스터 DB에 쓰여지는 것이 동시에 백업용 DB에도 같이 쓰여지는 것을 동기식이라고 한다.
이와 반대로 DB를 원본(primary)와 read replica용으로 나누어 구성하기도 하는데, 이 경우에는 비동기식이라고 한다. 쓰는 것보다 읽는 것이 많을 때 주로 쓰이는데, Select 문 등은 읽기전용 DB로 요청하게끔 하여서 로드를 줄인다. AWS의 Aurora 같은 경우 읽기전용을 최대 16개까지 만들 수 있고, 다른 리전에도 쓰일 수 있다.
Amazon RDS 같은 경우 이럴 경우에 적합하다.
Amazon RDS 같은 경우 이럴 경우에 부적합하다.
Kolaybet
https://kolaybetgiris.net