AWS DMSを使ってみた③データ移行


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

初めに

前回の続きとして、今日は実際のデータ移行に入ります。

前回:AWS DMSを使ってみた⓶移行タスクの作成
    https://cloud5.jp/aws-dms-20220519/

⓷データ移行

Step1 移行前評価レポート確認

さて、データ移行を進む前に、移行前評価の結果を確認します。
ここが問題ないことは移行の大前提なので。

すべて合格なので、問題なさそうですね。
file

続いて、レポートを見てみます。
なるほど、バケットの下にレポート単位でフォルダを分けています。フォルダ名はレポートIDに一致し、ランダムで作成されますね。

file

確認したら特に問題ないようでしたらので、ほんちゃの移行に入りましょう。

Step2 移行開始

異種RDSの移行のため、ソースとターゲットのスキーマ構成が違うことで移行に失敗する可能性があります。基本的に、移行前にDDLやSCTツールを使って、ターゲットRDSにスキーマ、移行テーブルなどを作成する必要があります。
ただし、今回の場合ですと、テストソースはOracleとpostgreの共通の構成で作成したので、事前にターゲットRDSにスキーマ作成しなくても移行タスク中に作ってもらえます。

file

ステータスが「ロード完了」になりました。
データ量が少ないので、すぐ終わりましたね。
エラーがなく無事終了することはありがたいです。

file

Step3 移行確認

まずは、テーブル統計から確認します。

テーブル統計で移行したテーブルと行数を確認できます。
問題なさそうですね。テストソースはすべて移行されています。
file

そして、エンドポイントから最新のスキーマ情報を確認できますので、ターゲットRDSのスキーマ情報を確認しましょう。

何もないようなので、右上の更新ボタンを押してみましょう。
file

「スキーマを更新する」を押しますと、スキーマリストを取得できます。ここから少し時間がかかります。
file

更新できました!スキーマがありましたね!
file

確実にデータが移行されたことの確認はもちろんターゲットRDSに接続して、テーブルとデータまでの確認は必要とはありますが、ここで手順を割愛します。

Step4 移行ログ確認

移行として完了していますが、移行の中にエラーが発生していないかはログで確認します。

なるほど、移行ログのロググループはレプリケーションインスタンス単位で作成されていますね。タスク単位ではないので、すべてのタスクログはこのロググループに保存されますね。

file

ログストリームを確認しましたら、infoしか出ていなく、エラーがないですね。
file

CLIでDMS操作

CLIでDMSを操作したい時に、以下の条件を満たす必要があります。

・ロール作成

まず、DMSユーザーズガイドに記載がありました、「dms-vpc-role」 と 「dms-cloudwatch-logs-role」の作成が必要です。

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Security.html#CHAP_Security.APIRole

ロール「dms-vpc-role」
 ーポリシー「AmazonDMSVPCManagementRole」

ロール「dms-cloudwatch-logs-role」
 ーポリシー「AmazonDMSCloudWatchLogsRole」

・VPCエンドポイント

そして、サービス間の連携としてDMSのエンドポイントが作成が必要です。

終わりに

エラーなく移行できたことを確認できました!
ここまで移行は完了となります!

次回からおまけとして、SCT使用した移行をやってみたいと思います!

次回:AWS DMSを使ってみた⓸SCTツールでスキーマ移行
    https://cloud5.jp/aws-dms-20220521/

Last modified: 2022-05-23

Author