

# AWS Database Migration Service を使用した、EC2 データベースの Amazon RDS への自動移行
<a name="USER_DMS_migration"></a>

RDS コンソールを使用して、EC2 データベースを RDS に移行できます。RDS では AWS Database Migration Service (AWS DMS) を使用してソース EC2 データベースを移行します。AWS DMS によって、リレーショナルデータベースの AWS クラウドへの移行が可能になります。AWS Database Migration Service の詳細については、*AWS Database Migration Service ユーザーガイド* の [AWS Database Migration Service とは](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) を参照してください。

移行を開始するには、データの移行先となる同等の RDS DB インスタンスを作成する必要があります。ターゲットデータベースを作成したら、そのデータベースに EC2 データベースをインポートできます。ソースデータベースが 1TiB 未満の場合、この移行アクションにより、データを RDS に移行するために必要となる時間とリソースが節約されます。

## 概要
<a name="USER_DMS_migration-overview"></a>

RDS コンソールで、EC2 データベースを同等の RDS データベースに移行できます。コンソールからの移行を有効にするには、RDS データベースを作成する必要があります。

次のデータベースエンジンの EC2 データベースを移行できます。
+ MySQL
+ MariaDB
+ PostgreSQL

この移行プロセスには、以下のステップが含まれます。
+ RDS で同等のデータベースを作成します。データベースを同等にするには、同じデータベースエンジンおよび互換性のあるエンジンバージョンが必要です。また、データベースは同じ VPC 内にある必要があります。データベースを作成する手順については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
+ データベースのレプリケーションのタイプを選択します。
  + **フルロード移行** – RDS は、ソースデータベース全体をターゲットデータベースにコピーし、必要に応じてターゲットに新しいテーブルを作成します。
**注記**  
このオプションを選択すると、対象の RDS データベースが停止します。
  + **フルロードと変更データキャプチャ (CDC) 移行** – フルロード移行と同様に、このオプションでは、RDS はソースデータベース全体をターゲットデータベースにコピーします。ただし、フルロード移行の後は、RDS はソースでキャプチャされた変更をターゲットデータベースに適用します。変更データキャプチャでは、データベースエンジンのネイティブ API を使用してデータベースログへの変更を収集します。
**注記**  
このオプションを選択すると、対象の RDS データベースが停止します。
  + **変更データキャプチャ (CDC)** — このオプションを使用すると、移行中もターゲットデータベースを使用できます。RDS は、ソースデータベースの進行中の変更をターゲットデータベースに移行します。
+ RDS は、移行を容易にするために必要なネットワークリソースを作成します。RDS が必要なリソースを作成すると、作成されたリソースについて通知が行われ、データ転送を開始できます。

  移行の完了に必要な時間は、レプリケーションのタイプとソースデータベースのサイズによって異なります。

## 前提条件
<a name="USER_DMS_migration-Prerequisites"></a>

### MySQL と MariaDB
<a name="USER_DMS_migration-Prerequisites.MySQL"></a>

MySQL または MariaDB データベースをソースデータベースとして使用し始める前に、次の前提条件を満たしていることを確認してください。これらの前提条件は、AWS が管理するソースに適用されます。

レプリケーション管理者ロールを持つ AWS DMS のアカウントを保有している必要があります。ロールには、次の権限が必要です。
+ **[REPLICATION CLIENT]** (レプリケーション クライアント) – この権限は、CDC タスクにのみ必要です。つまり、フルロードのみのタスクにはこの権限は必要ありません。
+ **[REPLICATION SLAVE]** (レプリケーション スレーブ) – この権限は、CDC タスクにのみ必要です。つまり、フルロードのみのタスクにはこの権限は必要ありません。

AWS DMS ユーザーには、レプリケーション対象に指定されたソーステーブルに対する SELECT 権限も必要です。

MySQL 固有の移行前評価を使用する場合、次の権限を付与します。

```
grant select on mysql.user to <dms_user>;
grant select on mysql.db to <dms_user>;
grant select on mysql.tables_priv to <dms_user>;
grant select on mysql.role_edges to <dms_user>  #only for MySQL version 8.0.11 and higher
```

