ㅁ 풀어야 할 문제
시스템에서 중요한 데이터를 보호하는 기본적인 방법은 데이터 베이스에 저장하는 것이다. 하지만 센터의 대규모 재해 발생 시에 대한 대응 방안을 고려해야 한다.
ㅁ 해결/패턴
지리적 위치 간의 레플리케이션 패턴, 이 패턴을 통해 데이터 분실을 방지하고 데이터 액세스의 가용성을 확보한다.
클라우드 이전부터 있던 패턴이지만, 클라우드를 이용하면 저 비용으로 여러 지역을 이용할 수 있어 현실적인 대안이 되고 있다.
AWS에는 Region, AZ 이라는 개념이 있다. Region이 더 큰 개념으로 서울 지역에 복수의 가용존이 있는 식이다.
이 점을 고려하면 다른 데이터 센터에 문제 없이 EC2를 배치할 수 있고, 데이터베이스의 레플리케이션을 할 수 있다.
가용존 간의 리플리케이션은 RDS의 Multi-AZ를 이용하면 쉽게 구현할 수 있다.
- 두 대의 EC2를 지리적 위치가 다른 가용존에 배치한다.
- 각각의 EC2에 RDBMS를 설치하고 레플리케이션 설정을 한다.
- 재해나 장애가 일어나도 데이터 분실 없이 업무를 계속할 수 있다.
- DB에 패치를 적용할 때 레플리케이션하고 있는 데이터베이스로 액세스 위치를 바꾸면 시스템을 멈추지 않아도 된다.
- 마스터 DB에 장애가 일어나면 슬레이브로 페일오버하지만, 페일오버 시의 다운 타임에 주의해야 함
ㅁ 기타
- 재해 복구를 목적으로 하는 경우, 지리적으로 멀리 떨어진 장소(다른 위치)의 DB에 대해 레플리케이션 설정을 한다
- 다른 위치의 데이터베이스에 레플리케이션 할 경우, 동기식 레플리케이션을 이용하면 성능이 저하되는 경우가 있다. 그럴 때는 비동기 레플리케이션이나 정기적 레플리케이션을 검토한다.
'AWS Design Pattern > 관계 데이터베이스 패턴' 카테고리의 다른 글
Sharding Write - 쓰기 효율화 (0) | 2021.02.05 |
---|---|
Inmemory DB Cache - 자주 사용되는 데이터 캐시화 (0) | 2021.02.05 |
Read Replica - 읽기 전용 레플리카를 통한 부하분산 (0) | 2021.02.05 |