본문 바로가기

AWS Design Pattern/관계 데이터베이스 패턴

DB Replication - 온라인 DB 복제

ㅁ  풀어야 할 문제

시스템에서 중요한 데이터를 보호하는 기본적인 방법은 데이터 베이스에 저장하는 것이다. 하지만 센터의 대규모 재해 발생 시에 대한 대응 방안을 고려해야 한다.

 

ㅁ  해결/패턴

지리적 위치 간의 레플리케이션 패턴, 이 패턴을 통해 데이터 분실을 방지하고 데이터 액세스의 가용성을 확보한다.

클라우드 이전부터 있던 패턴이지만, 클라우드를 이용하면 저 비용으로 여러 지역을 이용할 수 있어 현실적인 대안이 되고 있다.

 

  구현

AWS에는 Region, AZ 이라는 개념이 있다. Region이 더 큰 개념으로 서울 지역에 복수의 가용존이 있는 식이다.

이 점을 고려하면 다른 데이터 센터에 문제 없이 EC2를 배치할 수 있고, 데이터베이스의 레플리케이션을 할 수 있다.

가용존 간의 리플리케이션은 RDS Multi-AZ를 이용하면 쉽게 구현할 수 있다.

-       두 대의 EC2를 지리적 위치가 다른 가용존에 배치한다.

-       각각의 EC2 RDBMS를 설치하고 레플리케이션 설정을 한다.

 

  장점

-       재해나 장애가 일어나도 데이터 분실 없이 업무를 계속할 수 있다.

-       DB에 패치를 적용할 때 레플리케이션하고 있는 데이터베이스로 액세스 위치를 바꾸면 시스템을 멈추지 않아도 된다.

ㅁ  주의점

-       마스터 DB에 장애가 일어나면 슬레이브로 페일오버하지만, 페일오버 시의 다운 타임에 주의해야 함

 

ㅁ  기타

-       재해 복구를 목적으로 하는 경우, 지리적으로 멀리 떨어진 장소(다른 위치) DB에 대해 레플리케이션 설정을 한다

-       다른 위치의 데이터베이스에 레플리케이션 할 경우, 동기식 레플리케이션을 이용하면 성능이 저하되는 경우가 있다. 그럴 때는 비동기 레플리케이션이나 정기적 레플리케이션을 검토한다.