スマートスタイル TECH BLOG

データベース&クラウド技術情報

AWS Schema Conversion Toolを触ってみる

はじめに

AWSにてDB移行用に用意されたサービスのAWS Schema Conversion Tool(以下SCT)について簡単な使用法をまとめます。
SCTはAWSのサービスとしては珍しく、ツールをダウンロードし手元で使うサービスになります。

前提条件

以下を事前に用意する必要があります。

  • Java Runtime Environment
  • 移行対象のJDBCドライバ

ダウンロードやインストール方法などは公式ページに記載されているので、そちらをご覧ください。

今回のSCTで対象とした環境は下記になります。

  • 移行元DB:Oracle Database Express Edition 11g Release 2 (Oracle Database XE)

    ※オブジェクトはAWSより公開されているサンプルを利用しました。

  • 移行先DB:Amazon Aurora

スキーマ変換

※プロジェクトの作成、移行元/先への接続設定は割愛させて頂きます。手順はこちら

以下が操作の基本となるプロジェクトウィンドウです。

レポートの要約は公式ページに記載されていますので、そちらをご参照ください。

適用

移行元のオブジェクトを右クリックで開き、[Convert Schema]を実行すると移行先のパネルに対象オブジェクトが追加されます。
※この時点では実際の移行先データベースへの適用はされません

この時、移行先に適用されるSQLコマンドが表示されます。
変換したい箇所がある場合、このSQLコマンドに手を加えることで変更が可能となります。

適用には移行先の対象オブジェクトを右クリックし、[Apply to database]を実行することで適用されます。

適用後に、AWS_*_EXTという拡張パックスキーマが作成されますが、移行が終了するまではそのままにしておきましょう。

マッピングルール

上記で適用までの流れを記載いたしましたが、スキーマの変換に利用できるマッピングルールについても触れておきます。

マッピングルールでは下記のようなことが出来ます。

[sh] データタイプの変更
オブジェクトの移動
オブジェクトの名前変更
プレフィックス – プレフィックスの追加、削除、置換
サフィックス – サフィックスの追加、削除、置換
[/sh]

今回はデータタイプの変更をしてみます。
サンプルデータベースのPLAYERテーブルのIDカラムがNUMBERなので、これをINT型に変換したいと思います。
デフォルトの設定ではNUMBERはDOUBLEになります。
スキーマ変換の対応状況はこちらでご確認ください。

まずはSettingsからMapping Rulesを選択します。

ルール内容を作成し、[Save All]で保存します。

対象のカラムからmappingタブを見ると作成したルールが適用されているのがわかります。

あとは[Convert Schema]-> [Apply to database]を実行すれば終了です。

メモリ管理

もし、クライアントのメモリに余裕があれば、SCTの使用メモリを大きくすることで
パフォーマンスを上げることも可能です。
その逆にメモリ使用量を下げることも同様に実施出来ます。
詳細はこちら

まとめ

レポートから変換対象を洗い出すだけでなく、マッピングを利用したデータ変換など実際の移行に有用な機能ではないでしょうか。
AWS Database Migration Serviceと合わせて可能な限り、移行にかかるコストを削減していきたいですね。


AWS

 

Return Top