Я изо всех сил пытаюсь запустить задачу с помощью ECS Fargate и запустить (ecs.runTask) из сценария AWS SDK (JS / Node).
Сейчас я пытаюсь достать журналы из контейнеров, чтобы я мог решить, почему они останавливаются. Кажется, я не могу правильно понять определение задачи, чтобы они были сгенерированы.
logConfiguration: {
logDriver: 'awslogs',
options: {
"awslogs-region": 'us-west-2',
"awslogs-group": 'myTask',
"awslogs-stream-prefix": "myTask",
"awslogs-create-group": "true"
}
}
Я установил для них драйвер журнала awslogs, но когда я пытаюсь просмотреть журналы в CloudWatch, я не получаю различного рода ничего:
- Если я указываю awslogs-create-group как «true» (для этого требуется строка, а не логическое значение, что странно; я предполагаю, что регистр не имеет значения), я тем не менее обнаруживаю, что группа не создается.
- Если я создаю группу вручную, я обнаруживаю, что поток журнала не создается.
Я подозреваю, что в моих разрешениях может быть ошибка, хотя, конечно, нет сообщений об ошибках для подтверждения. Документы (здесь) указывают, что мне нужно прикрепить определенные политик в ecsInstanceRole
, который, кажется, замещает роль, которая используется где-то в процессе.
Но я прикрепил такую политику к моей роли выполнения ECS, к роли, которая выполняет мой вызов API к runTask
, и я искал любую другую роль, которая могла бы быть задействована (фактическая «instanceRole», похоже, не существует в Задаче Def), и мою ситуацию ничто не улучшает.
Я был бы рад предоставить больше информации, но на данный момент я не уверен, где находится мое слепое пятно.
Кто-нибудь может это увидеть?
AmazonECSTaskExecutionRolePolicy
, у которой есть другие необходимые разрешения (насколько я могу судить), такие какlogs:CreateLogStream
. - person TwainJ   schedule 16.11.2019