AWS SCT を使用してソース スキーマをターゲットデータベースに移行する
このセクションでは、AWS Schema Conversion Toolをクリックして、ソース スキーマをターゲット データベースに移行します。または、DMS Schema Conversion を使用してソースデータベーススキーマを変換することもできます。詳細については、「DMS Schema Conversion の開始方法」を参照してください。
AWS SCT を使用してソーススキーマをターゲットデータベースに移行するには
Amazon Q CLI をインストールします。AWS Schema Conversion Tool詳細については、AWSSchema Conversion Tool ユーザーガイド、「AWS SCTのインストール、確認、および更新」をご参照ください。
MySQL 用と PostgreSQL 用の JDBC ドライバーをダウンロードする際は、ツールに場所の入力を求められる場合に備えて、ドライバーの保存場所をメモしておきます。
を開きますAWS Schema Conversion Tool [ファイル] をクリックして、[新しいプロジェクト] を選択します。
[New project] (新規プロジェクト) ウィンドウで以下の値を設定します:
[Project name] (プロジェクト名) を
DMSProjectに設定します。AWS SCT プロジェクトをデフォルトのフォルダに保存する [場所] はそのままにする。
[OK] を選択してください。
-
[ソースを追加] をクリックし、ソースの MySQL データベースをプロジェクトに追加して、[MySQL] を選択し、[次へ] をクリックします。
[ソースを追加] ページで、次の値を設定します。
接続名:
source[Server name] (サーバー名): 以前にメモした MySQL データベースのエンドポイントを入力します。
[Server port] (サーバーポート):
3306[User name] (ユーザー名):
admin[Password] (パスワード):
changeit
-
[ターゲットの追加] をクリックして、ターゲットの Amazon RDS for PostgreSQL データベースをプロジェクトに追加して、[Amazon RDS for PostgreSQL] を選択します。[次へ] を選択します。
[ターゲットの追加] ページで、次の値を設定します。
接続名:
target[Server name] (サーバー名): 以前にメモした PostgreSQL データベースのエンドポイントを入力します。
[Server port] (サーバーポート):
5432データベース: 作業中の PostgreSQL データベース名を入力する。
[User name] (ユーザー名):
postgres[Password] (パスワード):
changeit
左側のペインで、[スキーマ] の下にある [dms_sample] を選択します。右側のペインで、ターゲットの Amazon RDS for PostgreSQL データベースを選択します。[マッピングの作]を選択します。単一の AWS SCT プロジェクト内に複数のマッピングルールを追加できます。マッピングルールの詳細については、「Creating mapping rules」を参照してください。
[メインビュー] をクリックします。
左側のペインで、[スキーマ] の下にある [dms_sample] を選択します。コンテキスト (右クリック) メニューを開いて、[スキーマを変換] を選択します。アクションを確認します。
ツールがスキーマを変換したら、右側のペインに [dms_sample] スキーマが表示されます。
右側のペインの [スキーマ] の下で、[dms_sample] のコンテキストメニュー (右クリック) を開き、[Apply to database] を選択します。アクションを確認します。
スキーマの移行が完了していることを確認します。以下のステップを実行します。
スキーマの移行を確認するには
Amazon EC2 クライアントに接続します。
PSQL クライアントを起動するには、次のコマンドを使用します。PostgreSQL データベースエンドポイントを指定し、プロンプトが表示されたらデータベースパスワードを入力します。
psql \ --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \ --port=5432 \ --username=postgres \ --password \ --dbname=dms_sample(空の) テーブルの 1 つをクエリして、AWS SCT がスキーマに正しく適用されていることを確認します。
dms_sample=> SELECT * from dms_sample.player; id | sport_team_id | last_name | first_name | full_name ----+---------------+-----------+------------+----------- (0 rows)