Почему я получаю сообщение об ошибке, что executeRoleArn не указан, если он явно указан в файле? - PullRequest
1 голос
/ 08 июля 2019

При попытке развернуть мое приложение с несколькими докерами через beanstalk с файлом dockerrun.aws.json, где он содержит секреты, я получаю сообщение об ошибке, что мне нужно указать executeRoleArn.Когда я смотрю на файл, он определен.

Я попытался переместить его в другое место внутри файла, тоже попытался определить taskRoleArn, но на самом деле ничего не работает.Я не смог найти никаких намеков, что это не поддерживается в документации по aws.Я следил за этой страницей: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html

Это мой файл dockerrun.aws.json, частично отредактированный.

{
    "AWSEBDockerrunVersion": 2,
    "executionRoleArn": "arn:aws:iam::ACCOUNT_ID:role/ecsTaskExecutionRole",
    "containerDefinitions": [{
        ...
        "secrets": [
            {
                "name" : "SOME_ENV",
                "valueFrom" : "arn:aws:ssm:REGION:ACCOUNT_ID:parameter/MY_SECRET" 
            },
        ...
        ],
        ...
     }],
     "volumes": [
       ....
      ]
}

Это именно та ошибка, которую я получаю при использовании eb deploy:

ERROR   Service:AmazonECS, Code:ClientException, Message:When you 
are specifying container secrets, you must also specify a value 
for 'executionRoleArn'., 
Class:com.amazonaws.services.ecs.model.ClientException

enter image description here

1 Ответ

0 голосов
/ 12 июля 2019

Вот что я могу вам сказать:

  • есть сообщения на GitHub, которые указывают, что AWS API отвечает предоставленным вами сообщением об ошибке, если секреты не определены.[1]
  • ключ секретов является относительно новым, поэтому он может не поддерживаться вашей версией eb cli

Не могли бы вы проверить,используя последнюю версию eb cli?

Список литературы

[1] https://github.com/aws/aws-sdk-go/issues/2370#issuecomment-449780818

...