

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

# Amazon ECS での Amazon ECR イメージの使用
<a name="ECR_on_ECS"></a>

Amazon ECR プライベートリポジトリを使用して、Amazon ECS タスクがプルする可能性のあるコンテナイメージとアーティファクトをホストできます。これが機能するためには、Amazon ECS (または Fargate) コンテナエージェントに、`ecr:BatchGetImage`、`ecr:GetDownloadUrlForLayer`、および `ecr:GetAuthorizationToken` API を作成する許可が必要です。

## 必要な IAM 許可
<a name="ECR_on_ECS_iampermissions"></a>

次の表は、タスクが Amazon ECR プライベートリポジトリからプルするために必要な許可を提供する、起動タイプごとに使用する IAM ロールを示しています。Amazon ECS には、必要なアクセス許可を含むマネージド IAM ポリシーが用意されています。


****  

| 起動タイプ | IAM ロール | AWS マネージド IAM ポリシー | 
| --- | --- | --- | 
| Amazon EC2 インスタンスの Amazon ECS |  Amazon ECS クラスターに登録されている Amazon EC2 インスタンスに関連付けられているコンテナインスタンスの IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[コンテナインスタンスの IAM ロール](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)」を参照してください。  |  `AmazonEC2ContainerServiceforEC2Role` 詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role)」を参照してください  | 
|  Fargate の Amazon ECS  |  Amazon ECS タスク定義で参照するタスク実行 IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[タスク実行 IAM ロール](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html)」を参照してください。  |  `AmazonECSTaskExecutionRolePolicy` 詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonECSTaskExecutionRolePolicy](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonECSTaskExecutionRolePolicy)」を参照してください。  | 
|  外部インスタンスの Amazon ECS  |  Amazon ECS クラスターに登録されているオンプレミスサーバーまたは仮想マシン (VM) に関連付けられているコンテナインスタンスの IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[Amazon ECS コンテナインスタンスの IAM ロール](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)」を参照してください。  |  `AmazonEC2ContainerServiceforEC2Role` 詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「[https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonEC2ContainerServiceforEC2Role)」を参照してください。  | 

**重要**  
 AWS マネージド IAM ポリシーには、使用に不要な追加のアクセス許可が含まれています。この場合、これらは Amazon ECR プライベートリポジトリからプルするために最低限必要なアクセス許可です。  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        }
    ]
}
```

## Amazon ECS タスク定義での Amazon ECR イメージの指定
<a name="ECR_on_ECS_taskdef"></a>

Amazon ECS タスク定義を作成するときに、Amazon ECR プライベートリポジトリでホストされているコンテナイメージを指定できます。タスク定義では、Amazon ECR イメージ用に完全な `registry/repository:tag` の名前を使用するようにしてください。例えば、`aws_account_id.dkr.ecr.region.amazonaws.com``/my-repository:latest`。

次のタスク定義スニペットは、Amazon ECS タスク定義の Amazon ECR でホストされるコンテナイメージを指定するために使用する構文を示しています。

```
{
    "family": "task-definition-name",
    ...
    "containerDefinitions": [
        {
            "name": "container-name",
            "image": "aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:latest",
            ...
        }
    ],
    ...
}
```