翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECS での Amazon ECR イメージの使用
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