RTO (Recovery Time Objective)
재해 복구에서 '얼마나 빨리 복구할 것인가'를 정의하는 지표
개념 설명:
RTO는 시스템이 중단된 후 정상 운영 상태로 복구되는 데 허용되는 최대 시간을 의미한다.
- 비슷한 개념과 비교:
- RPO (Recovery Point Objective): 데이터 손실 허용 범위 (예: 마지막 백업 시점까지의 데이터)
- RTO: 서비스 복구에 걸리는 시간
전략 | RTO 수준 | 특징 |
---|---|---|
Hot Standby | 매우 짧음 | 시스템이 실시간으로 복제되어 즉시 전환 가능 |
Warm Standby | 짧음 | 일부 시스템이 준비되어 있고 빠르게 확장 가능 |
Pilot Light | 중간 | 핵심 인프라만 실행 중, 나머지는 부팅 필요 |
Backup & Restore | 김 | 가장 경제적이지만 복구에 시간 오래 걸림 |
- 사용이 적합한 환경:
- Hot Standby: 금융, 실시간 트랜잭션 서비스 등 다운타임 허용 불가한 환경
- Backup & Restore: 개발/테스트 환경, 비즈니스 영향이 적은 시스템
- 사용 방법:
- Hot Standby 예시 구성 (AWS 기준):
- enginrect.com 운영 중인 메인 시스템과 동일한 구성을 타 리전에 두고, DB 복제 및 로드밸런서 구성
- 장애 시 Route53로 트래픽 전환
- Hot Standby 예시 구성 (AWS 기준):
1
2
3
4
aws rds create-db-instance-read-replica \
--db-instance-identifier enginrect-db-replica \
--source-db-instance-identifier enginrect-db \
--region ap-northeast-2
- 장애 발생 시 Route53에서 다음과 같이 트래픽을 전환:
1 2 3
aws route53 change-resource-record-sets \ --hosted-zone-id {ZONE-ID} \ --change-batch file://failover.json
- failover.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
{ "Comment": "Failover to backup region", "Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "enginrect.com", "Type": "A", "SetIdentifier": "backup-region", "Failover": "SECONDARY", "TTL": 60, "ResourceRecords": [ { "Value": "xx.xx.xx.xx" } ] } } ] }
This post is licensed under CC BY 4.0 by the author.