

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

# Amazon ECS インスタンスロール
<a name="instance_IAM_role"></a>

AWS Batch コンピューティング環境には Amazon ECS コンテナインスタンスが入力されます。Amazon ECS コンテナエージェントがローカルで実行されます。Amazon ECS コンテナエージェントは、ユーザーに代わってさまざまな AWS API オペレーションを呼び出します。そのため、エージェントを実行するコンテナインスタンスには、エージェントがユーザーに属していることをこれらのサービスに伝える IAM ポリシーとロールが必要です。コンテナインスタンスの起動時に使用するIAMロールとインスタンスプロファイルを作成する必要があります。それ以外の場合、コンピューティング環境を作成してコンテナインスタンスを起動することはできません。この要件が適用されるコンテナインスタンスの起動には、Amazon が提供する、Amazon ECS に最適化された AMI が使用されている場合と使用されていない場合があります。詳細については、「*Amazon Elastic Container Service デベロッパーガイド*」の「[Amazon ECS インスタンスロール](#instance_IAM_role)」を参照してください。

**Topics**
+ [アカウントの Amazon ECS インスタンスロールを確認する](batch-check-ecsinstancerole.md)

# アカウントの Amazon ECS インスタンスロールを確認する
<a name="batch-check-ecsinstancerole"></a>

コンソールの初回実行時には、Amazon ECS インスタンスのロールおよびインスタンスプロファイルが自動的に作成されます。ただし、次の手順を使用して、アカウントに既に Amazon ECS インスタンスロールおよびインスタンスプロファイルが存在するか確認することができます。以下の手順では、マネージド IAM ポリシーをアタッチする方法についても説明します。<a name="procedure_check_instance_role"></a>

**チュートリアル: IAM コンソールで `ecsInstanceRole` を確認する**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

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

1. ロールのリストで `ecsInstanceRole` を検索します。ロールが存在しない場合は、以下の手順でロールを作成してください。

   1. **ロールの作成]** を選択します。

   1. **信頼できるエンティティタイプ** で、**AWS のサービス** を選択します。

   1. **一般的なユースケース** で **EC2** を選択します。

   1. **次へ** をクリックします。

   1. **アクセス権限ポリシー** については、**AmazonEC2ContainerServiceforEC2Role** を検索してください。

   1. **AmazonEC2ContainerServiceforEC2Role** の横にあるチェックボックスを選択し、**次へ** を選択します。

   1. **ロール名** には、`ecsInstanceRole` を入力し、そして**ロールの作成]** を選択します。
**注記**  
を使用して Amazon EC2 のロール AWS マネジメントコンソール を作成する場合、コンソールはロールと同じ名前のインスタンスプロファイルを作成します。

または、 AWS CLI を使用して IAM `ecsInstanceRole` ロールを作成することもできます。次の例では、信頼ポリシーと AWS マネージドポリシーを使用して IAM ロールを作成します。<a name="create-iam-role-cli"></a>

**チュートリアル: IAM ロールおよびインスタンスプロファイルを作成する (AWS CLI)**

1. 以下の信頼ポリシーを作成し、`ecsInstanceRole-role-trust-policy.json` という名前のテキストファイルに保存する。

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

****  

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

------

1. `ecsInstanceRole`のロールを作成するには、[ロール作成](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)コマンドを使用します。信頼ポリシーファイルの場所を `assume-role-policy-document` パラメータに指定します。

   ```
   $ aws iam create-role \
       --role-name ecsInstanceRole \
       --assume-role-policy-document file://ecsInstanceRole-role-trust-policy.json
   ```

1. [[インスタンスプロファイルの作成]](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html) コマンドを使用して、`ecsInstanceRole` という名前のインスタンスプロファイルを作成します。
**注記**  
ロールとインスタンスプロファイルは、 AWS CLI および AWS API で個別のアクションとして作成する必要があります。

   ```
   $ aws iam create-instance-profile --instance-profile-name ecsInstanceRole
   ```

   以下に、レスポンスの例を示します。

   ```
   {
       "InstanceProfile": {
           "Path": "/",
           "InstanceProfileName": "ecsInstanceRole",
           "InstanceProfileId": "AIPAT46P5RDITREXAMPLE",
           "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole",
           "CreateDate": "2022-06-30T23:53:34.093Z",
           "Roles": [],    }
   }
   ```

1. [[add-role-to-instance-profile]](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) コマンドを使用して、`ecsInstanceRole` のロールを `ecsInstanceRole` インスタンスプロファイルに追加します。

   ```
   aws iam add-role-to-instance-profile \
       --role-name ecsInstanceRole --instance-profile-name ecsInstanceRole
   ```

1. attach[attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) コマンドを使用して、`AmazonEC2ContainerServiceforEC2Role` AWS 管理ポリシーを`ecsInstanceRole`ロールにアタッチします。

   ```
   $ aws iam attach-role-policy \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \
       --role-name ecsInstanceRole
   ```