Amazon-Iam

對 ECS 的角色要求感到困惑

  • July 15, 2021

我正在嘗試設置 ECS,但到目前為止,我遇到了一些權限問題,我已經在這個論壇上提出了一些問題。

我認為我到目前為止被困住了,因為老實說,我無法在一個地方簡明扼要地找出所有這些角色要求。

看來我至少需要定義兩個角色:

  1. ECS 容器 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

  2. ECS 任務 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

這是正確的嗎?

我錯過了什麼嗎?是否有任何特殊的 IAM 要求?

唯一需要的角色是Container Instance IAM 角色。此角色允許 ECS 代理(在您的 EC2 實例上執行)與 Amazon ECS 通信。

對於不同的目的,您可能還會發現其他五個有用的角色:

  • ECS 服務相關角色 (SLR) - 此角色使 Amazon ECS 能夠代表您管理與您的應用程序關聯的各種 AWS 資源。使用Service時,此角色允許 Amazon ECS 管理與您的服務關聯的負載均衡器(經典負載均衡器、應用程序負載均衡器和網路負載均衡器)和服務發現(使用Route 53)。使用任務聯網時,此角色允許 Amazon ECS 將彈性網路介面 (ENI)附加和分離到您的任務。使用AWS Fargate時需要此角色。
  • 服務調度程序 IAM 角色- 在引入 ECS 服務相關角色 (SLR) 之前,此角色與服務結合使用,以使 Amazon ECS 能夠管理與您的服務關聯的負載均衡器。如果您想在 ECS 服務中使用 Elastic Load Balancer(無論是 Classic Load Balancer、Application Load Balancer 還是 Network Load Balancer),您可以使用此角色。現在 ECS SLR 可用,您可以使用這兩個角色中的任何一個,但如果您想限制授予 Amazon ECS 的權限以涵蓋特定的負載均衡器資源,您可能仍希望使用此角色。
  • Auto Scaling IAM 角色- 此角色與服務結合使用,並允許 Application Auto Scaling 服務擴展或擴展您的服務的所需數量。
  • 任務 IAM 角色- 此角色可用於任何任務(包括由服務啟動的任務)。此角色與EC2 實例配置文件非常相似,但允許您將權限與單個任務相關聯,而不是與託管這些任務的底層 EC2 實例相關聯。如果您在 ECS 集群中執行多個不同的應用程序且需要不同的權限,您可以使用任務 IAM 角色為每個任務授予特定權限,而不是確保集群中的每個 EC2 實例都具有任何權限的組合權限集應用程序將需要。
  • 任務執行角色- 使用AWS Fargate時需要此角色,並替換Container Instance IAM 角色,該角色不適用於FARGATE啟動類型。此角色使 AWS Fargate 能夠從Amazon ECR中提取您的容器映像並將您的日誌轉發到Amazon CloudWatch Logs。此角色還用於(在 Fargate 和 EC2 啟動類型上)啟用來自 AWS Secrets Manager 和 AWS Systems Manager Parameter Store的私有系統資料庫身份驗證和密鑰。

引用自:https://serverfault.com/questions/854413