데이터베이스 운영 방식에 대해 팀장님과 고민을 가졌고 비용, 성능 및 확장성, 관리 편의성 총 세 가지의 요구사항에 맞는 방안으로 AWS RDS와 AWS Lightsail 중 어떤 것이 더 적합할지 논의했으며, AWS RDS와 AWS Lightsail에 대해 정리해보았습니다.
AWS에서 제공하는 관리형 데이터베이스 서비스로, 데이터베이스의 설치, 패치, 백업, 복구 등을 자동으로 처리하고 MySQL, PostgreSQL, Oracle 등 다양한 데이터베이스를 지원하며, 고가용성과 확장성을 제공한다.
AWS의 가상 프라이빗 서버(VPS) 서비스로, 웹사이트나 간단한 애플리케이션을 빠르게 배포하고 관리할 수 있고 고정된 월별 요금제로 예측 가능한 비용 관리가 가능하며, 인스턴스, 스토리지, 네트워킹 등을 포함한 패키지를 제공한다.
VPS(Virtual Private Server)란?
하나의 물리 서버를 여러 가상 서버로 분할하여 각 사용자가 독립적인 서버 환경을 사용할 수 있게 하는 호스팅 방식
AWS RDS의 요금제는 온디맨드와 예약형 인스턴스 요금제를 제공한다.
AWS Lightsail은 고정된 월별 요금제를 제공한다. 예를 들어, 1GB 메모리와 1vCPU를 갖춘 인스턴스는 월 $5에 이용할 수 있고 또한, 프리 티어를 통해 특정 플랜을 3개월간 무료로 사용할 수 있다.
대규모 애플리케이션에 적합하며, 읽기 전용 복제본(Read Replica)과 Multi-AZ 배포를 통해 고가용성과 확장성을 제공하고 이를 통해 다수의 서버를 운영하며 데이터베이스의 부하를 분산하고 안정성을 높일 수 있다.
읽기 전용 복제본(Read Replica)란?
원본 데이터베이스의 읽기 전용 복제본을 생성하여, 읽기 작업을 분산시켜 성능을 높이는 기능Multi-AZ 배포란?
여러 가용 영역에 데이터베이스 복사본을 만들어 장애가 발생해도 자동으로 대체 복사본으로 전환해 주는 고가용성 기능
로드 밸런서를 제공하여 웹 트래픽을 여러 인스턴스로 분산시킬 수 있고 또한, 필요에 따라 인스턴스를 추가하여 수평 확장이 가능하며, 데이터베이스 운영 측면에서는 RDS에 비해 기능이 제한적일 수 있다.
다양한 데이터베이스를 지원하며, 자동 백업, 패치 관리, 모니터링 등 다양한 관리 기능을 제공하고 또한, 고급 설정과 세부적인 튜닝이 가능하여 복잡한 요구사항을 충족할 수 있다.
사용하기 쉬운 인터페이스를 제공하며, 데이터베이스의 생성, 백업, 모니터링 등을 간편하게 수행할 수 있고 그러나 고급 설정이나 세부적인 튜닝이 필요한 경우에는 제한이 있을 수 있다.
소규모 애플리케이션으로 예산이 제한적이라면 AWS Lightsail 인스턴스를 고려해볼 수 있다. 반면, 대규모 애플리케이션이라면 AWS RDS를 사용하는 것이 적합하다고 생각한다. 현재 다른 애플리케이션들이 이미 AWS Lightsail 인스턴스에서 운영되고 있으므로, 네트워크 지연을 최소화하기 위해 AWS Lightsail 인스턴스 내에 데이터베이스를 유지하는 것이 좋다고 생각합니다.