错误:2.0+平台需要服务角色.您可以为其中一个提供--service角色选项



我们最近将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

  1. 选择"Amazon EC2"Aws服务角色类型
  2. 分配一个或多个权限
  3. 更新信任关系,粘贴(例如):

    {"版本":"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网站的配置

最新更新