AWS Aurora

조민철·2025년 3월 21일
0

AWS

목록 보기
11/21
post-thumbnail

AWS Aurora

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

  • 일반 AWS RDS MySQL 보다 최대 5배, PostgreSQL 보다 3개 빠른 성능
  • 기본적으로 SSD 기반 스토리지 & 자동 확장 가능 (10GB ~ 128TB)
  • 분산 저장
  • 당연히 RDS 보다 비쌈

Aurora DB Cluster


Aurora DB는 기본적으로 클러스터 단위로 구성된다. 하나 이상의 DB 인스턴스와 해당 DB 인스턴스에 대한 데이터를 관리하는 클러스터 볼륨으로 구성된다.

  • 기본 인스턴스
    • 읽기 및 쓰기 작업을 지원하고 클러스터 볼륨의 모든 데이터 수정을 실행한다.
  • Aurora 복제본
    • 기본 인스턴스와 동일한 볼륨에 연결된다. 하지만 읽기 작업만 지원한다.
    • 총 15개까지 복제본을 구성할 수 있으며 별도의 가용 영역에 배치하여 고가용성을 유지하게 된다.
    • 기본 인스턴스를 사용할 수 없을 경우 자동으로 복제본으로 장애 조치한다.

PostgresSQL 및 MySQL용 Aurora Serverless v2

Aurora Serverless v2는 상황에 따라 자동으로 용량을 확장 및 축소하는 DB이다.
사용자가 많이 몰리는 피크 시간에는 부하를 충족하도록 용량을 늘리고 피크 시간이 끝나면 다시 용량을 줄이게 된다. 최소 용량과 최대 용량을 설정하게 용량에 맞게 늘어나고 축소된다.
따라서 주로 부하가 가변적인 상황일때 적절하다.

Aurora Serverless v1도 존재하지만, v2와 차이점이 존재한다.

  • Aurora Serverless v1
    • 고정으로 확장됨 (2배로 늘어남 1, 2, 4, ...)
    • 반대로 줄어들때도 2배로 줄어들기 때문에 급격하게 늘어나고 줄어들어 안정성이 떨어짐
    • 확장 과장이 느리고 불안정할 수 있음
  • Aurora Serverless v2
    • 점진적으로 확장됨 (1, 1.5, 2, ...)
    • 세부적으로 늘리거나 줄일 수 있음
    • 필요 이상으로 커지지 않음
    • v1에 비해 비용 절감 효과가 있음

Aurora Global Database

AWS Aurora 의 기능중 Global Database는 DB를 AWS의 전세계에 존재하는 리전에 걸쳐 클러스터를 설정할 수 있다. 이때 Aurora단일 데이터베이스를 사용하게된다.

Primary DB에서는 주로 Write(쓰기) 작업을 하고 두번째 리전에 배포되어있는 클러스터는 읽기 작업을 처리하게 된다. 이때 두 리전간 데이터는 AWS의 전용 인프라로 매우 빠르게 비동기적으로 복제가된다.
또한 전세계 리전에 배포가 되기때문에 내가 사용하던 리전이 장애가 생겨도 자동으로 Failover 되어 고가용성을 보장한다.

Aurora vs RDS

그래서 Aurora 와 RDS의 차이점을 한번 정리해보겠다.

  • Aurora
    • RDS MySQL 보다 5배 PostgreSQL 보다 3배 빠른 성능
    • SSD 기반 스토리지, 자동으로 용량 확장(최대 128TB)
    • 클러스터로 배포 (분산저장됨)
    • 기본이 멀티리전이기 때문에 장애 복구 속도가 빠름
    • 위에 자동으로 용량 확장이라 말듯했이 Auto Scaling 지원 (Serverless 사용시 인스턴스도 자동으로 확장)
  • RDS
    • EC2 기반의 완전 관리형 DB 서비스
    • 단일 노드 & Multi A-Z 선택가능
    • 인스턴스 타입에 따라 성능을 고를수 있음

이 정도로만 봐도 눈에 띄게 차이점이 많이 드러난다. 하지만 AWS의 모든 서비스가 그렇듯이 온디멘드 쓰는만큼 나온다. 즉 RDS에 비해 Aurora는 기본으로 많은 리소스가 들기 때문에 가격은 비싸다.

profile
기록의 힘은 대단하다

0개의 댓글