DB & AWS Knowledge
Aurora Cross Region Replica 와 Global database 의 특징 본문
Aurora Cross Region Replica 와 Global database 의 특징
`O` 2023. 5. 15. 17:35해당 페이지에서는 서로 다른 Region 간 Aurora Cluster 를 사용 할 때 쓰는
Cross Region Replica 와 Global Database 의 차이에 대해서 다룬다.
해당 내용은 아래의 URL 들을 참조한다.
[1] https://aws.amazon.com/rds/aurora/faqs/?nc1=h_ls
[2] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html
또한 이 내용은 아래의 이전 게시글과 연관되어 있다.
[4] 2023.05.12 - [DB 관련 지식/DB 기본 개념] - Physical Replication 과 Logical Replication
Aurora Cross Region Replica 및 Global database 공통점
일반적으로 두 기능은 여러 Region 간의 데이터들을 동기화 시키기 위해 구현된 기능이다.
On-premise 에서는 이를 각기 다른 나라의 서버에서 구현 및 동기화시, 매우 멀리 떨어져 있는 지리적인 특성상
동기화 지연이 필연적으로 발생한다.
AWS 에서는 내부적인 설계를 통하여 이를 최소화할 수 있는 메커니즘이 있기에 이 기능을 공식 기능으로 제공한다.
Aurora Cross Region Replica 와 Global database 의 특징 (차이점)
위의 기능적인 목적의 공통점 이외에 Cross Region Replica 와 Global Database 는
아래와 같은 측면에서 서로 다른 특징을 보인다.
생성 방법
- 인스턴스 생성 메뉴에서 Cross Region Replica 는 'Create cross-Region read replica' 를,
Global database 는 Add AWS Region 을 사용한다.
생성 후 결과 화면
- 아래 화면과 같이 Cross Region Replica 가 생성된 region 을 직접 선택해야 확인 할 수 있다.
- 그러나 Global database 는 아래 화면과 같이 Primary, Secondary Cluster 라 하여 서로 독립된 Cluster 이 하나로 묶인 구조임을 확인 할 수 있다.
Cluster 연결 관계
- 위의 화면에서 확인할 수 있듯이 Cross Region Replica 들은 특정 Region 의 Writer 를 중심으로 구성되는 것을 확인 할 수 있다. 그러나 Global database 는 인스턴스 단위가 아닌 Cluster 단위로 동기화가 되고 이를 Primary Cluster 중심으로
구성하는 것을 볼 수 있다.
Failover 방식
- 위의 구성 차이에 따라 Failover 또한 차이를 보이는데 Cross Region Replica 는 일반적으로 수행되는 Aurora Cluster 의 Failover 과정이 아닌 promote 라 하여 독립적인 cluster 로 만든 후 이를 사용하는 방식을 따르게 된다. 즉, 기존에 writer 로 이용하던 instance 가 소속된 cluster 와 분리가 먼저 선행되어야 한다. 이러한 특성으로 인하여, reader 로 사용되던 cluster 가 writer 가 되면 기존에 writer 로 사용하던 region 으로 나중에 다시 failover (failback) 가 불가능하다. 이 때는 다시 read replica 를 기존 region 에 만든 후 위의 과정을 거쳐야 한다.
Global database 는 failover 시, 단일 cluster 의 instance 단위가 아닌 cluster 단위로 primary, secondary 가 바뀐다.
이는 위의 Document [3] 에서 화면 예시가 나와 있다.
동기화 방식
- 동기화 방식에서도 큰 차이가 있는데, 이 내용은 위의 게시글 [4] 를 참조 후, 확인하면 좋다.
Document 에 따르면 Cross Region Replica 는 MySQL, PostgreSQL 구분 없이 logical replication 을 사용한다.
이 때, MySQL 은 logical replication 사용 시, binlog 동기화를, PostgreSQL 은 엔진 자체가 지원하는 logical replication 을 사용한다.
이와 달리, Global Database 는 page (data block) 단위의 내용을 그대로 동기화 시키는 physical replication 을 사용한다.
지원 영역
현재, Aurora PostgreSQL 에서는 Cross Region Replica 기능을 지원하지 않는다.
Aurora MySQL 에서는 둘다 사용 가능하다.
정리
이와 같이 위의 두 기능은 비슷해 보이면서도 서로 다른 차이점을 보인다.
그렇기에 위의 차이점을 파악하고 현재 시점에서 비용 및 기타 지원 영역들을 고려해서 둘 중 어떤 게 적절한지 선택 하는게 좋다.
물론, 개인적으로는 자체적으로 failover 기능을 지원하고 동기화 지연 가능성이 더 낮은 physical replication 을 사용하는 global database 가 비용을 감당 할 수 있다면 더 좋은 선택이 될 것이라고 본다.
'AWS 및 클라우드 지식 > AWS RDS, Aurora 및 관련 지식' 카테고리의 다른 글
Performance Insight (PI) 의 DB 로드 분류 (슬라이스) 유형 (0) | 2023.06.13 |
---|---|
RDS, Aurora Cluster 의 자동 패치 수행 옵션 (AMVU) 특징 (0) | 2023.06.12 |
RDS, Aurora Cluster 의 일시 중지 기능과 최대 7일 중지 가능의 이유 (0) | 2023.05.11 |
Aurora Cluster 의 리더 엔드포인트 특성 (0) | 2023.05.09 |
Aurora Cluster 의 storage 종류 (0) | 2023.03.17 |