Назад | Перейти на главную страницу

Экземпляры ecs, созданные через группу Auto Scaling, не регистрируются в кластере ecs

Я создал кластер 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