この記事は公開されてから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/