RPO와 RTO: 재해복구의 핵심 지표를 이해하는 방법
RPO는 데이터 손실 허용량, RTO는 복구 시간 목표입니다. SAA-C03 시험 필수 개념인 RPO/RTO의 차이와 DR 전략 선택 기준을 정리합니다.
관련 시험 도메인
- Domain 2: Design Resilient Architectures
핵심 요약 (BLUF)
RPO(복구 시점 목표)는 "얼마나 많은 데이터 손실을 허용할 수 있는가"이고, RTO(복구 시간 목표)는 "얼마나 빨리 복구해야 하는가"입니다. RPO는 백업 주기를, RTO는 DR 전략의 복잡성을 결정합니다.
시험 팁
시험 핵심: RPO = 과거 방향 (데이터 손실량), RTO = 미래 방향 (복구까지 시간)
RPO와 RTO 한눈에 비교
| 지표 | 의미 | 질문 | 방향 | 영향 |
|---|---|---|---|---|
| RPO | 복구 시점 목표 | 데이터를 얼마나 잃어도 되나? | 과거 ← | 백업 주기 결정 |
| RTO | 복구 시간 목표 | 언제까지 복구해야 하나? | 미래 → | DR 전략 결정 |
RPO와 RTO 시간선:
← RPO → ← RTO →
│ │
마지막 백업 │ 재해 발생 │ 복구 완료
│ │ │ │ │
────●─────────┼────────●───────┼────────●────→ 시간
│ │ │ │ │
10:00 11:00 12:00 13:00 14:00
RPO = 2시간 (마지막 백업 ~ 재해 발생)
→ 10:00~12:00 사이 데이터 손실
RTO = 2시간 (재해 발생 ~ 복구 완료)
→ 12:00~14:00 동안 서비스 중단
RPO (Recovery Point Objective)
RPO란?
RPO는 재해 발생 시 허용 가능한 데이터 손실량을 시간으로 표현한 지표입니다. 마지막 백업 시점부터 재해 발생 시점까지의 데이터가 손실됩니다.
RPO 예시:
RPO = 1시간인 경우:
├── 매시간 백업 필요
├── 최대 1시간 분량의 데이터 손실 허용
└── 예: 12:00 백업 → 12:45 재해 → 45분 데이터 손실
RPO = 24시간인 경우:
├── 하루 1회 백업으로 충분
├── 최대 24시간 분량의 데이터 손실 허용
└── 예: 어제 백업 → 오늘 재해 → 최대 24시간 손실
RPO에 영향을 주는 요소
| 요소 | 낮은 RPO | 높은 RPO |
|---|---|---|
| 백업 주기 | 분 단위 | 일 단위 |
| 복제 방식 | 동기식/준동기식 | 비동기식 |
| 백업 방법 | 연속 백업, 로그 전송 | 전체 백업 |
| 비용 | 높음 | 낮음 |
RPO를 낮추는 AWS 서비스
RPO별 AWS 솔루션:
RPO ~0 (데이터 손실 거의 없음):
├── DynamoDB 글로벌 테이블
├── Aurora Global Database (1초 미만 복제)
└── S3 Cross-Region Replication
RPO 분 단위:
├── RDS Multi-AZ (동기식)
├── RDS Read Replica (비동기식, 지연 있음)
└── EBS 스냅샷 자동화
RPO 시간 단위:
├── AWS Backup 예약
├── RDS 자동 백업
└── S3 버저닝
RPO 산정 기준
비즈니스 질문으로 RPO 결정:
1. "지난 1시간 데이터를 잃으면 어떻게 되나요?"
→ 치명적: RPO < 1시간
2. "하루치 데이터를 잃으면 복구할 수 있나요?"
→ 수동 재입력 가능: RPO = 24시간
3. "트랜잭션 데이터 손실이 허용되나요?"
→ 금융 시스템: RPO ~0
시험 팁
시험 포인트: RPO는 백업 주기와 데이터 복제 방식을 결정. RPO = 1시간이면 최소 1시간마다 백업 필요
RTO (Recovery Time Objective)
RTO란?
RTO는 재해 발생부터 서비스 복구까지의 목표 시간입니다. 서비스 다운타임의 최대 허용치를 정의합니다.
RTO 예시:
RTO = 4시간인 경우:
├── 재해 발생 후 4시간 내 복구 완료 필요
├── 4시간 이상 다운타임 시 비즈니스 영향
└── Warm Standby 또는 Pilot Light 전략 적합
RTO = 0 (제로 다운타임):
├── 다운타임 허용 불가
├── Active-Active 또는 자동 장애 조치 필수
└── Multi-AZ, 글로벌 테이블 등 사용
RTO에 영향을 주는 요소
| 요소 | 짧은 RTO | 긴 RTO |
|---|---|---|
| 인프라 상태 | 상시 가동 | 재해 시 생성 |
| 자동화 수준 | 자동 장애 조치 | 수동 복구 |
| DR 전략 | Active-Active | Backup & Restore |
| 비용 | 높음 | 낮음 |
RTO를 줄이는 AWS 서비스
RTO별 AWS 솔루션:
RTO ~0 (즉시 복구):
├── Multi-AZ 배포 (자동 장애 조치)
├── Route 53 장애 조치 라우팅
├── Global Accelerator
└── DynamoDB 글로벌 테이블
RTO 분 단위:
├── Aurora 자동 장애 조치 (~30초)
├── RDS Multi-AZ (~60초)
├── Warm Standby DR 전략
└── AWS Elastic Disaster Recovery
RTO 시간 단위:
├── Pilot Light DR 전략
├── EC2 Auto Recovery
└── CloudFormation 자동화
RTO 24시간 이상:
└── Backup & Restore
RTO 산정 기준
비즈니스 질문으로 RTO 결정:
1. "서비스가 1시간 중단되면 매출 손실은?"
→ $100,000/시간: RTO < 1시간
2. "고객이 24시간 기다릴 수 있나요?"
→ 내부 시스템: RTO = 24시간 가능
3. "규제 요구사항이 있나요?"
→ 금융 규제: RTO 명시적 요구사항 확인
시험 팁
시험 포인트: RTO는 DR 전략을 결정. RTO가 짧을수록 비용이 높은 전략(Active-Active, Warm Standby) 필요
RPO와 RTO의 관계
비용과의 트레이드오프
RPO/RTO와 비용 관계:
비용
↑
│ ●
│ ●
│ ●
│ ●
│ ●
│ ●
└─────────────────────────────→ 낮은 RPO/RTO
24h 4h 1h 15m 1m 0
RPO/RTO가 낮을수록:
├── 더 자주 백업/복제 (RPO)
├── 더 많은 인프라 상시 운영 (RTO)
└── 비용 기하급수적 증가
독립적인 목표
RPO와 RTO는 별도로 설정됩니다. 예를 들어:
| 시나리오 | RPO | RTO | 전략 |
|---|---|---|---|
| 은행 코어 | ~0 | ~0 | Active-Active |
| 이커머스 | 5분 | 1시간 | Warm Standby |
| 백오피스 | 4시간 | 8시간 | Pilot Light |
| 아카이브 | 24시간 | 72시간 | Backup & Restore |
워크로드별 예시
워크로드별 일반적인 RPO/RTO:
금융 거래 시스템:
├── RPO: ~0 (트랜잭션 손실 불가)
├── RTO: ~0 (즉시 복구)
└── 전략: Active-Active + 동기 복제
전자상거래:
├── RPO: 5분 (최근 주문 보호)
├── RTO: 30분 (매출 손실 최소화)
└── 전략: Warm Standby + 비동기 복제
내부 HR 시스템:
├── RPO: 4시간 (일일 업무)
├── RTO: 24시간 (다음 영업일까지)
└── 전략: Pilot Light + 정기 백업
로그 아카이브:
├── RPO: 24시간 (분석 목적)
├── RTO: 72시간 (긴급하지 않음)
└── 전략: Backup & Restore
AWS 서비스별 RPO/RTO
데이터베이스 서비스
| 서비스 | 구성 | RPO | RTO |
|---|---|---|---|
| RDS Single-AZ | 자동 백업 | 5분 | 수 시간 |
| RDS Multi-AZ | 동기 복제 | ~0 | 1-2분 |
| Aurora | 6개 복사본 | ~0 | ~30초 |
| Aurora Global | 크로스 리전 | 1초 | 1분 |
| DynamoDB | 글로벌 테이블 | ~0 | ~0 |
스토리지 서비스
| 서비스 | 기능 | RPO | 비고 |
|---|---|---|---|
| S3 | 버저닝 | ~0 | 객체 단위 복구 |
| S3 | CRR | 분 단위 | 비동기 복제 |
| EBS | 스냅샷 | 시간 단위 | 스냅샷 주기에 따름 |
| EFS | 백업 | 일 단위 | AWS Backup 연동 |
컴퓨팅 서비스
| 서비스 | 기능 | RTO | 비고 |
|---|---|---|---|
| EC2 | Auto Recovery | 분 단위 | 상태 확인 기반 |
| EC2 | ASG | 분 단위 | 새 인스턴스 시작 |
| Lambda | 다중 AZ | ~0 | 자동 분산 |
| ECS/EKS | 다중 AZ | ~0 | 컨테이너 재배포 |
실무 적용
RPO/RTO 산정 프로세스
1단계: 비즈니스 영향 분석 (BIA)
├── 시스템별 중요도 분류
├── 다운타임 비용 산정
└── 데이터 손실 영향 평가
2단계: 목표 설정
├── RPO: 허용 가능한 데이터 손실
├── RTO: 허용 가능한 다운타임
└── 예산 확인
3단계: DR 전략 선택
├── RPO/RTO 요구사항 충족
├── 비용 내 구현 가능
└── 테스트/유지보수 가능
4단계: 구현 및 테스트
├── AWS 서비스 구성
├── 자동화 스크립트 작성
└── 정기 DR 훈련 실시
다운타임 비용 계산
다운타임 비용 예시:
전자상거래 사이트:
├── 시간당 매출: $10,000
├── 평판 손실: $5,000/시간
├── 총 다운타임 비용: $15,000/시간
└── RTO 1시간 초과 시 $15,000+ 손실
계산 공식:
다운타임 비용 = 매출 손실 + 생산성 손실 + 복구 비용 + 평판 손실
SAA-C03 시험 출제 포인트
- ✅ RPO 정의: 허용 가능한 데이터 손실량 (시간 단위)
- ✅ RTO 정의: 복구 완료까지 목표 시간
- ✅ 방향: RPO는 과거(백업 시점), RTO는 미래(복구 완료)
- ✅ 영향: RPO → 백업 주기, RTO → DR 전략
- ✅ 비용: RPO/RTO가 낮을수록 비용 증가
- ✅ AWS 서비스: Multi-AZ(낮은 RTO), 동기 복제(낮은 RPO)
시험 팁
시험 문제 예시: "회사는 RPO 5분, RTO 1시간의 요구사항이 있습니다. RDS 데이터베이스에 적합한 구성은?" → 정답: Multi-AZ 배포 + 자동 백업 활성화 (Multi-AZ: RTO 1-2분, 자동 백업: RPO 5분)
자주 묻는 질문 (FAQ)
Q: RPO와 RTO 중 무엇이 더 중요한가요?
워크로드 특성에 따라 다릅니다. 금융 거래 시스템은 RPO(데이터 손실 불가)가 중요하고, 전자상거래는 RTO(빠른 복구로 매출 보호)가 중요할 수 있습니다. 일반적으로 둘 다 비즈니스 요구사항에 맞게 설정합니다.
Q: RPO 0을 달성하려면 어떻게 해야 하나요?
동기식 복제가 필요합니다. RDS Multi-AZ(동기 복제), Aurora(6개 복사본), DynamoDB 글로벌 테이블 등을 사용하면 데이터 손실 없이 복구할 수 있습니다. 단, 동기 복제는 지연시간이 증가할 수 있습니다.
Q: RTO와 MTTR의 차이점은?
RTO는 목표, MTTR은 실제 측정값입니다. RTO(Recovery Time Objective)는 "목표"이고, MTTR(Mean Time To Recovery)는 "평균 복구 시간"입니다. MTTR이 RTO보다 짧아야 목표를 달성한 것입니다.
Q: RPO/RTO를 어떻게 테스트하나요?
정기적인 DR 훈련(Drill)을 실시합니다. 실제 장애를 시뮬레이션하고 복구까지 걸린 시간(RTO)과 데이터 손실량(RPO)을 측정합니다. 최소 연 1회 이상 테스트를 권장합니다.
Q: 모든 시스템에 같은 RPO/RTO를 적용해야 하나요?
아니요, 시스템 중요도에 따라 다르게 설정합니다. Tier 1(핵심)은 낮은 RPO/RTO, Tier 3(비핵심)은 높은 RPO/RTO로 설정하여 비용을 최적화합니다. 이를 "계층화된 DR"이라고 합니다.
Q: AWS에서 RPO/RTO를 모니터링하는 방법은?
AWS Resilience Hub를 사용할 수 있습니다. 애플리케이션의 복원력을 평가하고 RPO/RTO 요구사항 충족 여부를 확인합니다. CloudWatch로 백업 성공/실패, 복제 지연 등도 모니터링합니다.