Требуется ли для запуска агента ECS агент Amazon Linux AMI? - PullRequest
0 голосов
/ 23 апреля 2020

Я запускаю пару подсетей с VP C и подсистемой балансировки нагрузки publi c в режиме запуска ECS Fargate.

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

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

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

Ответы [ 2 ]

3 голосов
/ 23 апреля 2020

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

Taskdef:

{
    "family": "",
    "taskRoleArn": "",             <============== Task role
1 голос
/ 23 апреля 2020

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

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

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

...