DR 이용자 가이드
자연 재해나 대형 장애 등 물리적으로 복구 불가능한 상황에 대비하기 위해 작성된 가이드입니다.
재해 복구 전략
다중 가용영역(Multi-AZ) 환경
카카오클라우드는 지리적으로 떨어진 독립적인 위치의 리전(Region)과 데이터 센터의 집합인 가용 영역(AZ)로 구성되어 있습니다. 가용 영역(AZ)은 클라우드 리전 내에서 물리적으로 격리된 컴퓨팅 리소스를 갖춘 독립된 위치로, 카카오클라우드는 리전 내에서 여러 개의 Multi-AZ를 제공합니다. Multi-AZ는 가용영역(AZ)에서 장애 발생 시, 애플리케이션과 서비스에 대한 고가용성과 내결함성을 보장할 수 있도록 합니다.
이러한 다중 가용영역(Multi-AZ) 환경에서 물리적으로 복구 불가능한 전면 서비스 중단이 발생한 상황(화재, 정전, 지진 등)을 대비할 수 있습니다.
리전 | 위치 | 가용 영역 |
---|---|---|
kr-central-2 | 대한민국 수도권 | kr-central-2-a |
kr-central-2-b | ||
kr-central-2-c | ||
kr-central-2-d (예정) | ||
kr-gov-central-1 | 대한민국 수도권 | kr-gov-central-1-a |
kr-gov-central-1-b(예정) | ||
kr-central-1 | 대한민국 수도권 | kr-central-1-a |
재해 복구 목표
카카오클라우드의 DR 이용자 가이드를 참고하여 재해 복구 전략을 수립할 경우, RTO와 RPO를 최소한으로 줄일 수 있습니다. (향후 GSLB 서비스 제공 시, Active-Active 환경으로 구성하여 RTO, RPO를 0에 가깝게 구성할 수 있음)
- 복구 시간 목표 (RTO): 장애나 중단이 발생한 후 시스템이나 서비스를 복구하는 데 걸리는 최대 허용 시간을 의미하며 비즈니스에 중요한 애플리케이션이나 데이터가 얼마나 빨리 복구되어야 하는지 결정합니다.
- 복구 시점 목표 (RPO): 장애나 중단이 발생하기 전으로 데이터를 복구할 수 있는 시점의 최대 허용 기간을 의미합니다. 허용 가능한 데이터 손실의 양을 나타내며, 데이터가 어느 시점까지 복구되어야 하는지를 정의합니다.
다중 가용영역(Multi-AZ) 환경에서의 재해 복구 전략
카카오클라우드 서비스 이용 중 재해 상황을 대비한 복구 전략 3가지를 소개합니다.
1. Backup-Restore 구성
Backup-Restore 구성은 서비스 중인 특정 AZ에 재해 상황 발생 시, 미리 스케줄링된 백업을 이용하여 효과적으로 데이터 복원이 가능합니다.
Backup-Restore Architecture
Backup-Restore 특징
- RPO(데이터 손실): 데이터가 동기화가 가능한 Active-Standby 구성에 비해 RPO(데이터 손실)이 높지만, 재해가 발생한 AZ의 데이터가 스케줄링 볼륨으로 백업되어 복원이 이루어지기 때문에 효과적인 데이터 복원이 가능합니다.
- RTO(복구 시간): 재해 상황이 발생한 경우, 복구될 AZ에 전체 인프라가 복구되기 때문에 Active-Standby 구성에 비해 RTO(복구 시간)이 더 높습니다.
- 재해 발생 시에 리소스가 복구(생성)되어 비용적으로 Active-Standby 구성보다 유리합니다.
재해 상황 발생 시, 복구 과정
Backup-Restore 구성 중 재해 상황 발생 시, 아래의 과정으로 복구를 진행할 수 있습니다.
- 관리형 데이터베이스(MySQL) 서비스를 통해 Multi-AZ 인스턴스 그룹을 구성하여 복구 AZ의 Replica로 자동 Failover (자동 백업 기능 사용 가능)
- 복구 대상 Volume 확인 후 백업된 이미지를 통해 복구 AZ에 인스턴스 복원
- 복구된 AZ의 LB IP로 DNS 레코드를 변경하여 서비스 복구
2. Active-Standby 구성
Active-Standby 구성은 Backup-Restore 구성과 유사하지만, Standby AZ에 테스트 가능한 최소 인프라가 사전에 구축되어 있습니다. 따라서 Active AZ에 재해 상황 발생 시, Standby AZ의 인프라가 확장되어 효과적으로 재해 복구가 가능합니다.
Active-Standby Architecture
Active-Standby 특징
- RPO(데이터 손실): 데이터 동기화 프로그램(마켓플레이스 또는 오픈소스 솔루션)을 활용하여 Standby AZ에 데이터 동기화를 할 경우, 실시간 동기화가 가능합니다. 따라서 RPO를 0에 가깝게 구성할 수 있습니다.
- RTO(복구 시간): Standby AZ에 Active AZ와 동기화된 최소한의 인프라가 이미 구성되어 있어 나머지 인스턴스 확장 시간에 따라 달라질 수 있으나 수 시간 내에 복구가 가능합니다.
- Backup-Restore에 비해 RTO, RPO를 더 낮게 구성할 수 있습니다.
재해 상황 발생 시, 복구 과정
Active-Standby 구성 중 재해 상황 발생 시, 아래의 과정으로 복구를 진행할 수 있습니다.
- 관리형 데이터베이스(MySQL) 서비스를 통해 Multi-AZ 인스턴스 그룹을 구성하여 Standby AZ의 Replica로 자동 Failover (자동 백업 기능 사용 가능)
- Standby AZ의 인프라로 요청이 전달될 수 있도록 Standby AZ의 LB IP로 DNS 레코드를 변경
- Standby AZ에 구성되어 있던 인스턴스의 Volume 확인 후 백업된 이미지를 통해 인스턴스를 확장
3. Active-Active 구성
Active-Active 구성은 각 AZ에 동일한 인프라가 구성되어 동시에 서비스가 되는 구조입니다. 따라서 특정 AZ에 재해 상황 발생 시에도 정상 AZ에서 서비스를 지속적으로 운영할 수 있습니다.
Active-Active 특징
- GSLB를 사용하여 각 AZ(kr-gov-central-1-a, kr-gov-central-1-b)에 동시에 서비스 가능
- 특정 AZ에 재해 상황 발생 시에도 정상 AZ에서 서비스를 지속적으로 운영이 가능하여 RTO와 RPO는 0으로 수렴
GSLB 서비스가 개발 중이며 릴리즈 후 사용 가능한 구성입니다