AWS Database Migration Service のレプリケーションの設定 - AWS Database Migration Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Database Migration Service のレプリケーションの設定

このトピックでは、ソースデータベースとターゲットデータベース間のレプリケーションを設定します。

ステップ 1: AWS DMS コンソールを使用してレプリケーションインスタンスを作成する

AWS DMS の使用を開始するには、レプリケーションインスタンスを作成します。

レプリケーションインスタンスはソースエンドポイントとターゲットエンドポイント間での実際のデータ移行を実行します。インスタンスには、ソースデータベースからターゲットデータベースにデータを移行するタスクを実行するのに十分なストレージと処理能力が必要です。レプリケーションインスタンスのサイズは、移行するデータの量と、インスタンスが実行する必要があるタスクにより異なります。レプリケーションインスタンスの詳細については、「AWS DMS レプリケーションインスタンスでの作業」を参照してください。


                レプリケーションインスタンスを作成する
コンソールを使用してレプリケーションインスタンスを作成するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/dms/v2/ で AWS DMS コンソールを開きます。

  2. ナビゲーションペインで、[レプリケーションインスタンス] を選択して、[レプリケーションインスタンスの作成] をクリックします。

  3. [レプリケーションインスタンスの作成] ページで、レプリケーションインスタンスの設定を次のとおり指定します。

    1. [名前] には DMS-instance と入力する。

    2. [説明] には、このレプリケーションインスタンスの短い説明を入力する (オプション)。

    3. [インスタンスクラス] には、dms.t3.medium を選択されたままにする。

      インスタンスには移行に十分なストレージ、ネットワーク、処理能力が必要です。インスタンスクラスの選択方法の詳細については、「移行に適した AWS DMS レプリケーションインスタンスの選択」を参照。

    4. [エンジンバージョン] はデフォルト値のままにする。

    5. [マルチ AZ] には [開発またはテストワークロード (シングル AZ)] を選択する。

    6. [割り当てられたストレージ (GiB)] (割り当てられたストレージ)では、デフォルトの 50 ギビバイト (GiB) のままにする。

      AWS DMS の場合、ストレージは主にログファイルとキャッシュされたトランザクションが使用します。キャッシュされたトランザクションについては、キャッシュされたトランザクションをディスクに書き込む必要がある場合にのみストレージが使用されます。つまり、AWS DMS では大量のストレージは使用しません。

    7. [ネットワークタイプ] では [IPv4] を選択する。

    8. [VPC] では [DMSVPC] を選択する。

    9. [レプリケーションサブネットグループ] では、現在選択されているレプリケーションサブネットグループのままにする。

    10. [パブリックアクセス可能] はオフにする。

  4. 必要に応じて、[セキュリティとネットワークの詳細設定] タブをクリックして、ネットワークと暗号化の値を次のとおり設定します。

    1. [アベイラビリティーゾーン] では [us-west-2a] を選択する。

    2. [VPC セキュリティグループ] では、まだ選択されていない場合は、[デフォルト] を選択する。

    3. [AWS KMS key] では、[(デフォルト) aws/dms] が選択されたままにする。

  5. [メンテナンス] タブの設定はそのままにします。各 AWS リージョンの 8 時間の時間ブロックからランダムに選択された 30 分の時間枠で、ランダムな曜日に発生するというのがデフォルトです。

  6. [作成] をクリックします。

AWS DMS は移行を実行するためのレプリケーションインスタンスを作成します。

ステップ 2: ソースエンドポイントとターゲットエンドポイントを指定する

レプリケーションインスタンスの作成時に、以前に作成した Amazon RDS データベースのソースデータ ストアエンドポイントとターゲットデータストアエンドポイントを指定できます。各エンドポイントは個別に作成します。


                エンドポイントを作成する
