サイトアイコン 協栄情報ブログ

AWS DMSを使ってみた④SCTツールでスキーマ移行


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

初めに

前回の続きとして、今日はSCTツールを使ってスキーマ移行してみます。

前回:AWS DMSを使ってみた⓷データ移行
    https://cloud5.jp/aws-dms-20220520/

SCTとは

AWS Schema Conversion Tool (AWS SCT) は、ソースデータベースのスキーマ、およびビュー、ストアドプロシージャなどのデータベースコードオブジェクトの大部分をターゲットデータベースと互換性のあるフォーマットへと自動的に変換するツールです。異種データベース間の移行に使用可能です。

・使用イメージ

使用のイメージとしては、下図の通りです。

1.SCTでソースDBのフレームをターゲットDBに適用できるフレームを変換し、ターゲットDBに適用する。
2.フレーム適用したら、DMS移行タスクでデータをターゲットDBへ移行する。

⓸SCTツールでスキーマ移行

Step1 事前準備

・テストスキーマ、テーブルをソースRDSに作成する。
 作成方法は⓵移行前の準備ーStep2テストデータの導入に記載があるので、そちらで参照ください。
 今回はdmsuser2のスキーマとdmstable2のテーブルをSCT移行のテストソースとして作成します。

・検証用EC2を立ち上げる。
 windowsのほうがSCTの仕組みを可視化して見やすいので、windowsのEC2を立ち上げます。

Step2 インストール

以下のURLからSCTツールとRDS接続のドライバーをダウンロードします。
https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.InstallValidation

まず、SCTをwindowsの検証用EC2に解凍してインストールします。

インストールが完了しました。

アイコンはこれです。早速開いてみましょう。

あら。。。JVM起動できないのエラーが起きている。。なぜでしょう。。

調べたらEC2はmricoだからそうです。mircoだからメモリが小さかったかな、mediumにしてもう一回立ち上げったら、問題なく開けました。

Step3 プロジェクト設定

開いたら、まずグローバル設定にドライバー情報を入力します。

ドライバー情報の設定が完了したら、新しいプロジェクトを立ち上げて、接続情報を入力します。

ソースRDSエンジンを選択します。

続いて、ソースRDSの接続情報を入力します。
※ここでOracle SIDで書いているが、SIDではなくデータベース名を入力してください。

入力完了したら、テストコネクションして、問題ないなら次に進みます。

ここで、変換対象のスキーマを選択する。

SCTツールですべてのスキーマ変換できるわけではないので、どれほど変換できるかのレポートが出していますね。
今回の場合なら100%変換できます。

最後に、ターゲットRDSの接続情報を入力して、事前の情報を入力完了となります。

Step4 スキーマ変換

設定が終わりましたら、この画面が出てきます。
対象となるスキーマを右クリックして、「convert scheam」を選択すると、ターゲットRDSに変換されます。

右側にもdmsuser2が表示されたら、変換が成功したとのことです。
ここまで、SCT上の変換ができて、ターゲットRDSにはまだ適用していません。
変換されたスキーマをターゲットRDSに適用するには、スキーマを右クリックして「apply to database」を押す。

Step5 スキーマ変換確認

スキーマをターゲットRDSに適用完了したら、DMSエンドポイントの画面に戻って、ターゲットエンドポイントをrefresh schemaします。

更新終わったら、dmsuser2がターゲットRDSに作成されたことを確認できましたね。

Postgreにアクセスして、スキーマとテーブルの存在も確認できました。

終わりに

SCTツールを使用したスキーマ変換はここまで終わりです。
変換したスキーマは本当に使える?と思ってしまいますね。
次回は今日SCT変換したスキーマに、継続レプリケート方式でデータ移行してみましょう。

次回:AWS DMSを使ってみた⓹継続レプリケート(CDC)で移行
    https://cloud5.jp/aws-dms-20220522/

モバイルバージョンを終了