프로젝트 기획 단계에서 하는 고민 중 한가지는 'DB를 어디에 구축할까?' 다. 대부분 AWS EC2에 직접 구축하는 방법과 AWS RDS를 사용하는 방법으로 나뉜다. EC2와 RDS의 관계를 말할 때 드는 비유 중 하나가 ‘직접 요리해먹는 것과 요리사를 고용하는 것’이다. 이해는 가지만 확 와닿지는 않는다. 나와 같은 고민을 하고 있는 독자들을 위해 비교해 보았다.
RDS
Relational Database Service의 약자로, 클라우드에서 관계형 데이터 베이스를 쉽게 설정, 운영, 확장할 수 있게 하는 관리형 데이터베이스 서비스다. 데이터베이스에 대한 관리 작업을 최소화하고 개발에 집중할 수 있다.
장점
자동화 기능, 보안 기능과 같은 다양한 기능이 지원되어 운영 및 유지보수에 대한 부담이 줄어든다.
필요에 따라 리소스를 확장하거나 축소하여 유연하게 대응 가능하다.
EC2에 직접 구축하기
모든 걸 관리해 주는 RDS와 다르게 모든 걸 직접 관리해야 한다.
클라우드 환경에서 관리하는 데이터베이스를 구축하고 운영해보는 경험을 쌓을 수 있다.
장점
- 직접 관리하기 때문에 입맛대로 튜닝할 수 있다.
- RDS 보다 고점이 높다.
- 상대적으로 비용이 저렴하다.
RDS vs EC2
AWS 가이드에 나와있는 의사 결정 프로세스이다. 꼭 EC2로 해야 되는 상황이 아니고서야 RDS를 두고 EC2를 사용할 이유는 없다.
비용적으로 본다면 EC2가 더 저렴하지만 관리에 소요되는 시간까지 고려해 보면 결코 저렴하지 않다.
그러나 경험 및 공부 목적으로 구축하는 것은 추천한다. 개인 프로젝트나 소규모 프로젝트를 하면서 DB와 인프라 공부하기에는 너무 좋은 환경이라고 생각한다.
전문가 - EC2
~
그 사이 - RDS
~
초심자 - EC2
이런 느낌일까?
레퍼런스