

# Amazon ECS Anywhere IAM ロール
<a name="iam-role-ecsanywhere"></a>

オンプレミスサーバーまたは仮想マシン (VM) をクラスタ-に登録する場合、サーバーまたは VM は AWS APIと通信するために IAM ロールを必要とします。IAM ロールの作成は AWS アカウントごとに一度のみ行う必要があります。ただし、この IAM ロールは、クラスターに登録する各サーバーまたは VM に関連付ける必要があります。このロールは`ECSAnywhereRole`。このロールを手動で作成することもできます。または、Amazon ECS は、AWS マネジメントコンソール に外部インスタンスを登録するときに、ユーザーに代わってロールを作成することもできます。IAM コンソールの検索を使用して `ecsAnywhereRole` を検索すると、アカウントにすでにそのロールがあるかどうかを確認できます。詳細については、「*IAM ユーザーガイド*」の「[IAM コンソールの検索](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_search.html)」を参照してください。

AWSには、ECS Anywhere IAM ロールの作成時に使用できる 2 つの管理対象 IAM ポリシー、`AmazonSSMManagedInstanceCore`および`AmazonEC2ContainerServiceforEC2Role`ポリシーが用意されています。`AmazonEC2ContainerServiceforEC2Role`ポリシーには、必要以上に多くのアクセスを提供するアクセス許可が含まれています。したがって、特定のユースケースに応じて、必要なポリシーからのアクセス許可のみを追加するカスタムポリシーを作成することをお勧めします。詳細については、「[Amazon ECS コンテナインスタンスの IAM ロール](instance_IAM_role.md)」を参照してください。

タスク実行 IAM ロールは、ユーザーに代わって AWS API コールを実行するアクセス許可を Amazon ECS コンテナエージェントに付与します。タスク実行 IAM ロールを使用する場合は、タスク定義で指定する必要があります。詳細については、「[Amazon ECS タスク実行IAM ロール](task_execution_IAM_role.md)」を参照してください。

次のいずれかの条件が適用される場合は、タスクの実行ロールが必要です。
+ コンテナログを CloudWatch Logs に送信するには、`awslogs`ログドライバーを使用します。
+ タスク定義では、Amazon ECR プライベートリポジトリでホストされるコンテナイメージを指定します。ただし、外部インスタンスに関連付けられている `ECSAnywhereRole` ロールに、Amazon ECR からイメージをプルするために必要なアクセス許可が含まれている場合は、タスク実行ロールにそれらを含める必要はありません。

## Amazon ECS Anywhere ロールを作成する
<a name="ecs-anywhere-iam-role-create"></a>

すべての {{[ユーザー入力]}} は、お客様の情報で置き換えてください。

1. 以下のポリシーを持つ、`ssm-trust-policy.json` という名前のローカルファイルを作成します。

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

****  

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

------

1. 次の AWS CLI コマンドを使用して、ロールを作成し、信頼ポリシーをアタッチします。

   ```
   aws iam create-role --role-name {{ecsAnywhereRole}} --assume-role-policy-document file://ssm-trust-policy.json
   ```

1. 次のコマンドを使用して AWS マネージドポリシーをアタッチします。

   ```
   aws iam attach-role-policy --role-name {{ecsAnywhereRole}} --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
   aws iam attach-role-policy --role-name {{ecsAnywhereRole}} --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
   ```

IAM のカスタム信頼ポリシーワークフローを使用してロールを作成することもできます。詳細については、「*IAM ユーザーガイド*」の「[カスタム信頼ポリシーを使用してロールを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html)」を参照してください。