298-AWS SAP AWS 「理論・実践・一問道場」DMSでCDCタスク

 

理論

災害復旧(Disaster Recovery)におけるデータレプリケーションの戦略

災害復旧(Disaster Recovery, DR)は、自然災害やシステム障害などの予期せぬ事態に備え、システムやデータを迅速に復旧するための計画や実装を指します。ここでは、AWSを活用した低コストで効果的なDR戦略に焦点を当てます。

基本用語

  • RPO(Recovery Point Objective): データが失われても許容できる時間の最大値。例えば、RPOが1時間の場合、復旧時に最大1時間分のデータ損失が許容される。
  • RTO(Recovery Time Objective): システムやサービスを復旧するのに必要な時間。例えば、RTOが1時間の場合、サービスが停止しても1時間以内に復旧する必要がある。

AWSを活用したデータレプリケーション手法

1. Auroraグローバルデータベース

  • 概要: Auroraグローバルデータベースは、データを複数のAWSリージョン間でほぼリアルタイムに同期します。プライマリリージョンでの書き込み操作がセカンダリリージョンに1秒未満でレプリケートされます。
  • 適用例: 高速な復旧(低RPO)が求められる場合。
  • 利点:
    • レプリケーションが非常に高速。
    • セカンダリリージョンのデータを読み取り専用として活用可能。
  • 欠点:
    • コストが高い。
    • 高度な要件がない場合にはオーバースペックになることも。

2. AWS DMSを利用したデータレプリケーション

  • 概要: AWS Database Migration Service(DMS)は、変更データキャプチャ(CDC)機能を使用して、データの継続的なレプリケーションを実現します。ターゲットとしてAmazon S3や別リージョンのデータベースを指定可能。
  • 適用例: RPOが1時間程度で許容される場合、またはコスト効率が重視される場合。
  • 利点:
    • 低コスト。
    • 柔軟なターゲット設定(例: S3, DynamoDB)。
    • 運用が比較的簡単。
  • 欠点:
    • レプリケーションには若干の遅延が発生する。
    • データ復元時に追加作業が必要な場合がある。

3. スナップショットとバックアップを利用

  • 概要: AuroraやRDSの自動バックアップ機能を活用し、定期的にデータを他リージョンにコピーする。手動スナップショットの運用も可能。
  • 適用例: データ復旧に即時性が求められない場合。
  • 利点:
    • コストが非常に低い。
    • 操作が簡単。
  • 欠点:
    • データ損失が大きくなる可能性がある(RPOが長い)。
    • 手動作業が多くなる場合がある。

低コストかつ効果的な選択肢の比較

手法
RPO
RTO
コスト
適用例
Auroraグローバルデータベース
数秒以内
数分
高い
ミッションクリティカルなアプリケーション
AWS DMS + CDC
数分~1時間
1時間程度
低い
災害復旧のコスト効率を重視したアプリケーション
スナップショットとバックアップ
数時間
数時間
非常に低い
データ損失のリスクが比較的許容されるシステム

実用的なアプローチ

  • 要件に応じて選択:
    • ミッションクリティカルなシステムでは、Auroraグローバルデータベースが最適。
    • コスト効率を重視する場合は、AWS DMSを活用。
    • データ復元が迅速である必要がない場合は、スナップショットを利用。
  • モニタリング: Amazon CloudWatchやAWS Configを活用して、レプリケーションの状態やRPO/RTOの達成状況を監視。
  • 定期的な演習: DR戦略を実行可能に保つために、定期的なテストを実施する。

まとめ

AWSではAuroraグローバルデータベース、AWS DMS、スナップショットなど、多様な手法を活用して災害復旧計画を構築できます。要件に応じて最適なソリューションを選択し、費用対効果を最大化することが重要です。

実践

一問道場

問題 #298

ある会社が、単一のAWSリージョンでECアプリケーションを運用しています。このアプリケーションは、Amazon Aurora MySQL DBクラスタ(5ノード)を使用して顧客情報や最近の注文情報を保存しています。このDBクラスタは、一日を通じて大量の書き込みトランザクションを処理します。
この会社は、Auroraデータベースのデータを別のリージョンに複製して、災害復旧要件を満たす必要があります。会社のRPO(復旧目標時点)は1時間です。
以下の解決策のうち、最も低コストでこの要件を満たすものはどれですか?

