本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Amazon ECR 映像與 Amazon ECS 搭配使用
您可以使用 Amazon ECR 私有儲存庫,來託管 Amazon ECS 任務可能從中提取的容器映像和成品。若要使用此功能,Amazon ECS 或 Fargate、容器代理程式必須具有進行 ecr:BatchGetImage
、ecr:GetDownloadUrlForLayer
和 ecr: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 角色。 |
如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 AmazonEC2ContainerServiceforEC2Role。 |
Fargate 上的 Amazon ECS |
使用您在 Amazon ECS 任務定義中參照的任務執行 IAM 角色。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務執行 IAM 角色。 |
如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 AmazonECSTaskExecutionRolePolicy。 |
外部執行個體上的 Amazon ECS |
使用容器執行個體 IAM 角色,此角色與 Amazon ECS 叢集中註冊的內部部署伺服器或虛擬機器 (VM) 相關聯。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的容器執行個體 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