题 ElasticBeanstalk:从配置文件中设置实例类型和安全组


我无法通过定义实例类型和安全组 .ebextensions/*.config 我的应用程序包的根目录中的文件。

简而言之,我有两个配置文件,如下所示:

.ebextensions/01-options.config

option_settings:
  [...]
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_ONE
    value: '01-options.config'
  [...]

.ebextensions/02-app-test-env.config

option_settings:
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: NODE_ENV
    value: 'Test'

  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_TWO
    value: '02-app-test-env'

  - namespace: aws:autoscaling:launchconfiguration
    option_name: InstanceType
    value: t2.micro

  - namespace: aws:autoscaling:launchconfiguration
    option_name: SecurityGroups
    value: sg-ys75dfs2

现在,正在设置环境变量,所以我知道它正在读取两个配置文件,但是没有设置安全组和实例类型 - 即使我重建环境时,实例仍然被创建为 t1.micro 使用默认安全组 - 我的设置未应用。

我在这里想念的是什么?如何使用定义实例类型 .config 文件?


7
2018-01-11 02:55




应用程序启动并运行后您是否检查了日志?也许它抱怨你的一个选择?看完之后 这个 我得到的印象是,由于这句话,只支持该表中列出的命名空间: [...] The following table displays the namespaces that are supported for each container type. [...]。但如果情况确实如此似乎很奇怪。 - Bazze


答案:


您应该能够在配置文件中使用启动配置命名空间中的内容,但是您需要在命名空间和值之间使用单引号,就像您在前2个工作中一样。

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: InstanceType
  value: 't2.micro'

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: SecurityGroups
  value: 'sg-ys75dfs2'

此外,如果使用eb cli 3.x,请务必注意eb日志的错误。希望有所帮助。


8
2018-02-18 21:29



我试了这个原件和带引号的版本。对我来说都没有用。我的.config中的其他设置(如MinSize和MaxSize)正在运行。结束了不得不使用:eb create -i't2.medium'而不是?! - Charles
@Charles,是的我不再让InstanceType工作了,不知道那里有什么问题,因为正如你所提到的,其他与实例相关的选项都有效。 - Tyler
谢谢你的确认。要在AWS论坛中发布问题...如果我找到答案,将报告回来。 - Charles
AWS论坛问题: forums.aws.amazon.com/thread.jspa?threadID=218096 - Charles
所以我想我可能会遇到这里的问题,看起来某些项目是在API级别设置的,你必须在环境创建后更新它们。 If you use the Elastic Beanstalk console or EB CLI to create environments, and you want to set these options using configuration files or saved configurations, you can remove the options settings with the AWS CLI or EB CLI after the environment is created. (docs.aws.amazon.com/elasticbeanstalk/latest/dg/...) - Tyler