選択肢

A. AuroraデータベースをAuroraグローバルデータベースに変更し、別のリージョンに2つ目のAuroraデータベースを作成する。
B. AuroraデータベースにBacktrack機能を有効にする。AWS Lambda関数を作成して、データベースのスナップショットを別のリージョンに毎日コピーするように設定する。
C. AWS Database Migration Service(AWS DMS)を使用する。DMSの変更データキャプチャ(CDC)タスクを作成し、Auroraデータベースから別のリージョンのAmazon S3バケットに進行中の変更を複製する。
D. Auroraの自動バックアップを無効にする。バックアップの頻度を1時間に設定し、別のリージョンを宛先リージョンとして指定する。Auroraデータベースをリソース割り当てとして選択する。

解説

この問題の要件は以下の通りです:
  1. 災害復旧のためのデータレプリケーションが必要。
  1. RPO(復旧目標時点)は1時間。これは、最大で1時間以内に失われたデータを復元できる必要があることを意味します。
  1. 最も低コストなソリューションを選択する必要がある。

各選択肢の解説

A. Auroraグローバルデータベースを利用する

Auroraグローバルデータベースは、複数のリージョン間でデータをほぼリアルタイムでレプリケートできます。このソリューションは、高い可用性低いRPO(通常1秒未満)を提供しますが、グローバルデータベースのコストは高く、低コスト要件に適していません。
コスト: 高い
要件の適合性: RPO要件は満たすが、コストが最適でない。

B. Backtrack機能を有効にしてスナップショットをコピー

BacktrackはAurora MySQLのデータを特定の時点に「巻き戻す」機能で、通常、データ修復用に使用されます。ただし、Backtrack自体は別リージョンへのデータレプリケーションを提供しません。また、スナップショットのコピーをLambda関数で管理するソリューションは運用が複雑であり、リアルタイム性が不足してRPO 1時間を満たす可能性が低いです。
コスト: 中程度
要件の適合性: 複雑でRPO要件を満たしにくい。

C. AWS DMSでCDCタスクを使用

AWS Database Migration Service(DMS)は、Aurora MySQLのデータ変更(CDC: Change Data Capture)を検出し、指定されたターゲット(ここでは別リージョンのS3)にレプリケートできます。この方法は低コストであり、変更の追跡によりRPO 1時間以内を実現することも可能です。ただし、S3をターゲットに選んだ場合、直接のクエリは難しくなり、復旧時にデータをAuroraに戻す必要があります。
コスト: 低い
要件の適合性: コスト効率が高く、RPO要件を満たす。

D. Auroraの自動バックアップを無効にして手動バックアップを設定

この方法は、1時間ごとにデータをバックアップして別リージョンにコピーするものですが、バックアップのプロセス自体が遅く、RPO 1時間を満たす可能性が低いです。また、バックアップ復元のプロセスが手動で行われる可能性が高いため、災害復旧時に復元が遅れる可能性があります。
コスト: 低い
要件の適合性: RPO要件を満たしにくい。

正解: C. AWS DMSでCDCタスクを使用

このソリューションは以下の理由で最適です:
  • 低コストである(DMSとS3を利用)。
  • RPO 1時間以内を満たすことが可能(CDCを使用したリアルタイムに近いレプリケーション)。
  • 管理の複雑さが他の選択肢と比べて低い。

補足

  • Auroraグローバルデータベース(選択肢A)は最も高性能ですが、コストが高く、ローコストの要件に適していません。
  • RPOがさらに厳しい要件(例えば、数分以内)が求められる場合は、選択肢Aが選ばれる可能性があります。
 
299-AWS SAP AWS 「理論・実践・一問道場」AWS Systems Manager297-AWS SAP AWS 「理論・実践・一問道場」CloudFrontキャッシュヒット率を向上
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録