

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

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

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

**注記**  
**[EC2 インスタンスからデータを移行]** アクションを使用すると、Aurora コンソールを使ってこれらの 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. **[名前\*]** には **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\_region}} は独自の AWS リージョン ユーザー名に置き換えます。

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

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