[アップデート]AWS DMSのスキーマ変換機能が発表されました#reinvent

マネジメントコンソールからスキーマ変換できるぞう
2022.11.29

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

みなさんこんにちは、杉金です。
AWS DMSのスキーマ変換機能が発表されました!これまではスキーマ変換を行う際は、AWS Schema Conversion Tool (AWS SCT) を別途使用する必要がありました。このアップデートにより、マネジメントコンソール上で完結できるようになりました。

概要図

スキーマ変換機能の概要図を以下に記載します。左端にあるのが移行元となるデータベースで右端にあるのが移行先のデータベースです。中心に移行プロジェクトがあり、データプロバイダーを介してスキーマ変換を行います。

引用:https://docs.aws.amazon.com/dms/latest/userguide/CHAP_SchemaConversion.html

DMSスキーマ変換作業の流れ

DMSスキーマ変換作業は以下のステップで進めていきます。

  1. インスタンス プロファイルを作成する
  2. データプロバイダーを構成する
  3. 移行プロジェクトを作成する
  4. 評価レポートを作成する
  5. ソース コードを変換する
  6. 変換されたコードを適用する
  7. クリーンアップとトラブルシューティング

サポートしているリージョン

以下のリージョンをサポートしています。

Region Name Region
US East (N. Virginia) us-east-1
US East (Ohio) us-east-2
US West (Oregon) us-west-2
Asia Pacific (Tokyo) ap-northeast-1
Asia Pacific (Singapore) ap-southeast-1
Asia Pacific (Sydney) ap-southeast-2
Europe (Frankfurt) eu-central-1
Europe (Stockholm) eu-north-1
Europe (Ireland) eu-west-1

AWS Database Migration Service User Guide | Supported AWS Regions

サポートしているソースおよびターゲットのデータプロバイダー

ソース

  • Microsoft SQL Server version 2008 R2 and higher
  • Oracle version 10.2 and later, 11g and up to 12.2, 18c, and 19c

ターゲット

  • MySQL version 8.x
  • PostgreSQL version 14.x

AWS Database Migration Service User Guide | Supported source and target data providers

前提条件、制限事項

他にもいくつかの前提条件や制限事項がありますので、利用される際は一読ください。

前提条件

AWS Database Migration Service User Guide | Prerequisites for working with DMS Schema Conversion

制限事項

AWS Database Migration Service User Guide | Limitations

少しだけ試してみた

今回はコンソールに新たに増えた以下の3つを試してみます。

インスタンスプロファイルの作成

まずはインスタンスのプロファイル作成して、ネットワークとセキュリティの設定を行います。

最初に名前を決めます。

次にレプリケーションインスタンスを実行するネットワークとセキュリティグループを設定します。

下にある任意の設定の中身はこちらで、スキーマ変換メタデータを保存するS3バケットの指定と、その他の設定としてレプリケーションインスタンスのボリューム暗号化に使用されるKMSキーを指定します。

インスタンスプロファイルの設定は以上です。

データプロバイダーの構成

次はデータプロバイダーの構成です。移行元(ソース)と移行先(ターゲット)の2つのプロバイダーを作成します。

まずはソースのデータプロバイダーを想定して作ってみます。オンプレミスやEC2を想定して、手動で入力を選び、名前とエンジンタイプを選択します。

エンジンタイプを選択するとDBエンジンに応じた項目が表示されます。Oracleを選びましたので、ポートやサービスIDなどの必要項目を入力していきます。

以上がソースのデータプロバイダーの設定です。それほど設定項目は多くないですね。
次はターゲットのデータプロバイダーの設定です。今度はRDSを選択してみると、リストからRDSを選べます。

ソースと同じようにポートやデータベース名など必要項目を入力していきます。

入力を終えたら、データプロバイダーの作成を選択します。

これでソースとターゲットのプロバイダーが作成されました。

移行プロジェクト作成

移行プロジェクトの作成を行います。

最初に名前と作成したインスタンスプロファイルを指定します。

ソースとターゲットの設定を行います。データプロバイダーを指定し、データベースへのアクセスに使用するシークレットの指定、シークレットとKMSキーへのアクセスを行うIAMロールを指定します。

設定後に下にスクロールすると任意の追加設定があります。

ここでは変換ルールを設定できます。

移行プロジェクトの作成は以上です。今回はここまでの紹介となりますが、実際の移行はまたの機会にお見せできればと思います。

料金

スキーマ変換機能自体は無料のようです。DMSで使用したボリュームやレプリケーションインスタンスなどの使用したリソースに応じて料金が発生します。

最後に

簡単ですが、AWS DMSのスキーマ変換機能について紹介しました。AWS SCTを使ったことが無かったのですが、過去ブログの画面キャプチャを見てハードル高そうだなと思っていました。今回のアップデートによって、マネジメントコンソール上でスキーマ変換ができるのはシンプルになって嬉しいですね。

参考資料