將 Amazon ECR 映像與 Amazon ECS 搭配使用 - Amazon ECR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 Amazon ECR 映像與 Amazon ECS 搭配使用

您可以使用 Amazon ECR 私有儲存庫,來託管 Amazon ECS 任務可能從中提取的容器映像和成品。若要使用此功能,Amazon ECS 或 Fargate、容器代理程式必須具有進行 ecr:BatchGetImageecr:GetDownloadUrlForLayerecr:GetAuthorizationToken API 的許可。

所需的 IAM 許可

下表顯示了要針對每個啟動類型使用的 IAM 角色,這些角色為您的任務提供從 Amazon ECR 私有儲存庫提取所需的許可。Amazon ECS 提供受管 IAM 政策,其中包含必要許可。

啟動類型 IAM 角色 AWS 受管理的 IAM 政策
Amazon EC2 執行個體上的 Amazon ECS

使用容器執行個體 IAM 角色,此角色與 Amazon ECS 叢集中註冊的 Amazon EC2 執行個體相關聯。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的容器執行個體 IAM 角色

AmazonEC2ContainerServiceforEC2Role

如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 AmazonEC2ContainerServiceforEC2Role

Fargate 上的 Amazon ECS

使用您在 Amazon ECS 任務定義中參照的任務執行 IAM 角色。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務執行 IAM 角色

AmazonECSTaskExecutionRolePolicy

如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 AmazonECSTaskExecutionRolePolicy

外部執行個體上的 Amazon ECS

使用容器執行個體 IAM 角色,此角色與 Amazon ECS 叢集中註冊的內部部署伺服器或虛擬機器 (VM) 相關聯。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的容器執行個體 Amazon ECS 角色

AmazonEC2ContainerServiceforEC2Role

如需詳細資訊,請參閱《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", ... } ], ... }