I am trying to set up a ECS but so far I have encountered a few permission issue for which I have created some questions on this forum already.
I think I am stuck so far because honestly I cannot find out all these role requirements in one place concisely.
It seems like I need to define at least two roles:
1) ECS container http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html
2) ECS task http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles
Is it correct?
Did I miss out anything? Is there any special IAM requirement?
Единственная необходимая роль - это роль IAM экземпляра контейнера . Эта роль позволяет агенту ECS (работающему на вашем инстансе EC2) взаимодействовать с Amazon ECS.
Есть пять других ролей, которые вы также можете найти полезными для различных целей:
FARGATE
тип запуска. Эта роль позволяет AWS Fargate извлекать образы контейнеров из Amazon ECR и пересылать ваши журналы в Amazon CloudWatch Logs . Эта роль также используется (для типов запуска Fargate и EC2) для включения аутентификации частного реестра и секретов из AWS Secrets Manager и хранилища параметров AWS Systems Manager . В дополнение к этому очень хорошему объяснению @ samuel-karp, сегодня я столкнулся с проблемой при переходе с классического ELB на ALB в сочетании с настраиваемым task_role_arn
для ECS Сервисы.
Хотя я следовал инструкциям, описанным за ссылкой Роль IAM задачи
, ошибка была
Невозможно принять роль и проверить указанную targetGroupArn. Убедитесь, что переданная роль службы ECS имеет необходимые разрешения.
Дело в том, что служба, похоже, регистрируется в балансировщике нагрузки. Это сработало только тогда, когда я обменял Принципала с ecs.amazonaws.com
на
"Принципал": {
«Сервис»: «ecs-tasks.amazonaws.com»
}
Использование моей роли администратора, при создании кластера ECS, я тоже был заблокирован... "Кластер ECS не может взять на себя роль, связанную со службой. Убедитесь, что роль, связанная со службой ECS, существует. "
И я убедился, что роль AWSServiceRoleForECS действительно существует.
Исправление? Запустив мастер «Начало работы», он (пере)настроил что-то скрытое, и теперь мои роли администратора могут принимать AWSServiceRoleForECS и успешно создавать кластер.