✅ RDS(Relational Database Service)란?

<aside> 💡 한 줄 요약 : 관계형 데이터베이스 서비스이다.

</aside>

MySQL, MariaDB 등 여러 관계형 데이터베이스 서비스를 AWS로부터 빌려서 사용하는 형태이다.

✅ RDS(Relational Database Service)를 왜 사용하는걸까?

로컬 환경(ex. 내 노트북)에서 개발할 때는 로컬 환경에 설치된 MySQL와 같은 DB를 연결해서 사용한다. 하지만 서버를 배포하고 나면 서버가 내 컴퓨터에 설치된 MySQL과 연결을 할 수가 없다. DB도 외부 인터넷에서 접근할 수 있게 같이 배포해주어야 한다.

이러한 이유 때문에 AWS RDS라는 데이터베이스를 빌려서 사용하는 것이다. 이 외에도 AWS RDS는 여러 편리한 부가기능(자동 백업, 모니터링, 다중 AZ 등)을 많이 가지고 있다.

✅ EC2에 MySQL을 직접 설치해서 운영하면 안 되나요?

AWS에 대해 공부하면서 검색하다보면 하나의 EC2에 백엔드 서버와 MySQL을 같이 설치해서 쓰는 걸 볼 수 있다. 즉, RDS를 사용하지 않고 EC2에 MySQL을 직접 설치해서 사용하기도 한다.

EC2에 MySQL을 설치하면 별도의 RDS의 비용이 나오지 않기 때문에 비용을 절감할 수 있다. 비용의 이점 때문에 학생 때 자주 활용했던 구성 방법이다. 하지만 실제 현업에서는 하나의 EC2에 백엔드 서버와 MySQL을 같이 사용하지 않는다. 왜냐하면 백엔드 서버에 장애로 인해 EC2 컴퓨터가 죽을 경우, 애꿎은 MySQL도 같이 죽기 때문이다. 또한 RDS가 제공하는 부가적인 편리한 기능이 많아서 MySQL을 직접 설치해서 쓰지 않고 RDS를 쓰기도 한다.

정리하자면 현업에서는 EC2와 RDS를 분리해서 인프라를 구성하는 경우가 대부분이다. 하지만 비용이 부담된다면 하나의 EC2에 백엔드 서버와 MySQL을 직접 설치해서 사용해도 무방하다.

RDS를 활용한 아키텍처 구성

image.png