최근 진행한 프로젝트에서 AWS EC2를 사용해서 인스턴스를 2개 생성한 뒤 각각 Apache 서버와 DB 서버를 구축했다. 그런데 프로젝트를 끝나고
RDS라는 것에 대해 알게 되었다.
RDS(Relational Database Service)는 AWS에서 제공하는 완전 관리형 관계형 데이터베이스 서비스이다.
사용자가 데이터베이스 서버의 설정 및 유지 관리에 신경 쓰지 않고 데이터베이스를 운영할 수 있도록 지원한다.
MySQL,PostgreSQL,Oracle,Microsoft SQL Server,MariaDB, 및Amazon Aurora등의 여러 데이터베이스 엔진을 지원하며, 사용자가 선택한 엔진에 따라 다양한 기능과 성능 옵션을 제공한다.
EC2 MySQL: 직접 서버에 MySQL을 설치하고 구성해야 한다.
이를 통해 SSH로 접속해 MySQL 설정을 완전히 제어할 수 있지만, 업데이트, 백업, 보안 패치 등도 직접 관리해야 한다.RDS MySQL: AWS에서 관리하는 MySQL 환경이기 때문에 서버 관리가 필요 없다.
AWS가 자동으로 업데이트와 백업을 제공하고, 보안 관리도 지원한다.
EC2 MySQL: 확장성을 위해 별도로 클러스터링하거나 다른 서버에 연결해야 하므로 추가 작업이 필요할 수 있다.
복원성을 보장하기 위해 백업 및 복제 구성을 직접 설정해야 한다.RDS MySQL: RDS는
Multi-AZ배포를 지원해 장애 발생 시 자동으로 다른 가용 영역으로 장애 조치가 가능하다.
스냅샷 기능과 복제본 생성을 통해 쉽게 백업 및 복원할 수 있다.
EC2 MySQL: 성능 모니터링을 위해 CloudWatch 등을 수동으로 설정해야 하고, 서버 자원과 쿼리 최적화 작업도 직접 해야 한다.
RDS MySQL: RDS는 성능 모니터링을 위한 Amazon CloudWatch를 기본으로 제공하며, 성능 문제를 감지하고 최적화하는 다양한 자동화 기능이 포함되어 있다.
서버의 관리 부담을 줄이고 자동화된 백업과 복구 기능이 필요한 경우
RDS를 사용하는 것이 유리할 수 있다.
비용 절감과 유연한 커스터마이징이 필요한 경우EC2를 선택하는 것이 더 적합할 수 있다.