AWS RDS vs EC2 RDMS 어느것을 사용할까?
AWS RDS?
Amazon Relational Database Service는 Amazon Web Services에서 제공하는 분산 관계형 데이터베이스 서비스입니다. Amazon RDS 는 AWS 클라우드의 관계형 데이터베이스에 간편한 설정, 운영 및 확장을 제공합니다.
기본적으로 클라우드에서 데이터베이스를 자동으로 구성하고 유지 관리하는 SaaS 기반 서비스입니다.
MySQL, MariaDB, PostgreSQL, Oracle 및 Microsoft SQL Server를 포함하여 RDS에서 지원하는 여러 데이터베이스 엔진이 있습니다.
각 엔진에 대해 선택하는 데이터베이스 인스턴스 유형은 CPU, 메모리, 스토리지 및 네트워킹 요구 사항에 따라 다릅니다.
EC2 RDMS?
Amazon EC2 에 자신이 원하는 DBMS를 설치하여 사용하는 방법 입니다. EC2 와 RDMS에 대한 유지 관리를 사용자가 직접 하여야 합니다. EC2 설계에 따라 DB엔진, IOPS 등 성능이 달라집니다.
RDS 대 EC2
간단히 말해서 RDS와 EC2는 모두 고성능 애플리케이션을 지원하고 확장 가능한 보안 환경 내에서 데이터베이스를 구축하는 데 사용할 수 있습니다.
데이터베이스 엔진을 수동으로 관리하고 구성하지 않으려면 Amazon RDS가 더 유용할 수 있습니다. RDS는 구성, 백업 및 패치와 같이 시간이 많이 소요되는 작업을 자동으로 관리하므로 애플리케이션 구축에 집중할 수 있습니다.
Amazon EC2 클라우드 컴퓨팅 플랫폼을 사용하면 필요한 만큼 가상 서버를 생성할 수 있습니다. 보안, 네트워킹을 수동으로 구성하고 저장된 데이터를 관리해야 합니다. 고유한 가상 서버를 갖는 것은 엔터프라이즈 애플리케이션을 처리하는 좋은 방법이며 SYS/SYSTEM 사용자 액세스를 포함하여 데이터베이스를 완전히 제어할 수 있습니다.
DB 분석, 튜닝, DB보안 어플리케이션등 다양한 3rd Party Tool을 사용할 수 있습니다.
AWS RDS 및 EC2의 성능, 확장성 및 기타 여러 기능에 대해 다음과 같이 표로 정리 합니다.
특징 | RDS | EC2 |
성능 | 인스턴스를 설정하는 동안 특정 IOPS 성능을 원하면 옵션으로 설정 할 수 있습니다. 이러한 IOPS 프로비저닝은 비용이 많이 들지만 빠르고 일관된 입력 및 출력 성능을 제공합니다. | EC2에서는 필요한 지연 시간과 IOPS를 얻기 위해 적절한 크기의 스토리지 볼륨을 선택해야 합니다. |
확장성 | RDS는 수평 및 수직 확장 모두를 위해 Amazon의 확장 도구와 통합됩니다. 더 크거나 더 강력한 인스턴스로 수직으로 확장해야 하는 경우 몇 번의 클릭으로 완료할 수 있습니다. | EC2에서는 확장 가능한 아키텍처를 수동으로 설정해야 합니다. 이 프로세스에는 여러 EC2 인스턴스 설정, 로드 밸런싱, 가용성 그룹 구성 등이 포함됩니다. 이 부분에 많은 시간과 노력, 경험이 필요 할 수 있습니다. |
저장 | 범용 SSD: 비용 효율적인 선택 옵션인 SSD 볼륨은 최대 3000 IOPS를 처리할 수 있습니다. 프로비저닝된 IOPS: 오랜 기간 동안 높은 IOPS 처리량이 필요한 작업량이 많은 데이터베이스에 적합한 옵션입니다. 마그네틱: 마그네틱 스토리지 관리 | IOPS와 지연 시간은 EC2 인스턴스 유형에 따라 다릅니다. |
보안 | RDS는 저장 및 전송 모두에서 암호화를 제공합니다. | EC2에서 암호화는 EBS 볼륨 수준에서 이루어지며 데이터베이스 수준에서도 구성할 수 있습니다. |
라이선스 | Amazon RDS는 SQL Server 라이선스에 대해 “라이선스 포함” 모델만 지원합니다. | 개발 차트는 GitLab의 사용자가 볼 수 있습니다. |
비용 | 대부분 비싸다. | EC2에서 데이터베이스를 설치하고 관리하는 것은 RDS보다 저렴하지만 백업, 복구 및 로드 관리는 우리에게 맡겨집니다. |
백업 | 백업을 자동화할 수 있습니다. AWS Cloudwatch는 백업 실패 및 완료 등에 대한 알림을 수신할 수 있습니다. | 여기에서 백업을 활성화해야 합니다. 여기에서는 AWS Cloudwatch를 모니터링에 사용할 수 없습니다. |
결론
RDS와 EC2 중에서 선택하기 전에 기능을 살펴보고 필요에 더 적합한 것을 선택해야 합니다.
비용을 절약 하려면 EC2 RDMS 가 선택 입니다. 하지만 모든 관리를 해야 하는것이 가장큰 부담 입니다.
EC2와 비교하여 RDS는 다음과 같은 이점이 있습니다.
- 데이터베이스 솔루션은 고도로 최적화된 구성과 함께 제공되며 데이터베이스 및 장애 조치 클러스터를 수동으로 설정할 필요가 없습니다.
- 데이터베이스 프로비저닝, 보안 및 버전 업데이트와 같은 작업을 수행하는 데 DBA가 필요하지 않을 수 있습니다.
- 데이터베이스 관리 작업보다 데이터베이스 최적화, 성능 튜닝 및 스키마 최적화와 같은 작업에 단순히 집중할 수 있습니다.
- 또한 RDS는 재해 발생 시 모든 데이터를 자동으로 백업합니다.
다음은 EC2가 선호되는 몇 가지 이유입니다.
- Amazon EC2를 사용하면 소프트웨어 스택, 데이터베이스 및 운영 체제를 완벽하게 제어할 수 있습니다.
- 현재 Amazon RDS에서 지원하지 않는 Oracle 기능과 3rd 분석, 튜닝, 최적화 같은 추가 기능을 사용할 수 있습니다.
- 데이터베이스의 크기와 성능 요구 사항을 쉽게 최대화할 수 있습니다.
비용, 시간, 프로세스 제어 또는 자동화 유형 및 기술에 따라 선택이 완전히 달라집니다.
DB를 완벽하게 제어할 수 있고 관리가 가능하다면 EC2 RDMS 이지만 그렇지 않다면 RDS를 사용하는것을 권하고 싶습니다.