Amazon ECS での Amazon ECR イメージの使用 - Amazon ECR

Amazon ECS での Amazon ECR イメージの使用

Amazon ECR でホストされているコンテナイメージを Amazon ECS タスク定義で使用できますが、次の前提条件を満たす必要があります。

  • Amazon ECS タスクで EC2 起動タイプを使用する場合、コンテナインスタンスでは、バージョン 1.7.0 以降の Amazon ECS コンテナエージェントを使用する必要があります。最新バージョンの Amazon ECS 最適化 AMI では、タスク定義の Amazon ECR イメージがサポートされています。Amazon ECS 最適化 AMI ID などの詳細については、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS 最適化 AMI バージョンを参照してください。

  • 使用する Amazon ECS コンテナインスタンスの IAM ロール (ecsInstanceRole) には、Amazon ECR に対する次の IAM ポリシーアクセス許可が含まれている必要があります。

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

    AmazonEC2ContainerServiceforEC2Role 管理ポリシーを使用する場合、コンテナインスタンス IAM ロールには適切なアクセス許可があります。ロールが Amazon ECR をサポートすることを確認するには、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS コンテナインスタンスの IAM ロール」を参照してください。

  • Amazon ECS タスク定義で、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", ... } ], ... }