AWS DMS コンソールを使用して、ソースエンドポイントとターゲットデータベースエンドポイントを指定するには
  1. コンソールで、ナビゲーションペインから [エンドポイント] を選択して、[エンドポイントの作成] をクリックします。

  2. [エンドポイントの作成] ページで、[ソース] のエンドポイントタイプを選択します。 [RDS DB インスタンスの選択] チェックボックスをオンにして、[dms-mariadb] インスタンスを選択します。

  3. [エンドポイント設定] セクションの [エンドポイント識別子] には dms-mysql-source をに入力します。

  4. [ソースエンジン] では [MySQL] を選択されたままにします。

  5. [エンドポイントデータベースへのアクセス] では、[アクセス情報を手動で提供する] を選択します。[ポート][Secure Socket Layer (SSL) モード][ユーザー名][パスワード] が正しいことを検証します。

  6. [エンドポイント接続のテスト (オプション)] タブをクリックします。[VPC] では [DMSVPC] を選択します。

  7. [レプリケーションインスタンス] では、[dms-instance] が選択されたままにします。

  8. [テストの実行] をクリックします。

    [テストの実行] をクリックすると、AWS DMS は指定した詳細を使用してエンドポイントを作成し、このエンドポイントに接続します。接続が失敗した場合は、エンドポイントの定義を編集して、もう一度接続をテストします。エンドポイントは手動で削除することもできます。

  9. テストが正常に完了したら、[エンドポイントの作成] をクリックします。

  10. AWS DMS コンソールを使用してターゲットデータベースエンドポイントを指定します。これを実行するには、次の設定を使用して、前の手順を繰り返します。

    • エンドポイントタイプ: ターゲットエンドポイント

    • RDS インスタンス: dms-postgresql

    • エンドポイント識別子: dms-postgresql-target

    • ターゲットエンジン: PostgreSQL が選択されたままにする

エンドポイントについてのすべての情報の入力が完了すると、AWS DMS はデータベース移行中に使用するソースエンドポイントとターゲットエンドポイントを作成します。

ステップ 3: タスクを作成してデータを移行する

このステップでは、作成したデータベース間でデータを移行するタスクを作成します。


                移行タスクを作成する
移行タスクを作成してデータベースの移行を開始するには
  1. コンソールのナビゲーションペインで、[データベース移行タスク] を選択し、[タスクの作成] をクリックします。[データベース移行タスクの作成] ページが開きます。

  2. [タスクの設定] セクションで、次のタスクのオプションを指定します。

    • タスク識別子: dms-task と入力する。

    • [レプリケーションインスタンス]: レプリケーションインスタンスを選択する (dms-instance-vpc-<vpc id>)。

    • [ソースデータベースエンドポイント]: [dms-mysql-source] を選択する。

    • [ターゲットデータベースエンドポイント]: [dms-postgresql-target] を選択する。

    • [移行タイプ]: [既存データ移行と実行中変更のレプリケーション] を選択する。

  3. [タスク設定] タブをクリックします。次のとおり設定します。

    • ターゲットテーブル作成モード: 何もしない

    • フルロードの完了後にタスクを停止する: 停止しない

  4. [テーブルマッピング] タブをクリックして、[選択ルール] を展開します。[新しい選択ルールの追加] をクリックします。次のとおり設定します。

    • スキーマ: スキーマの入力

    • スキーマ名: dms_sample

  5. [移行タスクのスタートアップ設定] タブをクリックして、[作成時に自動的に行う] を選択します。

  6. [タスクの作成] をクリックします。

AWS DMS は次に、この移行タスクを作成して開始します。最初のデータベースレプリケーションには約 10 分かかります。AWS DMS がデータ移行を完了する前に、必ずチュートリアルの次のステップを実行します。

ステップ 4: レプリケーションをテストする

このセクションでは、最初のレプリケーション中とレプリケーション後にデータをソースデータベースに挿入し、挿入したデータをターゲットデータベースでクエリします。

