如何允許 Amazon ECS 任務從 Amazon ECR 映像儲存庫中提取映像?

1 分的閱讀內容
0

我想允許 Amazon Elastic Container Service (Amazon ECS) 任務從 Amazon Elastic Container Registry (Amazon ECR) 映像儲存庫中提取映像。

簡短說明

若要使用啟動類型存取 Amazon ECR 映像儲存庫,請選擇下列其中一個選項:

  • Amazon Elastic Compute Cloud (Amazon EC2) 啟動類型: 提供 ecsTaskExecutionRole 或與容器執行個體相關聯的執行個體設定檔的權限。但為 ecsTaskExecutionRole 提供 Amazon ECR 權限始終是最佳做法。如果同時提供了權限給執行個體和角色,則 ecsTaskExecutionRole 優先。
  • AWS Fargate 啟動類型: 提供 Amazon ECS 任務執行角色權限以存取 Amazon ECR 映像儲存庫。

解決方法

EC2 啟動類型

若要存取適用於 EC2 啟動類型的 Amazon ECR 映像儲存庫,請完成下列步驟:

  1. 開啟 AWS Identity and Access Management (IAM) 主控台
  2. 在導覽窗格中,選擇角色,然後選擇建立角色
  3. 選擇 AWS 服務角色類型。
  4. 使用案例區段中,選擇 EC2。然後,選擇下一步
  5. 選擇預設的 AmazonEC2ContainerServiceforEC2Role 受管理政策,然後選擇下一步
    注意:AmazonEC2ContainerServiceforEC2Role 政策還可讓您將容器執行個體註冊到 ECS 叢集,並在 Amazon CloudWatch 中開啟日誌串流
  6. (選擇性) 將標籤新增至政策,然後選擇下一步
  7. 對於角色名稱,輸入唯一名稱 (例如 EcsRoleForec2),然後選擇建立角色
  8. 使用最新的 Amazon ECS 最佳化 Amazon Linux Amazon Machine Image (AMI)啟動新的容器執行個體
  9. 將角色附加至新容器執行個體
  10. 建立任務定義
    重要事項:在任務定義的容器區段中,對於映像 URI,指定 ECR 映像 aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag
  11. 使用您的任務定義來執行任務或服務。
  12. (選擇性) 如果不想為執行個體設定檔提供權限,請將權限授予 ECS 任務執行角色。然後,在任務定義中指定 ecsTaskExecutionRole,並使用此任務定義來執行任務或服務。

Fargate 啟動類型

Amazon ECS 任務執行角色會自動在 Amazon ECS 主控台首次執行體驗中建立。如果找不到角色或角色已刪除,請完成下列步驟:

  1. 開啟 IAM 主控台
  2. 在導覽窗格中,選擇角色,然後選擇建立角色
  3. 選取信任實體類型區段中,選擇彈性容器服務
  4. 對於選取您的使用案例,選擇彈性容器服務任務,然後選擇下一步
  5. 附加權限政策區段中,搜尋 AmazonECSTaskExecutionRolePolicy。選取政策,然後選擇下一步
    **注意:**此政策還提供使用 awslogs 日誌驅動程式的權限。
  6. 對於角色名稱,輸入 ecsTaskExecutionRole,然後選擇建立角色
  7. 建立任務定義
    重要事項:在任務定義的容器區段中,對於映像 URI,指定 ECR 映像 aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag。此外,請指定您建立的 IAM 角色。
  8. 使用您的任務定義來執行任務或服務。

相關資訊

搭配使用 Amazon ECR 映像與 Amazon ECS

AWS 官方
AWS 官方已更新 1 年前