Требуется ли для работы агента ECS образ Amazon Linux AMI?

Запускаю пару подсетей с VPC и общедоступным балансировщиком нагрузки в режиме запуска ECS Fargate.

У меня проблема, что по какой-то причине агент ECS не заполняет переменную среды «AWS_CONTAINER_CREDENTIALS_RELATIVE_URI», и поэтому мой nodejs aws-sdk не может получить учетные данные из роли IAM.

Пытаясь отбросить возможные причины, наткнулся на следующий вопрос:

Возможно ли, что мне нужно запустить официальный Amazon Linux AMI, чтобы агент ECS работал? (мое текущее приложение запускает alpine linux в контейнере)


person Daniel Martinez    schedule 23.04.2020    source источник
comment
С fargate вам не нужно запускать никаких агентов на ваших инстансах.   -  person Marcin    schedule 23.04.2020
comment
@Marcin агент ECS, как я понимаю, работает автоматически в режиме Fargate. Но так как предполагается заполнить AWS_CONTAINER_CREDENTIALS_RELATIVE_URI, я предположил, что что-то с агентом не удалось. Справочник   -  person Daniel Martinez    schedule 23.04.2020


Ответы (2)


Если «AWS_CONTAINER_CREDENTIALS_RELATIVE_URI» не заполнен, убедитесь, что вы назначили роль задачи в определении задачи:

Задание:

{
    "family": "",
    "taskRoleArn": "",             <============== Task role
person shariqmaws    schedule 23.04.2020
comment
Это было именно то, чего мне не хватало. Я назначил taskExecutionRole, но не taskRole. Спасибо! - person Daniel Martinez; 23.04.2020

Ваш вопрос касается конкретной функции ECS на EC2, в то время как вы используете ECS на Fargate. Ваш запрос об AMI EC2 не имеет отношения к Fargate, поскольку вы не можете контролировать или видеть, какой AMI используется на хосте, на котором выполняются ваши задачи Fargate.

Если вы используете последнюю версию Fargate (1.4) тогда ваши контейнеры будут использовать контейнерный агент Fargate вместо контейнерного агента ECS.

Если вы используете AWS SDK или инструмент AWS CLI внутри своих контейнеров Fargate для выполнения вызовов API AWS, они автоматически получат роль IAM определения задачи ECS.

person Mark B    schedule 23.04.2020