1
/
5

AWS Database Migration Service(DMS)入門 その1(準備編)【エンジニアブログより】

技術課の柏尾です。
AWS Database Migration Service(DMS)が発表されてから随分経ちますが、自分はまだ使ったことが無かったので、下記のAWSのドキュメントで提供されているチュートリアルを利用して学習してみました。
Amazon RDS Oracle データベースの Amazon Aurora MySQL への移行
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.html
※チュートリアルの所要時間は約 2 時間です。AWS リソースを使用してこれを完了するための推定コストは、約 5.00 USDです。

チュートリアルの内容

チュートリアルの内容は、
RDS(Oracle)→ DMS(レプリケーションインスタンス) → RDS(Aurora)
の移行になります。実際の案件では、ソース側(Oracle)がオンプレ側にあるパターンが多いと思いますが、本チュートリアルでも大体の流れはつかめるかと思います。

また、チュートリアル時の構成図については下記ページに記載があります。
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.Architecture.html

事前準備

ステップ 2: 各種ツールをローカルPCにインストールする
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.Steps.InstallSCT.html
を参照して、「SQL Workbench/J」「AWS スキーマ移行ツール(AWS Schema Conversion Tool)」「JDBC ドライバー」等をインストールしておきます。

AWS環境構築

構成図の環境は、チュートリアルで提供されているCloudFormationのテンプレートを利用してすぐに構築することが可能です。

CloudFormationの[テンプレートの選択] ページで、[Amazon S3 テンプレート URL の指定] を選択し、「https://dms-sbs.s3.amazonaws.com/Oracle_Aurora_RDS_For_DMSDemo.template」を入力します。

ステップ 1: CloudFormation テンプレートを使用して VPC で RDS インスタンスを起動する
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.Steps.LaunchRDSwCloudFormation.html


パラメータ情報を入力します。 「スタックの名前」は何でも良いのですが、チュートリアルの通り「DMSdemo」と入力します。
「Client IP」の部分のデフォルト値は、すべての場所 (0.0.0.0/0) からのアクセスを許可するようになっているため、自分のローカルPCからRDSに接続する際のグローバルIP アドレスを CIDR (x.x.x.x/32)形式で指定します。
他はそのままでOKです。


確認し、問題なければ「作成」ボタンを押します。

スタックが作成中になります。


約20分ぐらいで完了しました。

スタックが作成されたら、DMSdemo スタックを選択し、「出力」タブを選択します。
JDBC 接続文字列「OracleJDBCConnectionString」「AuroraJDBCConnectionString」をメモしておきます。

移行元Oracleにサンプルスキーマを作成する

ステップ 3: Oracle DB インスタンスへの接続をテストしてサンプルスキーマを作成する
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.Steps.ConnectOracle.html

「SQL Workbench/J」からRDS(Oracle)に接続します。
CloudFormationのスタックの出力の「OracleJDBCConnectionString」の値を接続先のURLに入力します。
接続時のパスワードが分からない場合はCloudFormationのtemplateファイルに記載があるのでそちらを確認してください。


AWSが提供しているSQLスクリプトをコピーして実行します。
https://dms-sbs.s3.amazonaws.com/Oracle-HR-Schema-Build.sql

SQLを実行し、「HR」スキーマ上の各種オブジェクトの数を確認します。

SQLを実行し、「HR」スキーマ上の各種制約の数を確認します。


「Employees」テーブル「departments」テーブルにSQLを実行して、従業員が10人より多い部門を確認します。

ターゲットAuroraに接続する

同じく、「SQL Workbench/J」からRDS(Aurora)に接続します。
CloudFormationのスタックの出力の「AuroraJDBCConnectionString」の値を接続先のURLに入力します。
その他の手順は下記を参照してください。
ステップ 4: Aurora MySQL DB インスタンスへの接続をテストする
https://docs.aws.amazon.com/ja_jp/dms/latest/sbs/CHAP_RDSOracle2Aurora.Steps.ConnectAurora.html

まとめ

ここまでで、環境の準備が完了しました。

次回は「AWS スキーマ移行ツール(AWS Schema Conversion Tool)」を利用して、Oracleのスキーマを Aurora MySQL用に変換後、スキーマ変換の検証までをやってみたいと思います。


株式会社サーバーワークス's job postings

Weekly ranking

Show other rankings
Like Kaede Suzuki's Story
Let Kaede Suzuki's company know you're interested in their content