AWS DMSを使ってみた②移行タスクの作成


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

初めに

前回の続きとして、今日は移行タスクを作成します。

前回:AWS DMSを使ってみた⓵移行前の準備作業
    https://cloud5.jp/dms-task-20220513/

⓶移行タスクの作成

Step1 サブネットグループ作成

レプリケーションインスタンスに使えるサブネットグループを作成します。
注意点としては、マルチAZに関係なく、サブネットのグループなので、二つ以上のサブネットを用意必要です。

file

Step2 レプリケーションインスタンス作成

レプリケーションインスタンスとRDS接続できるように、SGインバウンドルールにRDSを追加する。

file

さて、DMSの画面にお入りしましょう!
これから、RDSと同じVPC内にレプリケーションインスタンスを作成します。
インバウンドルールを追加したSGを選択する以外、全部デフォルトでいきます。

file

file

file

作成完了したら、ステータスが利用可能となります。
file

Step4 エンドポイント作成

移行の作業場であるレプリケーションインスタンスを作成したら、次はインスタンスとRDS接続できるようにエンドポイントを作成します。ソースとターゲットを両方作成する必要があります。

・ソースエンドポイント作成

ソースエンドポイントを選択して作成する。
RDSインスタンスの選択にソースRDSを選択すると、パスワード以外の接続情報が自動に入れてもらえます。

file

ここでパスワードをいればokです。
file

接続情報は暗号化されていますね、とりあえずデフォルトのキーを使います。
file

作成する前にテストできます!
file

作成完了したら、ステータスがアクティブになります。
file

・ターゲットエンドポイント作成

ターゲットエンドポイントを選択して作成する。
流れはソースと同じとなります。

file

おそらく検証だけで気づけることですが。
postgre初期のDB名は指定しない場合、コンソールから空白でDB名がないように見えますが、実際はpostgresで作成されています。
ここでデータベース名を空白にすると、作成はエラーになりますので、注意してください。

file

それで、エンドポイントの作成が完了となります。
file

Step5 全ロードの移行タスク作成

ようやくですが、移行のタスクに来ました。
ここで移行方式、移行ログ記録などを定義して移行を実行する場所です。

先ほど作成したレプリケーションインスタンス、エンドポイントを情報を入れて、移行タイプに全ロードの「既存のデータを移行する」を選択します。
file

検証有効化とCloudWatchログを有効化にチェックを入れる。
file

デーブルマッピングにルールを追加します。
file

Oracleはデフォルトで大文字でスキーマ作成されますが、PostgreSQLはデフォルトで小文字でスキーマ作成されます。
そのままで移行すると、大文字小文字の変換ができなくてエラーが発生する可能性があるので、事前に大文字小文字の変換ルールを作成することで回避できます。

以下の公式ドキュメントを参照してルールを作成する。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/dms-mapping-oracle-postgresql/

file

移行前評価を有効化する。
file

ここで事前作業で作成したバケットとロールを選択する。
file

移行前評価が有効の場合、手動でタスクを起動することになるので、スタートアップ設定に「後で手動で行う」を選択して、タスクを作成する。
file

準備完了のタスクを作成できました!
file

終わりに

ここまで読んでいただき、ありがとうございました。
また次回で、実際の移行をやりましょう!

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

Last modified: 2022-05-23

Author