### PostgreSQL
<a name="USER_DMS_migration-Prerequisites.PostgreSQL"></a>

AWS が管理する PostgreSQL ソースデータベースからデータを移行する前に、以下を実行します：
+ AWS DMS の PostgreSQL ソースエンドポイントのユーザーアカウントとして、PostgreSQL DB インスタンスに必要な最小限のアクセス許可を持つ AWS ユーザーアカウントを使用することをお勧めします。管理アカウントの使用はお勧めしません。このアカウントには `rds_superuser` ロールと `rds_replication` ロールが必要です。`rds_replication` ロールは、論理スロットを管理し、論理スロットを使用してデータをストリーミングするアクセス権許可付与します。

**注記**  
一部の AWS DMS トランザクションでは、DMS エンジンで再度そのパラメータが使用されるまでの間、しばらくアイドル状態になります。PostgreSQL バージョン 9.6 以降で `idle_in_transaction_session_timeout` パラメータを使用すると、アイドル状態のトランザクションでタイムアウトやエラーが生じる場合があります。

## 制限事項
<a name="USER_DMS_migration-Limitations"></a>

自動移行プロセスには、次の制限が適用されます。
+ ソースデータベースの移行を開始するには、ターゲットデータベースのステータスが**[使用可能]** である必要があります。
+ MySQL ソースデータベースから移行する場合、 RDS アカウントにレプリケーション管理者ロールが必要です。また、そのロールに適切な権限を適用する必要があります。
+ EC2 インスタンスとターゲットデータベースは同じ VPC 内にある必要があります。
+ **[EC2 データベースからデータを移行]** アクションを使用する場合、EC2 データベースを次のターゲットデータベースに移行することはできません。
  + クラスターのメンバーであるデータベース
  + Oracle、SQL Server、Db2 データベース
  + MySQL バージョン 5.7 未満のデータベース
  + PostgreSQL バージョン 10.4 未満のデータベース
  + MariaDB バージョン 10.2 未満のデータベース

# 同種移行のための IAM リソースの作成
<a name="USER_DMS_migration-IAM"></a>

RDS は AWS DMS を使用してデータを移行します。データベースにアクセスしてデータを移行するために、AWS DMS は同種データ移行用のサーバーレス環境を作成します。AWS DMS はこの環境で、VPC ピアリング、ルートテーブル、セキュリティグループ、その他の AWS リソースにアクセスする必要があります。また、AWS DMS は、各データ移行のログ、メトリクス、進行状況を Amazon CloudWatch に保存します。データ移行プロジェクトを作成するには、AWS DMS がこのようなサービスにアクセスする必要があります。

また、AWS DMS は、一連のユーザー認証情報を表すシークレットにアクセスして、ソースおよびターゲット接続のためにデータベース接続を認証する必要もあります。

**注記**  
**[EC2 インスタンスからデータを移行]** アクションを使用すると、RDS コンソールを使ってこれらの IAM リソースを生成できます。コンソールで生成された IAM リソースを使用する場合は、この手順を省略してください。

このプロセスでは、次の IAM リソースが必要です。

