

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

# のレプリケーションを設定する AWS Database Migration Service
<a name="CHAP_GettingStarted.Replication"></a>

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

## ステップ 1: AWS DMS コンソールを使用してレプリケーションインスタンスを作成する
<a name="CHAP_GettingStarted.Replication.ReplicationInstance"></a>

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

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

![\[レプリケーション インスタンスの作成\]](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/datarep-create-replication-30a.png)


**コンソールを使用してレプリケーション インスタンスを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) で AWS DMS コンソールを開きます。

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

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

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

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

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

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

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

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

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

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

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

   1. **VPC**では**DMSVPC**を選択します。

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

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

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

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

   1. **[VPC security group(s)]** (VPC セキュリティグループ) では、**[Default]** (デフォルト) セキュリティグループ (まだ選択されていない場合) を選択します。

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

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

1. **[作成]** を選択します。

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

## ステップ 2: ソースとターゲットのエンドポイントを指定する
<a name="CHAP_GettingStarted.Replication.Endpoints"></a>

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

![\[エンドポイントの作成\]](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/datarep-create-endpoint-30a.png)


**AWS DMS コンソールを使用してソースエンドポイントとデータベースエンドポイントを指定するには**

1. コンソールで、ナビゲーションペインから**[Endpoints]** (エンドポイント) を選択し、次に**[Create Endpoint]** (エンドポイントの作成) を選択します。

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

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

1. **[Source engine]** (ソースエンジン) では **MySQL** を選択されたままにしておきます。

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

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

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

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

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

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

1.  AWS DMS コンソールを使用してターゲットデータベースエンドポイントを指定します。これを行うには、次の設定を使用して、前の手順を繰り返します:
   + **[Endpoint type]** (エンドポイント タイプ)：**[Target endpoint]** (ターゲット エンドポイント)
   + **[RDS Instance]** (RDS インスタンス):**dms-postgresql**
   + **[Endpoint identifier]** (エンドポイント識別子)：**dms-postgresql-target**
   + **[Target engine]** (ターゲットエンジン)：**PostgreSQL** を選ばれたままにしておきます。

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

## ステップ 3: タスクを作成してデータを移行する
<a name="CHAP_GettingStarted.Replication.Tasks"></a>

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

![\[移行タスクを作成するには\]](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/datarep-create-task-20a.png)


**移行タスクを作成してデータベースの移行を開始するには**

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

1. **[Task configuration]** (タスクの設定) セクションで、次のタスクオプションを指定します：
   + **[Task identifier]** (タスク識別子): **dms-task** と入力します。
   + **[Replication instance]** (レプリケーション インスタンス): レプリケーション インスタンスを選択します (**dms-instance-vpc-*<vpc id>***)。
   + **[Source database endpoint]** (ソースデータベースのエンドポイント): **dms-mysql-source** を選択します。
   + **[Target database endpoint]** (ターゲットデータベースエンドポイント): **dms-postgresql-target** を選択します。
   + **[Migration type]** (移行タイプ): **[Migrate existing data and replicate on-going changes]** (既存データ移行と実行中変更のレプリケーション) を選択します。

1. **[Task settings]** (タスク設定) タブを選択します。以下の設定をします：
   + **[Target table preparation mode]** (ターゲットテーブル作成モード)：**[Do nothing]** (何もしない)
   + **[Stop task after full load complete]** (全ロードの完了後にタスクを停止)：**[Don't stop]** (停止しない)

1. **[Table mappings]** (テープル マッピング) を選択し、**[Selection rules]** (選択ルール) を展開します。**[Add new selection rule]** (新規選択ルールの追加) を選択します。以下の設定をします：
   + **[Schema]** (スキーマ)：**スキーマを入力**
   + **[Schema name]** (スキーマ名)：**dms\$1sample**

1. **移行タスクの起動設定**タブを選択します。**移行前評価の開始 (推奨)** を選択して、タスクを開始する前に評価を実行します。または、**作成時に自動的に開始**して移行をすぐに開始するか、**評価のみを実行して**タスクを開始せずに評価することもできます。  
![\[移行タスクを作成するには\]](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/datarep-create-task-21.png)

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

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

## ステップ 4: レプリケーションテスト
<a name="CHAP_GettingStarted.Replication.Monitoring"></a>

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

**レプリケーションをテストするには**

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

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

   ```
   mysql -h dms-mysql.abcdefg12345.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample
   ```

1. 次のコマンドを実行して、ソースデータベースにレコードを挿入します。

   ```
   MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User1', 'User1', 'Test');
   Query OK, 1 row affected (0.00 sec)
   ```

1. MySQL クライアントを終了します。

   ```
   MySQL [dms_sample]> exit
   Bye
   ```

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

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

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

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

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

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
    id | full_name | last_name | first_name
   ----+-----------+-----------+------------
   (0 rows)
   ```

1. 移行タスクの実行中に、データベース移行の進捗をモニタリングできます。
   + DMSコンソールのナビゲーションペインで**[Database migration tasks]** (データベースの移行タスク) を選択します。
   + **dms-task**を選択します。
   + **[Table statistics]** (テーブルの統計) を選択します。

   モニタリングの詳細については、「[DMS AWS タスクのモニタリング](CHAP_Monitoring.md)」をご参照ください。

1. レプリケーションが完了したら、ターゲットデータベースに新しいレコードを再度クエリします。 は、最初のレプリケーションが完了した後に新しいレコードを 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)
   ```

1. psqlクライアントを終了します。

   ```
   dms_sample=> quit
   ```

1. 手順 1 を繰り返して、ソースデータベースに再接続します。

1. 別のレコードを `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)
   ```

1. 手順 3 と 4 を繰り返して、ソースデータベースから切断し、ターゲットデータベースに接続します。

1. レプリケートされたデータをターゲットデータベースに対して再度クエリします。

   ```
   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 リソースをクリーンアップする
<a name="CHAP_GettingStarted.Replication.Deleting"></a>

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

**コンソールを使用して移行タスクを削除するには**

1.  AWS DMS コンソールのナビゲーションペインで、**データベース移行タスク**を選択します。

1. **dms-task**を選択します。

1. **[Actions]** (アクション) で**[Delete]** (削除) を選択します。

**コンソールを使用してレプリケーション インスタンスを削除するには**

1.  AWS DMS コンソールのナビゲーションペインで、**レプリケーションインスタンス**を選択します。

1. **[DMS-instance]** (DMSインスタンス) を選択します。

1. **[Actions]** (アクション) で**[Delete]** (削除) を選択します。

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

**コンソールを使用してエンドポイントを削除するには**

1.  AWS DMS コンソールのナビゲーションペインで、**エンドポイント**を選択します。

1. **dms-mysql-source** を選択します。

1. **[Actions]** (アクション) で**[Delete]** (削除) を選択します。

 AWS DMS リソースを削除したら、次のリソースも必ず削除してください。他のサービスのリソースを削除するヘルプについては、各サービスのドキュメントをご参照ください。
+ RDS データベース。
+ RDS データベース パラメータグループ。
+ RDS サブネット グループ。
+ データベースおよびレプリケーション インスタンスとともに作成された Amazon CloudWatch ログ。
+ Amazon VPC および Amazon EC2 クライアント用に作成されたセキュリティグループ。受信ルールを **launch-wizard-1** セキュリティグループの**[Default]** (デフォルト) から必ず削除してください。この操作は削除できるようにするために必要です。
+ Amazon EC2 クライアント。
+ Amazon VPC 。
+ Amazon EC2 クライアント用 Amazon EC2キーペア。