Я создал кластер ECS, связанный с группой автомасштабирования с подключенным балансировщиком нагрузки приложений. Автоматическое масштабирование развертывает экземпляры, AMI выбран правильно (оптимизирован для ECS).
по какой-либо причине экземпляры ecs развертываются службой Auto Scaling, но не регистрируются в кластере ECS.
Кто-нибудь знает, что может вызвать ошибку отсутствия экземпляров в моем кластере?
У ваших экземпляров EC2 просто недостаточно разрешений для регистрации в кластере ECS:
Важный
Если вы не запустите экземпляр контейнера с соответствующими разрешениями IAM, агент Amazon ECS не сможет подключиться к вашему кластеру.
Проверьте роль IAM, которую вы назначили своим экземплярам EC2. Он должен включать соответствующие разрешения, например:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DeregisterContainerInstance",
"ecs:RegisterContainerInstance",
"ecr:GetAuthorizationToken"
],
"Resource": "*"
}
]
}
Или вы можете использовать управляемую AWS политику с именем AmazonEC2ContainerServiceforEC2Role
и назначил его вашей роли EC2.
Более подробная информация доступна на сайте https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html.
этот тоже необходим, чтобы он работал; Amazon ECS необходимы разрешения для регистрации и отмены регистрации экземпляров контейнера в балансировщике нагрузки при создании и остановке задач.
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ecs.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/check-service-role.html