我们最近将EB CLI工具升级到了3.6.2版本(Python 2.7.6)。
现在,当我们启动一个新的eb环境时。。。
eb create dev-env -p "64bit Amazon Linux 2015.09 v2.0.4 running Ruby 2.2 (Puma)" --single -i t2.micro --envvars SECRET_KEY_BASE=g5dh9cg61...
我们得到了这个新错误:
EB ERROR: 2.0+ Platforms require a service role. You can provide one with --service-role option
EB CLI现在要求您指定服务角色。
如果你还没有,请在这里创建一个"aws弹性秸秆服务角色"角色:https://console.aws.amazon.com/iam/home#roles
- 选择"Amazon EC2"Aws服务角色类型
- 分配一个或多个权限
-
更新信任关系,粘贴(例如):
{"版本":"2012-10-17","声明":[{"Sid":","效果":"允许","委托人":{"服务":"elasticbeanstall.amazonaws.com"},"操作":"sts:AsseumeRole","条件":{"StringEquals":{"sts:ExternalId":"松紧柄"}}}]}
现在,当您启动新的EB环境时,包括--service角色选项:
eb create dev-env -p "64bit Amazon Linux 2015.09 v2.0.4 running Ruby 2.2 (Puma)" --single -i t2.micro
--service-role aws-elasticbeanstalk-service-role --envvars SECRET_KEY_BASE=g5dh9cg614a37d4bd
对于其他想知道的人来说,有一个更简单的选择:您只需在没有参数的情况下再次运行eb create
,eb cli将带您完成创建新的--service角色的步骤(如果您还没有)。
备注在Windows中,添加.ebsignore文件会导致EB CLI遵循符号链接,并在创建源捆绑包时包含链接的文件。这是一个已知的问题,将在未来的更新中修复。
参考:EB Cli-Aws网站的配置