1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Schema Conversion Tool を使ったDB移行

Posted at

SCTのインストール

準備

SCTインストールイメージのダウンロード

AWSのサイトから最新のSchema Conversion Toolをダウンロードしますhttps://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html

JDBCドライバーの準備

ソースDB, ターゲットDB用のJDBCドライバーを準備しておきます

SCTのインストール

image.png
image.png
image.png
image.png
image.png

JDBCドライバーの配置

ソース, ターゲットの接続に使うJDBCドライバーを配置する

SCTのJDBCドライバーの設定

Settings → Global settingsで指定する
image.png

SCTの設定

プロジェクトを作成して設定する。
image.png
プロジェクトをオープンした画面
image.png

ソースDBの接続

「Add source」を押して設定する

DBを選択

image.png

接続情報を入力

image.png

接続テスト

「Test connection」を押す
image.png
image.png

設定反映

「connect」を押して保管する。(もう一度確認が発生)
image.png
メイン画面で、Sourceのアイコンが接続状態(緑)に変わった。
image.png

ターゲットDBの接続

「Add target」を押して設定する

DBを選択

image.png

接続情報を入力

image.png

接続テスト

「Test connection」を押す
image.png
image.png

設定反映

「connect」を押して保管する。
メイン画面で、Sourceのアイコンが接続状態(緑)に変わった。
image.png

移行プロジェクトの設定

メイン画面で移行対象のスキーマまで展開する
image.png

スキーマの変換

移行対象のスキーマ上のコンテキストメニュー(右クリック)から、「Convert schema」を選択して、スキーマ変換を開始する
image.png
変換が開始される
image.png
参考:2回目以降の実行の場合、確認が出る
![image.png](https://qiita-image-store.s3.ap-northeast-
変換終了後、ターゲットDBの対象スキーマを展開して、最新状況「Refresh from database」で変換されたスキーマの存在を確認する
1.amazonaws.com/0/3802444/2167dc53-460a-ba4b-ce33-adfd579e1921.png)
image.png

ターゲットDBへの反映

「Apply to database」でターゲットDBに反映する
image.png
image.png
image.png
image.png
image.png

移行後の確認

SCTのTarget上で反映されたテーブルの存在を実際に確認する。
image.png
PSQLやA5SQL等のツールで確認する。

接続ユーザに対する権限付与

変換を行ったユーザ(今回はadminpg)と異なるユーザで利用する場合、利用ユーザに対して、権限の付与が必要。以下はPSQLを使った例。publicと対象スキーマの利用権限を付与する。

psql -h ターゲットDBのアドレス -p 5432 -U adminpg -d pgdb01
GRANT usage ON schema apl,public TO apl
GRANT SELECT,insert,delete,update ON ALL TABLES IN SCHEMA apl TO apl;
GRANT SELECT,insert,delete,update ON ALL TABLES IN SCHEMA public TO apl;

利用ユーザによる確認

psql -h ターゲットDBのアドレス -p 5432 -U apl -d pgdb01
SET search_path TO apl;
\dt

\dtの表示例
リレーション一覧
スキーマ | 名前 | タイプ | 所有者
----------+----------+----------+--------
apl | table080 | テーブル | apl
apl | table101 | テーブル | apl
apl | table102 | テーブル | apl
...

その他

データの移行はAWSのサービスDatabase Migration Serviceを使います。
DMSにもスキーマ変換の機能があり、利用できるが、できることに若干の制限があります。この検証を行った時点(2024/10月)では、テーブルのコメントが反映されないことは確認されてます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?