**Topics**
+ [同種データ移行のための IAM ポリシーの作成](#USER_DMS_migration-IAM.iam-policy)
+ [同種データ移行のための IAM ロールの作成](#USER_DMS_migration-IAM.iam-role)
+ [シークレットアクセスポリシーとロールの作成](USER_DMS_migration-IAM.secret-iam-role-policy.md)
+ [Amazon VPC を管理するために AWS DMS の IAM ロールを作成する](USER_DMS_migration-IAM.dms-vpc-role.md)

## 同種データ移行のための IAM ポリシーの作成
<a name="USER_DMS_migration-IAM.iam-policy"></a>

このステップでは、AWS DMS に Amazon EC2 と CloudWatch のリソースへのアクセスを付与する IAM ポリシーを作成します。その後、IAM ロールを作成して、このポリシーをアタッチします。

**データ移行のために IAM ポリシーを作成するには**

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

1. ナビゲーションペインで、**[ポリシー]** を選択します。

1. **[Create policy]** (ポリシーの作成) を選択します。

1. **[ポリシーの作成]** ページで、**[JSON]** タブをクリックします。

1. 次の JSON コードをエディタに貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeRouteTables",
                   "ec2:DescribeSecurityGroups",
                   "ec2:DescribeVpcPeeringConnections",
                   "ec2:DescribeVpcs",
                   "ec2:DescribePrefixLists",
                   "logs:DescribeLogGroups"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "servicequotas:GetServiceQuota"
               ],
               "Resource": "arn:aws:servicequotas:*:*:vpc/L-0EA8095F"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*:log-stream:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": "cloudwatch:PutMetricData",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateRoute",
                   "ec2:DeleteRoute"
               ],
               "Resource": "arn:aws:ec2:*:*:route-table/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": [
                   "arn:aws:ec2:*:*:security-group/*",
                   "arn:aws:ec2:*:*:security-group-rule/*",
                   "arn:aws:ec2:*:*:route-table/*",
                   "arn:aws:ec2:*:*:vpc-peering-connection/*",
                   "arn:aws:ec2:*:*:vpc/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group-rule/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress",
                   "ec2:RevokeSecurityGroupEgress",
                   "ec2:RevokeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AcceptVpcPeeringConnection",
                   "ec2:ModifyVpcPeeringConnectionOptions"
               ],
               "Resource": "arn:aws:ec2:*:*:vpc-peering-connection/*"
           },
           {
               "Effect": "Allow",
               "Action": "ec2:AcceptVpcPeeringConnection",
               "Resource": "arn:aws:ec2:*:*:vpc/*"
           }
       ]
   }
   ```

------

1. **[次へ: タグ]**、**[次へ: 確認]** の順に選択します。

1. **[名前\$1]** には **HomogeneousDataMigrationsPolicy** と入力して、**[ポリシーを作成]** をクリックします。

## 同種データ移行のための IAM ロールの作成
<a name="USER_DMS_migration-IAM.iam-role"></a>

このステップでは、AWS Secrets Manager、Amazon EC2、CloudWatch へのアクセスを付与する IAM ロールを作成します。

**データ移行のための IAM ロールを作成するには**

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

1. ナビゲーションペインで **[Roles]** (ロール) を選択します。

1. [**ロールの作成**] を選択してください。

1. **[信頼されたエンティティを選択]** ページの **[信頼されたエンティティタイプ]** では、**AWS[サービス]** を選択します。**[その他の AWS サービスのユースケース]** では、**[DMS]** を選択します。

1. **[DMS]** チェックボックスをオンにして、**[次へ]** をクリックします。

1. **[許可を追加]** ページで、作成した **[HomogeneousDataMigrationsPolicy]** を選択します。[**次へ**] を選択します。

1. **[名前、確認、および作成]** ページで、**[ロール名]** に **HomogeneousDataMigrationsRole** と入力して、**[ロールの作成]** をクリックします。

1. **[ロール]** ページの **[ロール名]** には、**HomogeneousDataMigrationsRole** と入力します。**[HomogeneousDataMigrationsRole]** を選択します。

1. **[HomogeneousDataMigrationsRole]** ページで、**[信頼関係]** タブをクリックします。**[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. **[信頼ポリシーを編集]** ページで、次の JSON コードをエディタに貼り付けて、既存のテキストを置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms-data-migrations.amazonaws.com",
                       "dms.your_region.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   上記の例の *your\$1region* は独自の AWS リージョン ユーザー名に置き換えます。

   上記のリソースベースのポリシーは、カスタマーマネージドの **HomogeneousDataMigrationsPolicy** ポリシーに沿ってタスクを実行するアクセス許可を AWS DMS サービスプリンシパルに付与します。

1. [**ポリシーの更新**] を選択します。

# シークレットアクセスポリシーとロールの作成
<a name="USER_DMS_migration-IAM.secret-iam-role-policy"></a>

以下の手順に従って、シークレットアクセスポリシーとロールを作成し、DMS がソースデータベースとターゲットデータベースのユーザー認証情報にアクセスできるようにします。

**シークレットアクセスポリシーとロールを作成して、Amazon RDS の AWS Secrets Manager へのアクセスを許可して適切なシークレットにアクセスできるようにするには**

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam/) の AWS Identity and Access Management (IAM) マネジメントコンソールを開きます。

1. **[Policies]** (ポリシー) を選択し、次に**[Create Policy]** (ポリシー作成) を選択します

1. **[JSON]** を選択し、次のポリシーを入力して、シークレットへのアクセスと復号化を有効にします。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:SecretName-ABCDEF"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
       ]
   }
   ```

