Чтобы зарегистрировать свой сервис с помощью балансировщика нагрузки приложения, вам нужна роль для самого сервиса, но для контейнера ECS требуются некоторые разрешения для регистрации в кластере.
Amazon Elastic Container Service использует идентификатор и доступ AWS
Управленческие (IAM) сервис-связанные роли. Связанная с сервисом роль
уникальный тип роли IAM, напрямую связанный с Amazon ECS.
Связанные с услугами роли предопределены Amazon ECS и включают в себя все
разрешения, необходимые службе для вызова других служб AWS
ваше имя.
Роль, связанная со службами, упрощает настройку Amazon ECS, поскольку вы
не нужно вручную добавлять необходимые разрешения. Amazon ECS
определяет разрешения своих сервис-связанных ролей, и если
В противном случае только Amazon ECS может выполнять свои функции. Определенный
разрешения включают в себя политику доверия и политику разрешений, а также
эта политика разрешений не может быть присоединена к любому другому объекту IAM.
Так что если вы отметите эту роль, она будет содержать свойство
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
Для Отладка удалить роль для службы, она не будет регистрироваться.
Если вы по умолчанию создаете службу с помощью консоли, ей назначается роль.
Amazon ECS нужны разрешения для регистрации и отмены регистрации контейнера.
экземпляры с вашим балансировщиком нагрузки при создании и остановке задач.
В большинстве случаев роль сервиса Amazon ECS создается автоматически
для вас в консоли Amazon ECS первый опыт запуска. Ты можешь использовать
Следующая процедура, чтобы проверить и посмотреть, есть ли в вашей учетной записи
сервисная роль Amazon ECS.
Эта управляемая полиция по AWS с ARN
arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceRole
Policy ARN
ARN: AWS: IAM :: AWS: политика / сервис / роль AmazonEC2ContainerServiceRole
Описание Политика по умолчанию для роли службы Amazon ECS.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupIngress",
"ec2:Describe*",
"elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
"elasticloadbalancing:DeregisterTargets",
"elasticloadbalancing:Describe*",
"elasticloadbalancing:RegisterInstancesWithLoadBalancer",
"elasticloadbalancing:RegisterTargets"
],
"Resource": "*"
}
]
}
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/check-service-role.html
Вот как это выглядит
Если вы не назначите роль экземпляру контейнера ECS, она никогда не будет отображаться в вашем кластере ECS и выдаст ошибку
2018-09-06T15:26:22Z [ERROR] Could not register: NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
под /var/logs/ecs
tail -f ecs-agent.log.2018-09-06
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html