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

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

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

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

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

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

[replication instance] (レプリケーション インスタンス) はソースとターゲットのエンドポイント間で実際のデータ移行を行います。インスタンスにはソースデータベースからターゲットデータベースにデータを移行するタスクを実行するのに十分なストレージと処理能力が必要です。このレプリケーション インスタンスの規模は、移行するデータの量と、インスタンスで実行する必要があるタスク量によって異なります。レプリケーション インスタンスの詳細については、「AWS DMS レプリケーションインスタンスの使用」をご参照ください。

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

  2. ナビゲーションペインで、[Replication instances] (レプリケーション インスタンス) を選択し、次に[Create replication instance] (レプリケーション インスタンスの作成) を選択します。

  3. レプリケーション インスタンスの作成ページで、レプリケーション インスタンス構成を指定します:

    1. [Nam] (名前) にDMS-instanceと入力します。

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

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

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

    4. [Engine version] (エンジンバージョン)はデフォルト値のままにします。

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

    6. [Allocated storage (GiB)] (GiB) (割り当てられたストレージ)ではデフォルトの 50 GiB を受け入れます。

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

    7. ネットワークタイプ で、 を選択しますIPv4

    8. [VPC] で、[DMSVPC] を選択します。

    9. [Replication subnet group] (レプリケーションサブネットグループ) では、レプリケーション サブネットグループを現在の選択のままにします。

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

  4. 必要がある場合は、[Advanced security and network configuration] (アドバンストセキュリティとネットワークの設定) タブを選択して、ネットワークおよび暗号化設定の値を設定します:

    1. [Availability zone] (アベイラビリティーゾーン) では、us-west-2a を選択します。

    2. VPC セキュリティグループ (複数可) で、デフォルトのセキュリティグループがまだ選択されていない場合は、それを選択します。

    3. AWS KMS key では、(Default) aws/dms (デフォルト aws/dm) を現在の選択のままにします。

  5. [Maintenance] (メンテナンス)タブの設定はそのままにします。デフォルトは、 AWS リージョンごとに 8 時間の時間ブロックからランダムに選択された 30 分のウィンドウであり、ランダムな曜日に発生します。

  6. [Create] (作成) を選択します。

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

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

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

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

  2. [Create endpoint] (エンドポイントの作成) ページで、[Source] (ソース) エンドポイント タイプを選択します。 RDS DB インスタンスの選択ボックスを選択し、dms-mariadb インスタンスを選択します。

  3. [Endpoint configuration] (エンドポイント設定) セクションで、dms-mysql-source[Endpoint identifier] (エンドポイント識別子) に入力します。

  4. ソースエンジンでは、My SQLを選択したままにします。

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

  6. [Test endpoint connection (optional)] (エンドポイント接続のテスト (オプション)) タブを選択します。[VPC] で、[DMSVPC] を選択します。

  7. [Replication instance] (レプリケーション インスタンス) では、dms-instance が選ばれたままにしておきます。

  8. [Run test] (テストの実行) を選択します。

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

  9. テストが成功したら、[Create endpoint] (エンドポイントの作成) を選択します。

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

    • [Endpoint type] (エンドポイント タイプ):[Target endpoint] (ターゲット エンドポイント)

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

    • [Endpoint identifier] (エンドポイント識別子):dms-postgresql-target

    • [Target engine] (ターゲットエンジン):PostgreSQL を選ばれたままにしておきます。

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

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

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

移行タスクを作成するには
移行タスクを作成してデータベースの移行を開始するには
  1. コンソールのナビゲーションペインで、[Database migration tasks] (データベース移行タスク) を選択してから、[Create task] (タスクの作成) を選択します。[Create database migration task] (データベース移行タスクの作成) ページが開きます。

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

    • [Task identifier] (タスク識別子): dms-task と入力します。

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

    • ソースデータベースエンドポイント: を選択しますdms-mysql-source

    • ターゲットデータベースエンドポイント: を選択しますdms-postgresql-target

    • [Migration type] (移行タイプ): [Migrate existing data and replicate on-going changes] (既存データ移行と実行中変更のレプリケーション) を選択します。

  3. [Task settings] (タスク設定) タブを選択します。以下の設定をします:

    • [Target table preparation mode] (ターゲットテーブル作成モード):[Do nothing] (何もしない)

    • [Stop task after full load complete] (全ロードの完了後にタスクを停止):[Don't stop] (停止しない)

  4. [Table mappings] (テープル マッピング) を選択し、[Selection rules] (選択ルール) を展開します。[Add new selection rule] (新規選択ルールの追加) を選択します。以下の設定をします:

    • [Schema] (スキーマ):スキーマを入力

    • [Schema name] (スキーマ名):dms_sample

  5. [Migration task startup configuration] (移行タスクのスタートアップ設定) を選択し、次に[Automatically on create] (作成時に自動的に) を選択します。

  6. [Create task] (タスクの作成) を選択します。

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

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

このセクションでは、最初のレプリケーション中およびその後にデータをソースデータベースに挿入し、挿入されたデータをターゲットデータベースに照会します。

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

  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. My SQLクライアントを終了します。

    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を選択します。

    • [Table statistics] (テーブルの統計) を選択します。

    モニタリングの詳細については、「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. [Actions] (アクション) で[Delete] (削除) を選択します。

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

  2. DMS-instance を選択します。

  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 セキュリティグループの[Default] (デフォルト) から必ず削除してください。この操作は削除できるようにするために必要です。

  • Amazon EC2クライアント。

  • Amazon VPC。

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