レプリケーションをテストするには
  1. データベース移行タスクのステータスが [実行中)] と表示され、前のステップで開始した最初のデータベースレプリケーションは完了していないことを確認します。

  2. Amazon EC2 クライアントに接続して、次のコマンドを使用して MySQL クライアントを起動します。MySQL データベースのエンドポイントを指定します。

    mysql -h dms-mysql.abcdefg12345.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample
  3. 次のコマンドを実行して、ソースデータベースにレコードを挿入します。

    MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User1', 'User1', 'Test'); Query OK, 1 row affected (0.00 sec)
  4. MySQL クライアントを終了します。

    MySQL [dms_sample]> exit Bye
  5. レプリケーションが完了する前に、ターゲットデータベースで新しいレコードをクエリします。

    Amazon EC2 インスタンスから、次のコマンドを使用して、ターゲットデータベースエンドポイントを指定し、ターゲットデータベースに接続します。

    psql \ --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \ --port=5432 \ --username=postgres \ --password \ --dbname=dms_sample

    プロンプトが表示されたらパスワード (changeit) を入力します。

  6. レプリケーションが完了する前に、ターゲットデータベースで新しいレコードをクエリします。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ----+-----------+-----------+------------ (0 rows)
  7. 移行タスクの実行中は、データベース移行の進捗を次のとおりモニタリングできます。

    • DMS コンソールのナビゲーションペインで [データベース移行タスク] を選択する。

    • [dms-task] を選択する。

    • [テーブル統計] を選択する。

    モニタリングの詳細については、「AWS DMS タスクのモニタリング」を参照してください。

  8. レプリケーションが完了したら、ターゲットデータベースでもう一度新しいレコードをクエリします。最初のレプリケーションが完了した後、AWS DMS は新しいレコードを移行します。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ---------+------------+-----------+------------ 7077784 | Test User1 | User1 | Test (1 row)
  9. psql クライアントを終了します。

    dms_sample=> quit
  10. ステップ 1 を繰り返して、ソースデータベースにもう一度接続します。

  11. 別のレコードを person テーブルに挿入します。

    MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User2', 'User2', 'Test'); Query OK, 1 row affected (0.00 sec)
  12. ステップ 3 と 4 を繰り返して、ソースデータベースの接続を切断し、ターゲットデータベースに接続します。

  13. レプリケートされたデータをターゲットデータベースでもう一度クエリします。

    dms_sample=> select * from dms_sample.person where first_name = 'Test'; id | full_name | last_name | first_name ---------+------------+-----------+------------ 7077784 | Test User1 | User1 | Test 7077785 | Test User2 | User2 | Test (2 rows)

ステップ 5: AWS DMS リソースをクリーンアップする

使用開始のチュートリアルを完了したら、作成したリソースを削除できます。削除するには、AWS コンソールを使用できます。レプリケーションインスタンスとエンドポイントを削除する前に、必ず移行タスクを削除します。

コンソールを使用して移行タスクを削除するには
  1. AWS DMS コンソール ナビゲーションペインで、[データベース移行タスク] を選択します。

  2. [dms-task] を選択します。

  3. [アクション][削除] の順に選択します。

コンソールを使用してレプリケーションインスタンスを削除するには
  1. AWS DMS コンソールのナビゲーションペインで、[レプリケーションインスタンス] を選択します。

  2. [DMS インスタンス] を選択します。

  3. [アクション][削除] の順に選択します。

AWS DMS は、このレプリケーションインスタンスを削除して、[レプリケーションインスタンス] ページから削除します。

コンソールを使用してエンドポイントを削除するには
  1. AWS DMS コンソールのナビゲーションペインで [エンドポイント] を選択します。

  2. [dms-mysql-source] を選択します。

  3. [アクション][削除] の順に選択します。

AWS DMS のリソースの削除後、次のリソースも必ず削除します。その他のサービスのリソースの削除についてのサポートは、各サービスのドキュメントを参照してください。

  • RDS データベース

  • RDS データベースのパラメータグループ

  • RDS サブネットグループ

  • データベースとレプリケーションインスタンスとともに作成されたすべての Amazon CloudWatch ログ

  • Amazon VPC と Amazon EC2 クライアントのために作成されたセキュリティグループ。[launch-wizard-1] のセキュリティグループのインバウンドルールは、必ず [デフォルト] から削除します。セキュリティグループを削除するために必要です。

  • Amazon EC2 クライアント

  • Amazon VPC

  • Amazon EC2 クライアントのための Amazon EC2 キーペア