1) 다수의 노드로 읽기 쓰기가 가능한 Multi-Master
2) 한개의 쓰기 전용 노드와 다수의 읽기 전용 노드 구성의 Single-Master
- 대부분의 경우 Single-Master모드를 사용 함. 왜냐면 Multi-Master를 쓸 경우 사용하지 못하는 Aurora의 기능들이 있다.
==> 따라서 시나리오에 따라 적절하게 선택해야 함
전세계 모든 리전에서 1초 내의 지연시간으로 데이터 엑세스 가능한 서비스
다른 리전에 자동으로 복제하는 서비스
재해복구 용도로 활용 가능
1) 유사시 보조 리전 중 하나를 승격하여 메인으로 활용
2) 1초의 PRO (복구 목표 지점)
3) 1분 미만의 RTO (복구 목표 시간)
보조 리전 중에는 총 16개의 Read 전용 노드 생성 가능 (원래는 15개)
만약 위 그림처럼 서울리전에 메인클러스터가 있고 그 안에 쓰기노드와 읽기노드가 있다. 그리고 다른리전에 보조클러스터로 스토리지를 계속 복제하게 된다. 서울리전 AP-NORTHEST-2가 터지면 US-EAST-2 또는 EU-CENTRAL-1
둘 중 하나의 보조클러스터가 메인클러스터 역할을 수행한다. 데이터가 계속 복제되고 있기 때문에 약 1초 이상의 데이터는 손실X
읽기 노드가 여러개이기 때문에 쿼리 자체를 병렬로 처리
다수의 읽기 노드를 통해 쿼리를 병렬로 처리하는 모드
(1) 빠름
(2) 부하 분산 (CPU, memory)
MySQL 5.6/5.7에서만 지원
몇몇 낮은 인스턴스( db.t2, db.t3 등 )에서는 지원X
기존의 데이터베이스에서 새로운 데이터베이스를 복제
: 스냅샷을 통해 새로운 데이터베이스를 생성하는 것보다 빠르고 저렴
Copy-On-Write 프로토콜 사용
1) 리소스가 복제되었지만 수정되지 않은 경우에 새 리소스를 만들 필요 없이 복사본과 원본이 리소스를 공유하고, 복사본이 수정되었을 때만 새 리소스를 만드는 리소스 관리 기법
2) 기존 클러스터를 삭제해도 제대로 동작
기존 DB를 특정시점으로 되돌리는 것 (새로운 DB가 아닌 기존DB)
DB관리의 실수를 쉽게 만회 가능
ex) Where없는 Delete..
새로운 DB를 생성하는 것보다 훨씬 빠름 (변경부분만 반영하면 되기 때문)
앞뒤로 시점을 이동할 수 있기 때문에 원하는 시점을 빠르게 찾을수O
Backtrack Window
(1) Target Backtrack Window
- 어느 시점 만큼 DB를 되돌리기 위한 데이터를 저장할 것인지
- 지정시점 이전으로는 Backtrack 불가능
(2) Actual Backtrack Window
- 실제로 시간을 얼만큼 되돌릴지
- Target Backtrack Window보다 작아야함
Backtrack 활성화 시 시간당 DB의 변화를 저장
--> 저장된 용량만큼 비용 지불
--> DB변화가 많을수록 많은 로그 = 많은 비용
--> DB로그가 너무 많아 Actual Backtrack Window가 Target Backtrack Window(설정값)보다 작을 경우, 알림
MySQL만 가능
Aurora 생성시 Backtrack을 설정한 DB만 Backtrack 가능
Multi-Master 상태에서는 Backtrack 불가능