RTO、RPO、DRティア
目標復旧時間と目標復旧時点を定義してコストティアに対応付け、各DR戦略でどのようなSLAコミットメントを実現できるかを理解します。
「RTO、RPO、DRティア」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
RTOとRPOを理解する
Recovery Time Objective (RTO)は、災害が発生してからシステムを稼働状態に復旧するまでに許容される最大時間です。RTOが4時間の場合、ビジネスでは4時間のダウンタイムまで許容できます。Recovery Point Objective (RPO)は、時間で測定したデータ損失の最大許容量です。RPOが1時間の場合、災害発生時点から1時間以上前の状態にならないように復旧できなければなりません。どちらの指標も、技術的な好みではなく、ビジネス要件によって定義されます。
# RTO and RPO definitions:
# RTO = max time system can be DOWN
# Example: RTO=4h means restore within 4 hours
#
# RPO = max data LOSS acceptable
# Example: RPO=1h means no more than 1 hour of data lost
#
# Lower RTO and RPO = more expensive DR strategy
# Higher RTO and RPO = cheaper but more business impact4つのDRティア
AWSでは、主なDisaster Recovery戦略を4つ定義しています。コストが低くRTOが長いものから、コストが高くRTOが短いものの順です。1) Backup and Restore — 最も低コストで、RTOは数時間です。2) Pilot Light — 最小限のコア部分を常時稼働させ、RTOは数分から数時間です。3) Warm Standby — 縮小されているものの機能する環境を稼働させ、RTOは数分です。4) Multi-Site Active-Active — 最も高コストですが、RTOはほぼゼロです。選択は、ダウンタイムによるビジネス上のコストとDRインフラストラクチャのコストの比較によって決まります。
# DR Strategy comparison:
# Strategy | RTO | RPO | Cost
# Backup & Restore | Hours | Hours | Lowest
# Pilot Light | Minutes+ | Minutes | Low
# Warm Standby | Minutes | Seconds | Medium
# Active-Active | ~0 | ~0 | HighestBackup and Restore戦略
Backup and Restoreでは、データを定期的にスナップショットとして取得し、別の場所(例:クロスリージョンレプリケーションを設定したS3)に保存します。災害発生時には、最新のバックアップから復元します。スタンバイインフラストラクチャを稼働させないため、最も低コストの戦略です。一方で、RTOが最も長く(大規模なデータベースをスナップショットから復元するには数時間かかります)、RPOも最も大きくなります(最後のバックアップ以降のデータが失われます)。AWS Backupは、EC2、RDS、EFS、DynamoDBなどにわたるスナップショットのスケジュールを自動化します。
# Create AWS Backup plan for RDS
aws backup create-backup-plan \
--backup-plan '{
"BackupPlanName": "daily-backup",
"Rules": [{
"RuleName": "daily",
"TargetBackupVaultName": "dr-vault",
"ScheduleExpression": "cron(0 5 ? * * *)",
"StartWindowMinutes": 60,
"CompletionWindowMinutes": 180,
"Lifecycle": {
"DeleteAfterDays": 35
},
"CopyActions": [{
"DestinationBackupVaultArn": "arn:aws:backup:us-west-2:123:backup-vault:dr-vault"
}]
}]
}'Pilot Light戦略
Pilot Light戦略では、システムのコアコンポーネントをDRリージョンで最小限の容量で稼働させます。これは、完全な炎をすぐに燃え上がらせられる種火のようなものです。通常は、データベースをDRリージョンに継続的にレプリケーションし、基本的なネットワークインフラストラクチャ(VPC、サブネット、セキュリティグループ)を維持します。アプリケーションサーバーは稼働させませんが、事前に作成したAMIまたは起動テンプレートからすばやく起動できます。RTOは通常、手動作業の量に応じて30分から数時間です。
# Pilot Light: what runs in DR region at all times
# - RDS Read Replica (continuously replicated)
# - Core VPC/networking infrastructure
# - Route 53 DNS (inactive until failover)
# What is NOT running (launched during failover):
# - EC2 application servers
# - ELB (or dormant)
# Failover steps:
# 1. Promote RDS Read Replica to standalone
# 2. Scale up EC2 instances from launch template
# 3. Update Route 53 to point to DR regionWarm Standby戦略
Warm Standby戦略では、本番環境を縮小した完全に機能するコピーをDRリージョンで稼働させます。Pilot Lightとは異なり、アプリケーション層も稼働しており(20台ではなく1~2台の場合など)、データベースにはAurora Global DatabaseのセカンダリまたはRDS Read Replicaを使用します。フェイルオーバー時には、DR環境をスケールアップして本番環境と同じ容量にします。RTOは通常15分未満です。これは、中程度から高い重要度のワークロードで最も一般的なDR戦略です。
# Warm Standby: DR region runs scaled-down version
# Production: 10 EC2 instances (ASG min=10, max=50)
# DR Standby: 2 EC2 instances (ASG min=2, max=50)
# During failover:
# 1. Route 53 health check fails for primary
# 2. DNS switches to DR ALB
# 3. ASG in DR scales up from 2 to 10+
# 4. Promote Aurora Global DB secondary
# Total failover time: ~5-15 minutesMulti-Site Active-Active戦略
Multi-Site Active-Activeでは、2つ以上のリージョンで本番環境と同じ容量を同時に稼働させます。すべてのリージョンがライブトラフィックを処理し、データはほぼリアルタイム(またはマルチマスター)でレプリケーションされます。フェイルオーバーの遅延はありません。1つのリージョンに障害が発生すると、Route 53またはGlobal Acceleratorが残りの正常なリージョンへ直ちにすべてのトラフィックをルーティングします。最も低いRTOとRPOを実現できますが、常にすべてのリージョンで本番環境と同じ容量の料金を支払うため、コストも最も高くなります。
# Active-Active: full capacity in both regions
# us-east-1: ASG 10 instances (serving ~50% traffic)
# eu-west-1: ASG 10 instances (serving ~50% traffic)
# Route 53 weighted routing:
# us-east-1: weight=50
# eu-west-1: weight=50
# Both records have health checks
# On us-east-1 failure:
# Health check fails -> Route 53 removes us-east-1
# eu-west-1 receives 100% traffic
# ASG in eu-west-1 scales up automaticallyRPOとデータレプリケーション技術
必要なレプリケーション技術は、RPOによって直接決まります。RPO = 0には同期レプリケーションが必要で、データは一切失われません。RPOが秒単位の場合は、Aurora Global Database(遅延1秒未満)のような、ほぼリアルタイムの非同期レプリケーションが必要です。RPOが分単位の場合は、わずかな遅延を許容する非同期レプリケーション(DynamoDB Streams、RDS Read Replicas)が適しています。RPOが時間単位の場合は、定期的なスナップショット(AWS Backupの毎時スケジュール)で実現できます。技術を選ぶ前に、ビジネス上のRPO要件を明確に定めてください。
# RPO requirements mapped to replication technology:
# RPO = 0: RDS Multi-AZ (synchronous)
# RPO < 1 second: Aurora Global Database
# RPO < 1 minute: DynamoDB Global Tables
# RPO < 15 min: RDS Read Replica
# RPO < 1 hour: AWS Backup hourly schedule
# RPO < 24 hours: AWS Backup daily scheduleサーバーレスアーキテクチャのDR
サーバーレスアーキテクチャ(Lambda、DynamoDB、API Gateway)は本来高い回復力を備えていますが、それでもDR計画が必要です。DynamoDB Global Tablesは、データベース層でアクティブ/アクティブのマルチリージョン構成を提供します。Lambdaは、同じCI/CDパイプラインから第2のリージョンにデプロイできます。API GatewayもDRリージョンにプロビジョニングする必要があります。主なリスクはリージョン間の設定ドリフトです。AWS CDKまたはTerraformを使用し、同じコードベースから両方のリージョンに同一のインフラストラクチャをデプロイしてください。
# Deploy Lambda to multiple regions with CDK
# cdk.json environment configuration:
{
'primary': {
'account': '123456789',
'region': 'us-east-1'
},
'dr': {
'account': '123456789',
'region': 'us-west-2'
}
}
# Deploy to both:
# cdk deploy --context env=primary
# cdk deploy --context env=drRTOとコストのトレードオフの例
年間収益が1,000万ドルの企業を考えます。ダウンタイムのコストが1分あたり1,000ドルの場合、8時間の障害(RTO=8時間)による損失は48万ドルです。RTO=15分のアクティブ/パッシブのウォームスタンバイを導入すると、インシデントごとの潜在的な損失を15,000ドルに抑えられます。スタンバイのコストが月5,000ドル(年間60,000ドル)の場合、経済的に見合うのは、年間に重大な障害が1回を超える場合だけです。このコスト妥当性分析こそ、SAA-C03試験でDR戦略を選択するときに求められる判断です。
# DR cost justification formula:
# Annual cost of DR infrastructure
# vs
# Expected annual outage cost
# = P(outage) x downtime_duration x cost_per_minute
#
# Example:
# P(annual outage) = 0.1 (10% chance per year)
# downtime = 8 hours = 480 minutes
# cost = $1000/min
# Expected loss = 0.1 x 480 x $1000 = $48,000/year
#
# If warm standby costs $30,000/year -> worth itDRのテストとドキュメント化
一度もテストされていないDR計画は、単なる文書にすぎません。AWSは、定期的なDR訓練を強く推奨しています。フェイルオーバー手順を実践し、実際のRTOとRPOを測定して、ギャップを特定してください。AWS Fault Injection Simulator (FIS)を使用すると、制御された方法でリージョンの劣化をシミュレートできます。フェイルオーバーの手順をランブックとして文書化しておけば、実際のインシデントによる緊張下でも、オンコールチームは場当たり的に対応するのではなく、明確でテスト済みの手順に従えます。
# DR drill checklist:
# 1. Notify stakeholders (planned drill)
# 2. Initiate failover (Route 53 health check override)
# 3. Measure time from trigger to traffic in DR region (RTO)
# 4. Measure data consistency between regions (RPO)
# 5. Test all critical application functions in DR
# 6. Failback to primary region
# 7. Document actual RTO/RPO vs target
# 8. Update runbooks with lessons learnedコンプライアンスとDR要件
多くの業界では、DRに関する規制要件があります。PCI DSSは、文書化されたDR計画とテストを求めています。HIPAAは、データのバックアップと災害復旧の手順を求めています。SOC 2では、DRを含む可用性の管理策が評価されます。AWS ConfigとAWS Audit Managerを使用して、DRリソース(バックアップ、レプリカ、ヘルスチェック)が正しく設定されていることを継続的に評価し、記録してください。これにより、手作業で収集しなくてもコンプライアンス監査の証跡を提供できます。
# AWS Config rule to check RDS backup retention
aws configservice put-config-rule \
--config-rule '{
"ConfigRuleName": "rds-backup-enabled",
"Source": {
"Owner": "AWS",
"SourceIdentifier": "DB_INSTANCE_BACKUP_ENABLED"
},
"InputParameters": "{\"backupRetentionMinimum\":\"7\"}"
}'クイックチェック
このレッスンで学んだ AWS Solutions Architect(SAA-C03)の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、RTO は許容できる最大ダウンタイム、RPO は許容できる最大データ損失を表すこと、4 つの DR ティアはコストと復旧速度のバランスを取ること、そして必要な RPO によって使用するレプリケーション技術が決まることを学びました。実際の RTO と RPO を検証するため、必ず DR プランをテストしてください。次は Backup and Restore 戦略について詳しく見ていきます。
よくある質問
「RTO、RPO、DRティア」レッスンは無料ですか?
はい。「RTO、RPO、DRティア」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「RTO、RPO、DRティア」で何を学びますか?
目標復旧時間と目標復旧時点を定義してコストティアに対応付け、各DR戦略でどのようなSLAコミットメントを実現できるかを理解します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「RTO、RPO、DRティア」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。