本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用 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
",
...
}
],
...
}