AWS Relational Database Service는 클라우드에서 관계형 데이터베이스를 쉽게 설정, 운영 및 확장할 수 있는 관리형 서비스입니다. 사용자가 직접 데이터베이스 서버를 설피하고 관리하는 대신, RDs가 데이터베이스의 설치, 패치, 백업, 복구, 확장 및 고가용성과 같은 관리 작업을 자동화하여 개발자나 관리자가 애플리케이션 개발에 집중할 수 있도록 돕는다.
특징
AWS RDS는 관계형 데이터베이스 관리를 간소화하고 자동화하는 다양한 기능을 제공한다. 이를 통해 사용자는 데이터베이스 운영의 복잡성에서 벗어나 애플리케이션 개발에 집중할 수 있다.
관리형 서비스
- RDS의 가장 큰 특징은 관리형 서비스(Managed Service)라는 점이다.
- AWS가 데이터베이스의 운영체제(OS) 패치, 백업, 복구, 장애 조치 등 번거로운 관리 작업을 대신 처리해준다.
- 사용자는 데이터베이스 엔진, 인스턴스 크기, 스토리지 용량 등만 설정하면 된다.
다양한 데이터베이스 엔진 지원
RDS는 여러 종류의 인기 있는 관계형 데이터베이스 엔진을 지원한다. 사용자는 자신의 애플리케이션 요구사항에 맞는 엔진을 유연하게 선택할 수 있다.
- Amazon Aurora: MySQL 및 PostgreSQL과 호환되는 클라우드에 최적화된 데이터베이스이다. 고성능과 고가용성을 제공하며 MySQL보다 최대 5배, ProstgreSQL보다는 최대 3배 빠른 성능을 보인다.
- MySQL, ProstgreSQL, MariaDB: 널리 사용되는 오픈소스 데이터베이스로 개발자들이 익숙하게 사용할 수 있다.
- Oracle, SQL Server: 엔터프라이즈 환경에서 많이 사용되는 상용 데이터베이스.
고가용성 및 내결함성
RDS는 데이터베이스의 고가용성을 보장한다.
다중 AZ(Multi-Availability Zone) 배포
- 기본(Primary) 데이터베이스를 한 가용 영역(AZ)에 두고 동일한 데이터를 복제하는 예비(Standby) 인스턴스를 다른 가용 영역에 둔다.
- 기본 인스턴스에 장애가 발생하면 AWS가 자동으로 예비 인스턴스로 전환하여 서비스 중단을 최소화한다.
자동 장애 복구
- 장애가 발생하면 DNS 엔드포인트를 예비 인스턴스로 자동으로 업데이트하여 애플리케이션이 계속해서 데이터베이스에 연결될 수 있도록 한다.
확장성
RDS는 데이터베이스의 성능을 유연하게 확장할 수 있는 기능을 제공한다.
- 스토리지 및 컴퓨팅 확장: DB 인스턴스의 컴퓨팅(CPU, RAM)이나 스토리지 용량을 필요에 따라 다운타임 없이 온라인 상태에서 확장할 수 있다.
- 읽기 전용 복제본(Read Replicas): 데이터베이스의 읽기 트래픽을 분산하기 위해 읽기 전용 복제본을 생성할 수 있다. 이를 통해 DB의 쓰기 성능에 영향을 주지 않고 읽기 성능을 확장할 수 있다. 읽기 전용 복제본은 다른 가용 영역이나 다른 리전에도 생성할 수 있다.
자동 백업 및 복구
RDS는 데이터베이스의 안전을 위해 자동 백업 기능을 제공한다.
- 자동 백업: 사용자가 설정한 백업 보존 기간(Backup Retention Period) 동안 데이터베이스의 스냅샷을 자동으로 생성한다.
- 시점 복구(Point-in-Time Recovery): 원하는 특정 시점으로 데이터베이스를 복구할 수 있어 실수로 데이터를 삭제하거나 손상시켰을 때 유용하다.
- 수동 스냅샷: 원하는 시점에 수동으로 스냅샷을 생성하여 영구적으로 보관할 수 있다.