翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECR プライベートリポジトリを使用して、Amazon ECS タスクがプルする可能性のあるコンテナイメージとアーティファクトをホストできます。これが機能するためには、Amazon ECS (または Fargate) コンテナエージェントに、ecr:BatchGetImage
、ecr:GetDownloadUrlForLayer
、および ecr:GetAuthorizationToken
API を作成する許可が必要です。
必要な IAM 許可
次の表は、タスクが Amazon ECR プライベートリポジトリからプルするために必要な許可を提供する、起動タイプごとに使用する IAM ロールを示しています。Amazon ECS には、必要なアクセス許可を含むマネージド IAM ポリシーが用意されています。
起動タイプ | IAM ロール | AWS マネージド IAM ポリシー |
---|---|---|
Amazon EC2 インスタンスの Amazon ECS |
Amazon ECS クラスターに登録されている Amazon EC2 インスタンスに関連付けられているコンテナインスタンスの IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「コンテナインスタンスの IAM ロール」を参照してください。 |
詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「AmazonEC2ContainerServiceforEC2Role」を参照してください |
Fargate の Amazon ECS |
Amazon ECS タスク定義で参照するタスク実行 IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「タスク実行 IAM ロール」を参照してください。 |
詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「AmazonECSTaskExecutionRolePolicy」を参照してください。 |
外部インスタンスの Amazon ECS |
Amazon ECS クラスターに登録されているオンプレミスサーバーまたは仮想マシン (VM) に関連付けられているコンテナインスタンスの IAM ロールを使用します。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「Container instance Amazon ECS role」(コンテナインスタンスの Amazon ECS ロール) を参照してください。 |
詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「AmazonEC2ContainerServiceforEC2Role」を参照してください。 |
重要
AWS マネージド IAM ポリシーには、使用する必要がないかもしれない追加のアクセス許可が含まれています。この場合、これらは Amazon ECR プライベートリポジトリからプルするために最低限必要なアクセス許可です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetAuthorizationToken"
],
"Resource": "*"
}
]
}
Amazon ECS タスク定義での Amazon ECR イメージの指定
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
",
...
}
],
...
}