如何允許 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 啟動類型

  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 AMI 啟動新容器執行個體
  9. 將您建立的角色附加至新容器執行個體
  10. 建立任務定義
    **重要:**在任務定義的 containerDefinitions 區段中,指定 ECR 映像 aws_account_id.dkr.ecr.region.amazonaws.com/repository:tag 為映像屬性。
  11. 使用您在步驟 10 中建立的任務定義執行任務或服務。
  12. (選用) 如果不想為執行個體設定檔提供權限,請將權限授予 ECS 任務執行角色。然後,使用您在步驟 10 中建立的任務定義執行任務或服務。

適用於 Fargate 啟動類型

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

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

您的任務或服務現在可以從 Amazon ECR 映像儲存庫中提取映像。


相關資訊

搭配使用 Amazon ECR 映像與 Amazon ECS

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