처음 만난 AWS 문서


7.3 RDS 기본 구조

지금부터는 RDS 기본 구조를 알아보도록 하겠습니다.
아래 그림은 RDS의 기본 구조를 나타낸 것입니다.

RDS Structure

먼저 AWS리전과 가용 영역이 나타나 있고, 그 중 가용 영역 1번에 M이라고 써있는 Master DB 인스턴스가 있습니다.
이 Master DB를 통해 읽기와 쓰기 작업이 이뤄지게 됩니다.
참고로 Master DB는 Primary DB라고 부르기도 합니다.

그리고 같은 리전 내에 다른 가용 영역에 S라고 써있는 Standby DB가 있습니다.
위 그림에서는 현재 2번 가용 영역에 존재하는 것을 볼 수 있습니다.
Standby DB는 데이터를 읽거나 쓰는 용도로 사용하는 것이 아닌 장애를 예방하기 위해서 DB 이중화 작업을 위해 사용하는 것입니다.
앞에서 잠깐 등장했던 Multi-AZ가 바로 이것이라고 보면 됩니다.
Standby라는 단어의 의미 그대로 대기 중인 인스턴스인 것이죠.

Master DB의 데이터는 Standby DB로 동기 복제가 이뤄집니다.
그래서 Master DB와 Standby DB는 모든 시점에 모든 데이터가 동일하다고 볼 수 있습니다.

그리고 R이라고 써있는 인스턴스는 Read Replica입니다.
우리 말로는 읽기 전용 복제본이라고 부르고, 데이터를 쓰는 용도가 아닌 읽기만 하는 용도로 사용하는 인스턴스입니다.

그림에서 볼 수 있는 것처럼 이 Read Replica는 Master DB와 같은 리전에 있을 수도 있으며, 다른 리전에 존재할 수도 있습니다.
이처럼 다른 리전에 Read Replica를 사용함으로써, 멀리 떨어져 있는 국가에서도 빠르게 데이터를 읽을 수 있도록 하는 것이죠.

그리고 Master DB의 데이터는 Read Replica로 비동기 복제가 이뤄집니다.
그래서 Master DB에 있는 데이터가 항상 Read Replica에 있다고는 할 수 없지만, 비동기 복제 자체가 굉장히 짧은 시간 내에 이뤄지기 때문에 거의 동일하게 데이터가 유지된다고 봐도 됩니다.

RDS Failover

그리고 만약 이 그림처럼 Master DB에 장애가 발생하게 되면 장애를 극복하기 위한 Failover가 이뤄집니다.
이 때 Standby DB가 Master의 역할을 하게 됩니다.
그래서 읽기와 쓰기 작업이 Standby DB를 통해 이뤄지게 됩니다.


그렇다면 다중 AZ와 읽기 전용 복제본은 어떤 차이가 있을까요?

Multi-AZ vs Read Replica

먼저 다중 AZ는 동기식 복제가 이뤄지므로 높은 안정성을 갖고 있으며, 읽기 전용 복제본은 비동기식 복제가 이뤄지므로 높은 확장성을 갖고 있습니다.

그리고 다중 AZ는 기본 인스턴스의 데이터베이스 엔진만 활성하지만, 읽기 전용 복제본은 모두 접근이 가능하며 읽기 확장도 가능합니다.

또한 다중 AZ는 자동 백업을 대기 상태에서 수행하지만, 읽기 전용 복제본은 기본 제공된 백업 구성이 없습니다.

그리고 다중 AZ는 단일 지역 내에 항상 2개의 가용성 영역을 확장하고, 읽기 전용 복제본은 가용 영역, 교차 AZ 또는 교차 지역 내에있을 수 있습니다.

그리고 다중 AZ는 기본 데이터베이스 엔진 버전 업그레이드가 발생하지만, 읽기 전용 복제본은 데이터베이스 엔진 버전 업그레이드는 원본 인스턴스와 독립됩니다.

마지막으로 다중 AZ는 문제가 감지되면 대기 모드로 자동 Failover 조치를 하며, 읽기 전용 복제본은 독립형 데이터베이스 인스턴스로 수동으로 승격 될 수 있습니다.

다중 AZ와 읽기 전용 복제본의 이러한 차이점을 잘 이해하고 사용하는 것이 좋습니다.

https://youtu.be/eMzCI7S1P9M

위 링크는 AWS에서 만든 RDS 공식 소개영상 링크입니다.
관심 있는 분들은 영상을 한 번씩 보기 바랍니다.


마지막 업데이트: 2023년 11월 11일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.