困惑于ECS的angular色要求

我试图build立一个ECS,但到目前为止,我遇到了一些权限问题,我已经在这个论坛上创build了一些问题。

我觉得我坚持到目前为止,因为老实说,我不能在一个简单的地方找出所有这些angular色的要求。

看来我需要定义至less两个angular色:

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要求?

唯一必要的angular色是容器实例IAMangular色 。 此angular色允许ECS代理(在您的EC2实例上运行)与Amazon ECS进行通信。

还有其他三种angular色,您可能也会发现有用的,用于不同的目的:

  • 服务计划程序IAMangular色 – 此angular色与服务一起使用,并允许Amazon ECSpipe理与您的服务关联的负载平衡器。 如果您要将Elastic Load Balancer(无论是传统负载平衡器还是应用程序负载平衡器)与您的ECS服务一起使用,则将使用此angular色。
  • Auto Scaling IAMangular色 – 此angular色与服务一起使用,并允许应用程序Auto Scaling服务按比例缩放所需的服务计数。
  • 任务IAMangular色 – 此angular色可以用于任何任务 (包括由服务启动的任务)。 此angular色与EC2实例configuration文件非常相似,但允许您将权限与单个任务(而不是托pipe这些任务的基础EC2实例)相关联。 如果您在ECS群集上运行许多不同的应用程序,并且需要不同的权限,则可以使用“任务IAM”angular色为每个任务授予特定的权限,而不是确保群集中的每个EC2实例都具有任何组合的权限应用程序将需要。

除了这个对@ samuel-karp的非常好的解释之外,今天我遇到了一个问题,那就是从task_role_arn服务的自定义task_role_arn ,从经典的ELB迁移到ALB。

尽pipe我遵循链接Task IAM role后面的说明,但错误是

无法承担angular色并validation指定的targetGroupArn。 请validation所传递的ECS服务angular色是否具有适当的权限。

问题在于服务似乎在负载平衡器上注册。 只有当我把ecs.amazonaws.com的负责人交换给我时,它才起作用

"Principal": { "Service": "ecs-tasks.amazonaws.com" }