我是使用弹性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
答案 0 :(得分:2)
目前,您无法在.elasticbeanstalk/config.yml
文件中设置默认选项设置。但是,您可以通过几种方法设置默认选项设置。您可以查看documentation以获取更多信息。
您可以使用配置文件指定默认值,但要注意它们具有最低级别的优先级,并被任何其他级别的设置覆盖。
要使用它们,只需在项目的根目录中创建目录.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 config
完成您希望保留的设置后,您可以使用以下命令保存设置:
eb config save --cfg env-config
这会将环境配置保存到:
.elasticbeanstalk/saved_configs/env-config.cfg.yml
您可以使用以下方式保存此配置:
eb config put env-config
您可以使用以下命令使用保存的配置创建环境:
eb create --cfg env-config
目前,您无法使用已保存的配置部署到现有环境(eb deploy),但raw UpdateEnvironment API支持它。