------

   `secret_arn` は、必要に応じて `SecretsManagerSecretId` より取得できるシークレットの ARN で、`kms_key_arn` は、シークレットを暗号化するために使用する AWS KMS キーの ARN です。次に例を示します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**注記**  
AWS Secrets Manager で作成されたデフォルトの暗号化キーを使用する場合、`kms_key_arn` に AWS KMS 許可を指定する必要はありません。  
ポリシーで両方のシークレットへのアクセスを許可する場合は、もう 1 つの *[secret\$1arn]* に追加の JSON リソースオブジェクトを指定するだけです。

1. フレンドリ名とオプションの説明を使用して、ポリシーを確認して作成します。

1. **[Roles]** (ロール)、**[Create role]** (ロールの作成) の順に選択します。

1. 信頼されたエンティティの種類に、**[AWS service]** (サービス) を選択します。

1. 信頼されたサービスのリストから **[DMS]** を選択し、**[Next: Permissions]** (次へ: アクセス許可) を選択します。

1. ステップ 4 で作成したポリシーを検索しアタッチし、任意のタグを追加しながらロールを確認します。この時点で、信頼されたエンティティとして Amazon RDS リージョンサービスプリンシパルを使用するように、ロールの信頼関係を編集します。このプリンシパルの形式は以下のとおりです。

   ```
   dms.region-name.amazonaws.com
   ```

   ここで、*`region-name`* は 例えば `us-east-1` などといったリージョンの名前です。したがって、このリージョンの Amazon RDS リージョンサービスプリンシパルが続きます。

   ```
   dms.us-east-1.amazonaws.com
   dms-data-migrations.amazonaws.com
   ```

# Amazon VPC を管理するために AWS DMS の IAM ロールを作成する
<a name="USER_DMS_migration-IAM.dms-vpc-role"></a>

リソースの VPC 設定を管理するには、AWS DMS の IAM ロールを作成する必要があります。移行を成功させるためには、このロールを用意する必要があります。

**データベース移行のために `dms-vpc-role` を作成する**

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

1. コンソールのナビゲーションペインで、**[ロール]**、**[ロールの作成]** の順に選択します。

1. **[信頼されたエンティティを選択]** オプションで **[AWS のサービス]** オプションを選択します。

   **[ユースケース]** で、**[DMS]** を選択します。

1. **[許可を追加]** ステップで、[`AmazonDMSVPCManagementRole`] を選択して **[次へ]** 選択します。

1. **[名前、確認、および作成]** ページで、**[ロール名]** を [`dms-vpc-role`] に設定し、**[ロールを作成]** を選択します。

これにより、移行の VPC 設定を管理するための DMS のロールが作成されます。

# EC2 データベースのデータ移行の設定
<a name="USER_DMS_migration-SetUp"></a>

EC2 ソースデータベースからデータの移行を開始するには、同等の RDS データベースを作成する必要があります。データベースを作成する手順については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

ターゲットデータベースを作成したら、次のステップを使用してデータ移行を設定します。

