В вашем вопросе отсутствует много деталей о том, как вы настраиваете свой кластер ECS, плюс я не уверен, что вопрос касается ECS или конкретно Fargate.
Убедитесь, что вы используете последнюю версиюSDK.Javascript поддерживает учетные данные задач ECS и Fargate.
Часто возникает путаница с учетными данными в ECS.Существует роль IAM, назначаемая экземплярам Cluster EC2, и роль IAM, назначаемая задачам ECS.
Самая распространенная проблема - это «Доверительные отношения», не настроенная для роли задачи ECS.Выберите свою роль IAM, а затем вкладку «Доверительные отношения» и убедитесь, что она выглядит следующим образом:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
В дополнение к стандартным разрешениям Amazon ECS, необходимым для запуска задач и служб, пользователям IAM также требуется iam:PassRole
разрешения на использование ролей IAM для задач.
Затем убедитесь, что вы используете роль IAM в определении задачи.Укажите правильную роль IAM ARN
в поле «Роль задачи».Обратите внимание, что это отличается от роли выполнения задач (которая позволяет контейнерам извлекать изображения и публиковать журналы).
Далее убедитесь, что ваши экземпляры ECS используют последнюю версию агента ECS.Версия агента указана на вкладке «Экземпляры ECS» под правым столбцом «Версия агента».Текущая версия 1.20.3
.
Используете ли вы оптимизированный ECS AMI?Если нет, добавьте --net=host
к вашей команде docker run
, которая запускает агент.Просмотрите эту ссылку для получения дополнительной информации.