AWS에 존재하는 관계형 DB 서비스가 AWS RDS만 존재하는건 아니다. 이번엔 AWS Aurora를 알아보겠다.
Aurora는 MySQL, PostgresSQL 데이터베이스와 호환되는 엔터프라이즈급 관계형 데이터베이스이다. 이렇게만 보면 RDS와 별 차이점이 없어보인다...
간략하게 RDS와의 차별점은 엔터프라이즈급 즉, 고성능이며 Auto Scale-out을 지원한다. 또한 고가용성 장애복구 등 많은 기능을 지원한다. 정리해보면 다음과 같다.

Aurora DB는 기본적으로 클러스터 단위로 구성된다. 하나 이상의 DB 인스턴스와 해당 DB 인스턴스에 대한 데이터를 관리하는 클러스터 볼륨으로 구성된다.
Aurora Serverless v2는 상황에 따라 자동으로 용량을 확장 및 축소하는 DB이다.
사용자가 많이 몰리는 피크 시간에는 부하를 충족하도록 용량을 늘리고 피크 시간이 끝나면 다시 용량을 줄이게 된다. 최소 용량과 최대 용량을 설정하게 용량에 맞게 늘어나고 축소된다.
따라서 주로 부하가 가변적인 상황일때 적절하다.
Aurora Serverless v1도 존재하지만, v2와 차이점이 존재한다.
Aurora Serverless v1Aurora Serverless v2AWS Aurora 의 기능중 Global Database는 DB를 AWS의 전세계에 존재하는 리전에 걸쳐 클러스터를 설정할 수 있다. 이때 Aurora 는 단일 데이터베이스를 사용하게된다.

Primary DB에서는 주로 Write(쓰기) 작업을 하고 두번째 리전에 배포되어있는 클러스터는 읽기 작업을 처리하게 된다. 이때 두 리전간 데이터는 AWS의 전용 인프라로 매우 빠르게 비동기적으로 복제가된다.
또한 전세계 리전에 배포가 되기때문에 내가 사용하던 리전이 장애가 생겨도 자동으로 Failover 되어 고가용성을 보장한다.
그래서 Aurora 와 RDS의 차이점을 한번 정리해보겠다.
Auto Scaling 지원 (Serverless 사용시 인스턴스도 자동으로 확장)Multi A-Z 선택가능이 정도로만 봐도 눈에 띄게 차이점이 많이 드러난다. 하지만 AWS의 모든 서비스가 그렇듯이 온디멘드 쓰는만큼 나온다. 즉 RDS에 비해 Aurora는 기본으로 많은 리소스가 들기 때문에 가격은 비싸다.