본문 바로가기

Infrastructure/Cloud Computing

[AWS] RDS

RDS란?

Amazon RDS(Relational Database Services)는 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있게 해주는 서비스다. 하드웨어 프로비저닝, 설정, 백업과 같은 작업을 자동화하여 비용 효율적이가 가변 크기의 데이터베이스 서비스를 제공한다. RDS를 사용하는 조직은 빠른 성능, 고가용성, 보안 및 호환성을 RDS를 통해 제공받으면서 비즈니스를 위한 애플리케이션 개발에 집중할 수 있다. AWS의 DMS(Database Migration Service)를 사용하면 서비스 중단없이 사용 중이던 데이터베이스를 다른 데이터베이스로 마이그레이션이 가능해진다. 이러한 서비스를 사용하여 온프레미스 환경에서 운영 중이던 데이터베이스를 서비스 중단없이 클라우드 환경의 RDS로 이관이 가능하다.


데이터베이스 서비스 선택사항.

AWS에서 데이터베이스 서비스를 사용하는 방법은 두 가지가 있다.

1. 직접 EC2에 데이터베이스를 설치하여 사용하는 방법: 온프레미스 환경에서 데이터베이스를 사용하는 것과 같은 방식으로 EC2 인스턴스에 데이터베이스를 직접 설치하여 사용하는 방법이다. 온프레미스 환경에서 클라우드 환경으로 처음 넘어왔다면 이질감 없이 사용이 가능하다. 하지만 데이터베이스 제공 밴더사에 따라서 클라우드용 라이선스를 따로 운영하는 경우가 있으므로 밴더사를 통해 라이선스를 확인해야한다.

2. AWS에서 제공하는 데이터베이스 서비스를 이용하는 방법: AWS는 관계형 데이터베이스 서비스인 Amazon RDS, NoSQL 기반의 서비스인 Amazon DynamoDB, 대용량 데이터웨어 서비스를 제공하는 Amazon Redshift와 같은 데이터베이스 서비스를 제공하고 있다. 이러한 서비스의 특징은 데이터베이스 설치부터 운영관리를 전부 AWS에서 전부 제공한다는 뜻이다. 이러한 서비스들을 이용하는 조직은 데이터베이스 운영에 소비되는 시간을 비즈니스를 위한 애플리케이션 개발에 투자할 수 있다.

온프레미스, EC2에 데이터베이스를 설치하여 사용하는 방법, AWS에서 제공하는 데이터베이스 서비스를 이용하는 방법에 따라 서비스의 범위는 아래의 그림과 같다.

그림1

RDS의 주요 특징.

1. 확장 가능한 인스턴스와 스토리지: RDS는 다양한 CPU/메모리 옵션을 제공한다. 또한 Cloudwatch와 연동하여 트래픽에 따라 자동으로 Scale Out이 되며 스토리지 또한 필요에 따라 유연하게 확장과 축소가 가능하다. 일반적인 워크로드의 경우 General Purpose를 사용하고 빠른 속도와 대용량 처리가 필요한 경우 Provisioned IOPS를 사용하여 처리할 수 있다. 반면 액세스 빈도가 낮은 데이터의 경우 Magnetic을 사용하여 비용을 줄일 수 있다.

2. 간편한 백업 및 복원: RDS의 기능 중에 자동 백업을 사용하여 간편하게 백업이 가능하며 저장되어 있는 스냅샷을 통해 원하는 시점으로 쉽게 복구가 가능하며 필요한 경우 새로운 데이터베이스를 생성할 수도 있다.

3. 고가용성을 위한 다중 AZ: 다중 AZ(가용영역, 물리적으로 분리되어 있는 영역)를 활용하여 고가용성을 유지시켜준다. 또한 AZ간 데이터베이스 동기화(Synchronization) 구성이 가능하며 장애 상황 발생 시 자동으로 데이터베이스 Failover를 수행할 수 있도록 고가용성을 지원한다. MySQL의 경우 읽기 트래픽을 자동 관리하는 Read Replica로 Read 전용 인스턴스를 분산하여 트래픽을 분산시킬 수 있다.

4. 암호화(Encryption)옵션을 통한 보안성 강화: RDS는 옵션을 통한 One-Click을 통해 데이터에 대한 암호화 기능을 제공한다. 이러한 암호화 기능은 데이터 백업, 스냅샷에도 적용된다. KMS를 통해 사용자가 생성하고 관리하는 키 사용이 가능하며 RDS DB 생성 시에 암호화를 "Enable"로 설정하였다면 이후 암호화 "Disable"로 수정은 불가능하다. 암호화 DB에서만 암호화 Read Replica를 생성할 수 있다.

5. DMS를 통한 간편한 데이터 이관: AWS Database Migration Service를 통해 같은 DB엔진, 또는 다른 DB 엔진으로도 손쉽게 마이그레이션이 가능하다. EC2, RDS 간의 데이터 리플리케이션을 통해 원하는 시점에 비용 효율적인 제이터베이스에 대한 데이터 이관을 지원한다.

그림2

이 글은 아마존 웹 서비스 AWS Discovery Book 도서와 AWS 공식문서를 참고하여 작성하였다.

이미지 출처:

'Infrastructure > Cloud Computing' 카테고리의 다른 글

[AWS] ELB  (0) 2022.02.17
[AWS] Route53  (0) 2022.02.16
[AWS] Network  (0) 2022.02.14
[AWS] S3  (0) 2022.02.14
[AWS] EC2  (0) 2022.02.13