AWS Database Migration Service
ステップバイステップ移行ガイド (API バージョン 2016-01-01)

Amazon RDS Oracle データベースの Amazon Aurora MySQL への移行

このチュートリアルでは、AWS Database Migration Service と AWS Schema Conversion Tool を使用した、Amazon RDS Oracle から MySQL と互換性がある Amazon Aurora への異種データベースの移行について説明します。これは入門演習であり、すべてのシナリオを網羅していませんが、このような移行の実行に関連するステップについてよく理解することができます。

重要な点として、AWS DMS と AWS SCT は 2 つの異なるツールであり、異なるニーズに対応します。両者が移行プロセスで連携することはありません。大まかに述べると、この移行に関連するステップは次のとおりです。

  1. AWS SCT を使用して、次のことを行います。

    • Oracle から Aurora MySQL への変換レポートを実行して、スキーマ変換の問題、制約、および必要なアクションを確認します。

    • スキーマスクリプトを生成し、ターゲットに適用してから、AWS DMS を介してデータのロードを実行します。AWS SCT は、手順やビューなどのオブジェクトに必要なコード変換を実行します。

  2. AWS SCT によって報告された問題のソリューションを識別して実装します。たとえば、Oracle Sequence など、Amazon Aurora MySQL でサポートされていないオブジェクトタイプは、auto_increment オプションを使用して代理キーを入力するか、アプリケーションレイヤーでシーケンスのロジックを開発して処理できます。

  3. 外部キー、または AWS DMS データのロードに影響する可能性があるその他の制約事項を無効にします。

  4. AWS DMS では、全ロードアプローチを使用してソースからターゲットにデータをロードします。AWS DMS は、ロードの一部としてターゲット内でオブジェクトを作成できますが、最小主義の手法に従って効率的にデータを移行するため、ソースからターゲットにスキーマ構造全体をコピーしません。

  5. 追加のインデックスの作成、外部キーの有効化、アプリケーションでの必要な変更による新しいデータベースの指定など、移行後のアクティビティを実行します。

このチュートリアルでは、カスタム AWS CloudFormation テンプレートを使用して、Oracle および Amazon Aurora MySQL 用の Amazon RDS DB インスタンスを作成します。次に SQL コマンドスクリプトを使用し、Amazon Aurora MySQL に移行するサンプルスキーマとデータを最初に Amazon RDS Oracle DB インスタンスにインストールします。

このチュートリアルの所要時間は約 2 時間です。AWS リソースを使用してこのチュートリアルを完了するための推定コストは、約 5.00 USD です。追加料金が発生しないように、チュートリアルが終了したら、手順に従って必ずリソースを削除してください。

コスト

このチュートリアルでは、AWS CloudFormation および AWS Database Migration Service (AWS DMS) のリソースを使用して Amazon Relational Database Service (Amazon RDS) リソースをプロビジョニングします。これらのリソースのプロビジョニングでは、AWS アカウントに時間単位で課金されます。AWS Schema Conversion Tool は AWS DMS の一部として提供されるため、このツールで料金は発生しません。

このウォークスルーでは最小限のリソースのみが必要ですが、これらのリソースの一部は AWS 無料利用枠の対象ではありません。このウォークスルーの最後に、追加料金が発生しないようにするためにリソースを削除するセクションがあります。ウォークスルーを完了したらすぐにリソースを削除してください。

このウォークスルーを AWS で実行するためのコストを予測するために、AWS 簡易見積りツールを使用できます。ただし、AWS DMS サービスはまだツールに組み込まれていません。次の表は、AWS DMS および Amazon RDS Oracle Standard Edition Two の両方の料金を示しています。

AWS サービス

インスタンスタイプ

ストレージおよび I/O

Amazon RDS Oracle DB インスタンス、ライセンス込み (Standard Edition Two)、シングル AZ

db.m3.medium

シングル AZ、10 GB のストレージ、GP2

Amazon Aurora MySQL DB インスタンス

db.r3.large

シングル AZ、10 GB のストレージ、100 万 I/O

AWS DMS レプリケーションインスタンス

t2.small

50 GB のストレージ (レプリケーションログの保持用を含む)

AWS DMS データ転送

同一アベイラビリティーゾーン内の AWS DMS と RDS インスタンスのデータベース間のデータ転送は無料

データ発信

毎月 1 GB まで無料

このウォークスルーを 2 時間実行すると想定した場合の、AWS リソースの料金の見積りは次のとおりです。

  • AWS 簡易見積りツールを使用して見積られた Amazon Aurora MySQL + 10 GB のストレージ料金は、1.78 USD です。

  • Amazon RDS Oracle SE2 (ライセンス込み) + 10 GB の GP2 ストレージのコスト、見積り料金は料金表サイトに従い、(0.226 USD) * 2 時間 + (0.115 USD) * 10 GB = 1.602 USD です。

  • t2.small インスタンスと 50 GB の GP2 ストレージの の AWS DMS サービスのコスト、見積り料金は料金表サイトに従い、(0.036 USD) * 2 時間 = 0.072 USD です。

このプロジェクトを実行するための合計推定コスト = 1.78 USD + 1.602 USD + 0.072 USD = 3.454 — 約 5.00 USD。

この料金は次の前提事項に基づいています。

  • インターネットへのデータ転送量の合計は 1 ギガバイト未満と想定しています。前述の見積りでは、RDS および DMS サービスに関連するデータ転送およびバックアップ料金が無料利用枠内であると想定しています。

  • Aurora MySQL データベースによって消費されるストレージは、毎月 GB 単位で課金され、消費される I/O は 100 万リクエスト単位で課金されています。

  • 同じアベイラビリティーゾーン内の DMS と RDS インスタンスのデータベース間のデータ転送は無料です。

このページの内容: