다중 영역(Multi-AZ)& 읽기 전용(Read Replica) 복제

zwundzwzig·2023년 3월 18일
1

AWS

목록 보기
4/4

AWS RDS에는 가용성과 확장성을 위해 다중 영역 multi-az 이라는 기능과 읽기 전용 read replica이라는 기능이 있다. 이 두 가지 기능을 알아보자.

Multi-AZ

이름 그대로 여러 개의 AZ(가용 영역)에 RDS를 분산하는 방식이고, DB의 가용성을 유지하는 데 그 목적이 있다.


하나의 가용 영역에 설치된 RDS의 master 인스턴스, 즉 active 인스턴스에 문제가 생기면 다른 AZ에 설치된 Standby 인스턴스가 master로 자동 승격돼 서버를 운영한다.

Standby 인스턴스는 평상시 master 인스턴스에 발생하는 데이터 변화를 동기 방식(sync)으로 복제하여(Aurora는 비동기식) 동일한 데이터를 유지하기만 한다. 즉 읽기 전용 복제본으로 사용할 수 없고 이것이 목적이라면 Read Replica를 사용해야 한다.

RDS는 서비스 도메인이 있는데 평상시엔 master 인스턴스의 IP를 사용하다가 active 인스턴스에 문제가 발생하면 이 도메인은 Standby 인스턴스 IP로 변경돼 자동으로 장애를 복구한다. 즉, DNS를 활용한 Fail-Over이다.

DNS 질의 결과는 시스템 내부에 특정 시간 주기(TTL: Time To Live) 만큼 캐싱 되기 때문에 AWS는 이 값을 60초 미만으로 설정할 것을 권고한다.

유일한 단점은 동기식 복제가 지속적으로 발생하기에 Single-AZ 보다 Write/Commit 작업에 지연이 생길 수 있다.

따라서 Multi-AZ 방식을 구성할 때는 RDS 인스턴스 타입을 Provisioned IOPS로 설정하면 좋다.

Read Replica

DB는 일반적으로 읽기 작업이 쓰기 작업보다 많다는 점에 기인하여 READ 트랜잭션은 Read Replica에서 처리하도록 애플리케이션을 설계한다.

이러면 상대적으로 Primary 인스턴스에 부하가 덜 가고 결과적으로 쓰기와 읽기가 분리되어 부하가 분산되므로 각각의 트랜잭션이 빨라진다.

같은 가용 영역을 사용하면 Read Replica는 소스 인스턴스와 동일한 기본 스토리지를 공유하므로 비용이 절감되는데, 다른 가용 영역, 심지어는 다른 리전에도 설치될 수 있다.

쓰기/읽기 전용 인스턴스에 문제가 생기면 Read Relica는 Primary 인스턴스로 승격된다.

Amazon RDS는 리전 간에 복제하더라도 원본 DB 인스턴스와 읽기 전용 복제본 간에 퍼블릭 키를 암호화하거나 AWS 보안 구성(예: 보안 그룹 항목을 추가)을 통해 안전한 통신 채널을 설정할 수 있다.

또한 AWS Key Management Service(KMS)를 통해 저장 중 암호화된 Amazon RDS 데이터베이스 인스턴스에 대해서도 읽기 전용 복제본을 생성할 수 있다.

출처

profile
개발이란?

0개의 댓글