type
status
date
slug
summary
tags
category
icon
password
理論
ディザスタリカバリ(DR)の基本知識
ディザスタリカバリ(Disaster Recovery, DR)は、システム障害や災害発生時に迅速にサービスを復旧させるための計画や仕組みを指します。以下にDR設計の基本要素を説明します。
1. RPO(Recovery Point Objective: 復旧時点目標)
- 定義: データがどの程度新しい状態まで復旧できるかを示す指標。データ損失の許容範囲を決定。
- 例: RPOが30秒の場合、最悪でも30秒前のデータ状態に復旧できる必要があります。
- 実現方法:
- クロスリージョンリードレプリカ: データベースをリアルタイムで別リージョンに複製。
- 継続的なデータレプリケーションツール: AWS Elastic Disaster Recovery など。
2. RTO(Recovery Time Objective: 復旧時間目標)
- 定義: サービスがダウンしてから復旧するまでの許容時間。
- 例: RTOが10分の場合、障害発生後10分以内にサービスを再開する必要があります。
- 実現方法:
- 自動フェイルオーバー: Route 53 フェイルオーバールーティングポリシーを利用。
- 事前プロビジョニング: 必要最低限のインフラをDRリージョンに用意しておき、障害時にスケールアップ。
3. コスト効率
DR環境を維持するにはコストがかかります。通常運用時のコストを最小限に抑える方法が重要です。
- ミニマム構成: DRリージョンではインスタンスを最小限に運用し、障害時にスケールアップ。
- Infrastructure as Code(IaC): 必要なリソースをスクリプトで迅速にデプロイ。
4. AWSでのDR実現方法
AWSでは以下のツールとサービスがDR構築に有効です:
- Amazon RDS Cross-Region Read Replica:
- RDSデータベースのデータをリアルタイムで別リージョンに複製。
- 高速なフェイルオーバーが可能。
- AWS Elastic Disaster Recovery:
- EC2インスタンスやオンプレミス環境の継続的なレプリケーション。
- 必要に応じて迅速に復旧可能。
- Amazon Route 53:
- フェイルオーバールーティングを利用して自動でDRリージョンに切り替え。
- AWS Backup:
- 定期的なデータバックアップ。低コストだがRPO/RTOが高くなる可能性。
5. DR戦略の種類
- バックアップ&リストア:
- コスト: 低
- RPO/RTO: 高い(数時間~数日)
- パイロットライト:
- コスト: 中
- RPO/RTO: 数分~数時間
- ウォームスタンバイ:
- コスト: 高
- RPO/RTO: 数秒~数分
- アクティブ/アクティブ:
- コスト: 非常に高
- RPO/RTO: 秒単位
まとめ
問題で提示された「RPO 30秒、RTO 10分」に対応するには、クロスリージョンリードレプリカとAWS Elastic Disaster Recoveryを組み合わせ、Route 53で自動フェイルオーバーを設定するのが最適です。
実践
略
一問道場
質問 #202
トピック 1
ある企業が、eコマースウェブサイトのディザスタリカバリ(DR)ソリューションを構築する必要があります。
ウェブアプリケーションは、複数のアベイラビリティゾーンにまたがるAuto Scalingグループで運用されているt3.large Amazon EC2インスタンスのフリート上にホストされています。また、Amazon RDS for MySQL DBインスタンスを使用しています。
災害が発生した場合、ウェブアプリケーションはセカンダリ環境にフェイルオーバーする必要があり、目標復旧時点(RPO)は30秒、目標復旧時間(RTO)は10分です。
以下のうち、コスト効率が最も高いソリューションはどれですか?
A. インフラストラクチャをコード(IaC)として記述して、DRリージョンに新しいインフラストラクチャをプロビジョニングします。DBインスタンスのクロスリージョンリードレプリカを作成します。AWS Backupでバックアッププランを設定し、EC2インスタンスとDBインスタンスのクロスリージョンバックアップを作成します。EC2インスタンスとDBインスタンスを30秒ごとにDRリージョンにバックアップするためのcron式を作成します。最新のEC2バックアップからインスタンスを復元します。Amazon Route 53の地理的ルーティングポリシーを使用して、災害発生時にDRリージョンへ自動的にフェイルオーバーします。
B. インフラストラクチャをコード(IaC)として記述して、DRリージョンに新しいインフラストラクチャをプロビジョニングします。DBインスタンスのクロスリージョンリードレプリカを作成します。AWS Elastic Disaster Recoveryを設定して、EC2インスタンスをDRリージョンに継続的にレプリケートします。DRリージョンでEC2インスタンスを最小容量で運用します。Amazon Route 53のフェイルオーバールーティングポリシーを使用して、災害発生時にDRリージョンへ自動的にフェイルオーバーします。Auto Scalingグループの希望容量を増加させます。
C. AWS Backupでバックアッププランを設定し、EC2インスタンスとDBインスタンスのクロスリージョンバックアップを作成します。EC2インスタンスとDBインスタンスを30秒ごとにDRリージョンにバックアップするためのcron式を作成します。インフラストラクチャをコード(IaC)として記述して、DRリージョンに新しいインフラストラクチャをプロビジョニングします。バックアップデータを手動で新しいインスタンスに復元します。Amazon Route 53のシンプルルーティングポリシーを使用して、災害発生時にDRリージョンへ自動的にフェイルオーバーします。
D. インフラストラクチャをコード(IaC)として記述して、DRリージョンに新しいインフラストラクチャをプロビジョニングします。Amazon Auroraグローバルデータベースを作成します。AWS Elastic Disaster Recoveryを設定して、EC2インスタンスをDRリージョンに継続的にレプリケートします。DRリージョンでEC2インスタンスのAuto Scalingグループをフル容量で運用します。Amazon Route 53のフェイルオーバールーティングポリシーを使用して、災害発生時にDRリージョンへ自動的にフェイルオーバーします。
解説
この問題は、コスト効率の高いディザスタリカバリ(DR)ソリューションを選ぶ問題です。主なポイントは以下の通りです:
- RPO(復旧時点目標)30秒とRTO(復旧時間目標)10分を達成するために、
- データが常に最新である必要があります(継続的なデータレプリケーション)。
- 短時間でリソースを起動できる仕組みが必要です。
- コスト効率を考慮する必要があります。DRリージョンでのインフラは最小限に抑えつつ、必要に応じてスケールアップできる仕組みが理想です。
正解: B
- 理由:
- クロスリージョンリードレプリカを利用してDBのデータをDRリージョンにリアルタイムで同期。
- AWS Elastic Disaster Recoveryを使ってEC2インスタンスを継続的にレプリケート。これにより、RPOを30秒以内に維持可能。
- DRリージョンではインフラを最小構成で運用し、必要時にAuto Scalingグループでスケールアップすることでコストを抑える。
- Route 53のフェイルオーバールーティングポリシーで自動フェイルオーバーを実現し、RTO 10分を達成。
他の選択肢は以下の理由で不適切です:
- A: 30秒ごとのバックアップではRPOを満たせません。さらに、復旧時間も長くなりコストも高いです。
- C: 手動復旧は時間がかかり、RTOを満たせません。
- D: DRリージョンで常にフル容量でインフラを運用するのは非常にコストが高いです。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/171d7ae8-88e2-80a6-a0d5-f917c975544a
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章