【发布时间】:2019-11-18 02:23:27
【问题描述】:
当尝试通过 beanstalk 使用包含机密的 dockerrun.aws.json 文件部署我的多 docker 应用程序时,我收到一个错误,我必须指定 executionRoleArn。当我查看文件时,它已定义。
我尝试将它移动到文件中的不同位置,也尝试定义 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
【问题讨论】:
-
那么……你解决了吗?
标签: amazon-web-services amazon-elastic-beanstalk amazon-ecs