この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
初めに
前回の続きとして、今日は移行タスクを作成します。
前回:AWS DMSを使ってみた⓵移行前の準備作業
https://cloud5.jp/dms-task-20220513/
⓶移行タスクの作成
Step1 サブネットグループ作成
レプリケーションインスタンスに使えるサブネットグループを作成します。
注意点としては、マルチAZに関係なく、サブネットのグループなので、二つ以上のサブネットを用意必要です。
Step2 レプリケーションインスタンス作成
レプリケーションインスタンスとRDS接続できるように、SGインバウンドルールにRDSを追加する。
さて、DMSの画面にお入りしましょう!
これから、RDSと同じVPC内にレプリケーションインスタンスを作成します。
インバウンドルールを追加したSGを選択する以外、全部デフォルトでいきます。
作成完了したら、ステータスが利用可能となります。
Step4 エンドポイント作成
移行の作業場であるレプリケーションインスタンスを作成したら、次はインスタンスとRDS接続できるようにエンドポイントを作成します。ソースとターゲットを両方作成する必要があります。
・ソースエンドポイント作成
ソースエンドポイントを選択して作成する。
RDSインスタンスの選択にソースRDSを選択すると、パスワード以外の接続情報が自動に入れてもらえます。
ここでパスワードをいればokです。
接続情報は暗号化されていますね、とりあえずデフォルトのキーを使います。
作成する前にテストできます!
作成完了したら、ステータスがアクティブになります。
・ターゲットエンドポイント作成
ターゲットエンドポイントを選択して作成する。
流れはソースと同じとなります。
おそらく検証だけで気づけることですが。
postgre初期のDB名は指定しない場合、コンソールから空白でDB名がないように見えますが、実際はpostgresで作成されています。
ここでデータベース名を空白にすると、作成はエラーになりますので、注意してください。
それで、エンドポイントの作成が完了となります。
Step5 全ロードの移行タスク作成
ようやくですが、移行のタスクに来ました。
ここで移行方式、移行ログ記録などを定義して移行を実行する場所です。
先ほど作成したレプリケーションインスタンス、エンドポイントを情報を入れて、移行タイプに全ロードの「既存のデータを移行する」を選択します。
検証有効化とCloudWatchログを有効化にチェックを入れる。
デーブルマッピングにルールを追加します。
Oracleはデフォルトで大文字でスキーマ作成されますが、PostgreSQLはデフォルトで小文字でスキーマ作成されます。
そのままで移行すると、大文字小文字の変換ができなくてエラーが発生する可能性があるので、事前に大文字小文字の変換ルールを作成することで回避できます。
以下の公式ドキュメントを参照してルールを作成する。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/dms-mapping-oracle-postgresql/
移行前評価を有効化する。
ここで事前作業で作成したバケットとロールを選択する。
移行前評価が有効の場合、手動でタスクを起動することになるので、スタートアップ設定に「後で手動で行う」を選択して、タスクを作成する。
準備完了のタスクを作成できました!
終わりに
ここまで読んでいただき、ありがとうございました。
また次回で、実際の移行をやりましょう!
次回:AWS DMSを使ってみた⓷データ移行
https://cloud5.jp/aws-dms-20220520/