EB客户端忽略.elasticbeanstalk文件夹中的config.yml文件

时间:2017-01-13 17:34:49

标签: python flask elastic-beanstalk configuration-files

我是使用弹性beanstalk的新手,我正在尝试使用awsebcli从命令行部署我的烧瓶应用程序。

应用程序已部署但由于某些原因,未考虑config.yml文件中的任何设置。实例类型和服务角色都被忽略。

这是我的config.yml文件,位于我的应用程序文件夹中的.elasticbeanstalk文件夹中:

branch-defaults:
  default:
    environment: anonym-app
    group_suffix: null
  master:
    environment: anonym-app
files: /opt/python/log/messages.log
global:
  AssociatePublicIpAddress: false
  DBSubnets: 
  ELBScheme: internal
  ELBSubnets: 
  IamInstanceProfile: StagingAnonymRole
  InstanceType: t2.small
  SecurityGroups: sg-4a984444
  ServiceRole: StagingAnonymRole
  VPCId: vpc-77cc7111
  application_name: anonymize-app
  branch: null
  default_ec2_keyname: keypair_staging_app
  default_platform: python2.7
  default_region: us-west-2
  repository: null
  sc: null
option_settings:
  WSGIPath: application.py
  aws:elasticbeanstalk:container:python: null

1 个答案:

答案 0 :(得分:2)

目前,您无法在.elasticbeanstalk/config.yml文件中设置默认选项设置。但是,您可以通过几种方法设置默认选项设置。您可以查看documentation以获取更多信息。

.ebextensions

您可以使用配置文件指定默认值,但要注意它们具有最低级别的优先级,并被任何其他级别的设置覆盖。

要使用它们,只需在项目的根目录中创建目录.ebextensions即可。创建扩展名为.config的文件,并在其中指定选项。

示例:

.ebextensions/defaults.config

option_settings: - namespace: aws:elasticbeanstalk:application option_name: Application Healthcheck URL value: /health - namespace: aws:ec2:vpc option_name: AssociatePublicIpAddress value: false - namespace: aws:ec2:vpc option_name: ELBScheme value: internal - namespace: aws:autoscaling:launchconfiguration option_name: IamInstanceProfile value: StagingAnonymRole

您可以在documentation中找到有关.ebextensions的更多信息。如果您不知道选项设置的命名空间,您可以在documentation中查看这些命名空间。

已保存的配置

如果您使用所需的确切设置配置环境,则可以保存配置并对其进行修改以创建具有这些确切设置的其他环境。

EB CLI

  1. 您可以使用以下命令以交互方式修改环境的当前设置:

    eb config
    
  2. 完成您希望保留的设置后,您可以使用以下命令保存设置:

    eb config save --cfg env-config
    

    这会将环境配置保存到:

    .elasticbeanstalk/saved_configs/env-config.cfg.yml
    
  3. 您可以使用以下方式保存此配置:

    eb config put env-config
    
  4. 您可以使用以下命令使用保存的配置创建环境:

    eb create --cfg env-config
    
  5. 目前,您无法使用已保存的配置部署到现有环境(eb deploy),但raw UpdateEnvironment API支持它。