**データ移行プロジェクトを設定する**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. **[アクション]** ドロップダウンを選択し、**[EC2 データベースからデータを移行]** オプションを選択します。サポート対象のターゲットデータベースについては、「[制限事項](USER_DMS_migration.md#USER_DMS_migration-Limitations)」を参照してください。

1. **[ソース EC2 データベースの選択]** セクションで、次の操作を行います。

   1. **[エンジンのタイプ]** をチェックし、ソースデータベースと同じであることを確認します。

      また、エンジンのバージョンに互換性があるかどうかを確認します。

   1. **[EC2 インスタンス]** で、ソースデータベースが存在する EC2 インスタンスを選択します。

   1. **[ポート]** で、ソースデータベースがトラフィックを許可するポートを入力します。

   1. 既存のシークレットがない場合は、**[シークレット]** で **[新しいシークレットを作成して使用]** を選択します。ソースデータベースの **[ユーザー名]** と **[パスワード]** を入力します。また、シークレットの暗号化に使用する KMS キーも選択します。

      既存のシークレットがある場合は、**[既存のシークレットを使用]** を選択し、ドロップダウンからシークレットを選択します。

   1. 既存の IAM ロールがある場合は、**[シークレットの IAM ロール]** で、**[既存の IAM ロールを使用]** を選択し、前のステップのシークレット ID へのアクセスが許可された IAM ロールをドロップダウンから選択します。

      既存の IAM ロールがない場合は、**[新しい IAM ロールを作成して使用]** を選択します。**[IAM ロール名] に、ロールの新しい名前を入力します。下のリンクでこのロールに関連付けられたアクセス許可を確認できます。**

1. **[ターゲット RDS データベースの表示]** セクションで、次の操作を行います。

   1. セクションの上部でターゲットデータベースの設定を確認します。

   1. ターゲットデータベースの認証情報を保持する既存のシークレットがない場合は、**[シークレット]** で **[新しいシークレットを作成して使用]** を選択します。

      既存のシークレットがある場合は、ドロップダウンからシークレットを選択します。

   1. **[シークレットの IAM ロール]** で、前のステップのシークレットへのアクセスが許可された IAM ロールを選択します。既存の IAM ロールがない場合は、新しい IAM ロールを作成することもできます。

      ドロップダウンに IAM ロールが表示されない場合は、**[IAM ロール ARN]** を `arn:aws:iam:account_id:role/roleName` 形式で指定します。

1. **[データ移行の設定]** セクションで、次の操作を行います。

   1. **[フルロード]**、**[フルロードおよび変更データキャプチャ (CDC)]**、**[変更データキャプチャ (CDC)]** の中から、データ移行のタイプを選択します。これらのパラメータの詳細については「[概要](USER_DMS_migration.md#USER_DMS_migration-overview)」を参照してください。

      移行の開始後に移行タイプを変更することはできません。

   1. 既存の IAM ロールがある場合は、**[データ移行の IAM ロール]** で **[既存の IAM ロールを使用]** を選択し、移行に必要なリソースを作成するアクセス許可を DMS に付与する IAM ロールをドロップダウンから選択します。既存の IAM ロールがない場合は、**[新しい IAM ロールを作成して使用]** を選択します。

1. **[移行設定を表示]** タブに、データ移行を適切に設定するために必要な設定が表示されていることを確認します。

1. **[移行]** を選択して、移行のセットアップを完了します。

これらのステップを完了した後、コンソールの進行状況バナーで **[詳細を表示]** を選択すると、データ移行用に設定されるリソースを確認できます。必要なリソースが設定されると、移行が自動的に開始されます。作成する場合 

複数のデータベースをターゲットデータベースに移行するには、新しい EC2 データベースの詳細情報を使用して上記のプロセスを再度開始します。

# データ移行の管理
<a name="USER_DMS_migration.Managing"></a>

RDS コンソールで **[EC2 データベースからデータを移行]** アクションを使用すると、RDS が自動的に移行を開始します。

AWS DMS コンソールを使用して移行リソースを作成した場合は、ユーザーが移行プロセスを開始できます。

## データ移行の開始
<a name="USER_DMS_migration.Managing.Start"></a>

データ移行を開始するには、次の手順に従います。

**データ移行を開始する**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、使用可能なデータ移行が一覧表示されます。

   RDS コンソールを使用して設定された移行は、必要なリソースが設定されると自動的に開始されます。

   DMS コンソールを使用して設定された移行は、**[準備完了]** に設定されます。

   これらの移行を開始するには、**[アクション]** ドロップダウンを選択し、**[開始]** を選択します。

1. これにより、EC2 データベースのデータ移行が開始されます。

## データ移行の停止
<a name="USER_DMS_migration.Managing.Stop"></a>

レプリケーションタイプがフルロードのデータ移行の場合、移行を停止するとプロセスが停止し、再開できません。停止したら、移行を再度開始する必要があります。

レプリケーションタイプが変更データキャプチャ (CDC) またはフルロードと CDC に設定された移行の場合、連続するレプリケーションプロセスを停止して、後でプロセスを再開できます。

**データ移行の停止**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、進行中のデータ移行が一覧表示されます。

   移行を停止するには、データ移行を選択し、**[アクション]** ドロップダウンで **[停止]** を選択します。

1. これにより、EC2 データベースのデータ移行が停止します。

## データ移行の再開
<a name="USER_DMS_migration.Managing.Resuming"></a>

レプリケーションタイプがフルロードと変更データキャプチャ (CDC) または変更データキャプチャ (CDC) のデータ移行の場合、CDC プロセスを最後の停止ポイントから再開できます。

**データ移行の再開**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、停止中のデータ移行が一覧表示されます。

   移行を再開するには、データ移行を選択し、**[アクション]** ドロップダウンで **[処理を再開]** を選択します。

1. これにより、EC2 データベースのデータ移行が再開されます。

## データ移行の削除
<a name="USER_DMS_migration.Managing.Deleting"></a>

関連するデータ移行を削除するには、以下の手順に従います。

**データ移行の削除**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. 移行を削除するには、データ移行を選択し、**[アクション]** ドロップダウンで **[削除]** を選択します。

1. これにより、データ移行が削除されます。

進行中のデータ移行を削除しても、ターゲットデータベースに既にロードされているデータには影響しません。

## データ移行の再開
<a name="USER_DMS_migration.Managing.Restarting"></a>

CDC 開始点から関連するデータ移行をやり直すには、次の手順を使用します。

**データ移行の再開**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. 移行をやり直すには、データ移行を選択し、**[アクション]** ドロップダウンで **[再起動]** を選択します。

1. これにより、CDC 開始点からデータ移行が再度開始されます。

進行中のデータ移行をやり直しても、ターゲットデータベースに既にロードされているデータには影響しません。

# データ移行のモニタリング
<a name="USER_DMS_migration.Monitoring"></a>

データ移行を開始したら、移行のステータスと進行状況をモニタリングできます。大規模なデータセットのデータ移行の場合、完了するまでに数時間かかります。データ移行の信頼性、可用性、パフォーマンスを維持するには、移行の進捗を定期的にモニタリングします。

**データ移行のステータスと進捗を確認するには**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[関連するデータ移行]** セクションにデータ移行が一覧表示されます。**[ステータス]** 列を確認します。

1. **[移行の進行状況]** 列に、実行中のデータ移行の移行済みデータの割合が % で表示されます。

1. CloudWatch でプロセスを監視するには、**[CloudWatch]** 列にあるリンクを使用します。

## 移行ステータス
<a name="USER_DMS_migration.Monitoring.status"></a>

実行するデータ移行ごとに、RDS コンソールに **[ステータス]** が表示されます。次のリストにステータスを示します。
+ `Ready`: データ移行を開始する準備が整っています。
+ `Starting`: RDS はデータ移行のためのサーバーレス環境を作成しています。
+ `Load running`: RDS はフルロード移行を実行しています。
+ `Load complete, replication ongoing`: RDS はフルロードを完了し、進行中の変更をレプリケートしています。このステータスは、フルロードと CDC タイプの移行にのみ適用されます。
+ `Replication ongoing`: RDS は進行中の変更をレプリケートしています。このステータスは CDC タイプの移行にのみ適用されます。
+ `Stopping`: RDS はデータ移行を停止しています。このステータスは、**[アクション]** メニューからデータ移行を停止する場合に適用されます。
+ `Stopped`: RDS はデータ移行を停止しました。
+ `Failed`: データ移行が失敗しました。詳細については、ログファイルを確認してください。
+ `Restarting`: データ移行は、進行中のデータレプリケーションを CDC 開始点からやり直しました。