ある企業は、現在オンプレミスで運用されている大規模なOracleデータベースを、アプリケーションのコード変更を最小限に抑えつつAWSに移行しようとしています。移行期間中はソースとターゲット間でデータの同期を維持し、カットオーバー時にはダウンタイムを数分以内に抑える必要があります。この要件を満たす最適な移行戦略はどれですか。
選択肢AのAWS Database Migration Service(AWS DMS)は、最小限のダウンタイムでデータベースをAWSへ移行するために設計されたマネージドサービスです。全ロード(フルロード)機能に加えて、変更データキャプチャ(CDC)機能を有効にすることで、ソースデータベースで発生する継続的な更新をターゲットにレプリケートし続けることが可能です。これによりアプリケーションの停止時間を最小限に抑え、準備が整った段階でターゲットに切り替えることができます。コードの変更が不要(スキーマ変換が必要な場合でもAWS SCTで対応可能)であり、異種間データベース移行にも柔軟に対応できます。 選択肢BのOracle Data Guardは同期レプリケーション機能を持ちますが、Amazon RDS for Oracleはストレージレベルへの直接アクセスが制限されており、外部オンプレミスからData Guardを構成するには多くの制約があります。また移行後もOracleライセンスコストが継続するためコスト面でも課題があります。 選択肢CのAWS Snowball Edgeを使ったフルオフライン移行は、ネットワーク帯域が著しく不足する場合に有効ですが、CDCによる継続的な変更レプリケーションができないためカットオーバー時のダウンタイムが長時間になり、「数分以内に抑える」という要件を満たせません。 選択肢Dのアプリケーション層での双方向書き込みはコードのリファクタリングが必要であり、「コード変更を最小限に抑える」という要件に反します。また両データベース間の整合性担保が複雑になりリスクが高いアプローチです。