本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在环境创建期间设置配置选项
当您使用 Elastic Beanstalk 控制台、EB Amazon CLI CLI、软件开发工具包或 Elastic Beanstalk API 创建 Amazon Elastic Beanstalk 环境时,您可以为配置选项提供值,以自定义您的环境和在其中启动的资源。 Amazon
对于一次性配置更改之外的任何更改,可以在本地、源包或 Amazon S3 中存储配置文件。
本主题介绍用于在创建环境期间设置配置选项的所有方法的过程。
在 Elastic Beanstalk 控制台中
在 Elastic Beanstalk 控制台中创建 Elastic Beanstalk 环境时,您可以使用配置文件、保存的配置以及 Create New Environment(创建新环境)向导中的表单提供配置选项。
使用配置文件(.ebextensions)
      将 .config 文件放在一个名为 .ebextensions 的文件夹内的应用程序源包中。
有关配置文件的详细信息,请参阅.Ebextensions。
~/workspace/my-app-v1.zip
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- index.php
`-- styles.css
      通常在创建环境期间将源包上传到 Elastic Beanstalk。
Elastic Beanstalk 控制台为某些配置选项应用建议值,并为其他选项提供表单字段。通过 Elastic Beanstalk 控制台配置的选项会直接应用于环境,覆盖配置文件中的设置。
使用保存的配置
使用 Elastic Beanstalk 控制台创建新环境时,首先执行的步骤是选择配置。配置可以是预定义配置(通常是某个平台(如 PHP 或 Tomcat)的最新版本),也可以是保存的配置。
在创建环境期间应用保存的配置(Elastic Beanstalk 控制台)
打开 Elastic Beanstalk
控制台,然后在 “区域” 列表中,选择您的。 Amazon Web Services 区域 - 
  
在导航窗格中,选择 Applications(应用程序),然后从列表中选择应用程序的名称。
 在导航窗格中,找到应用程序的名称,然后选择 Saved configurations(已保存的配置)。
- 
    
选择要应用的已保存的配置,然后选择 Launch environment(启动环境)。
 - 
    
继续执行向导以创建环境。
 
保存的配置将因应用程序而异。有关创建保存的配置的详细信息,请参阅保存的配置。
使用新建环境向导
大多数标准配置选项都在创建新环境向导的配置更多选项页面上。如果您创建 Amazon RDS 数据库或为环境配置 VPC,则会为这些资源提供其他配置选项。
在创建环境期间设置配置选项(Elastic Beanstalk 控制台)
-  
打开 Elastic Beanstalk
控制台,然后在 “区域” 列表中,选择您的。 Amazon Web Services 区域  - 
          
在导航窗格中,选择 Applications(应用程序)。
 - 
          
选择或创建应用程序。
 - 
          
选择 Actions(操作),然后选择 Create environment(创建环境)。
 - 
          
继续执行向导,然后选择配置更多选项。
 - 
          
选择任何 configuration presets(配置预设),然后在一个或多个配置类别中选择 Edit(编辑)以更改一组相关的配置选项。
 - 
          
在完成选项的选择后,选择创建环境。
 
在新建环境向导中设置的任何选项都直接对环境进行设置,并将覆盖所应用的保存配置或配置文件(.ebextensions)中的任何选项设置。可以在创建环境之后使用 EB CLI 或 Amazon CLI 删除设置,以允许保存的配置或配置文件中的设置发挥作用。
有关新建环境向导的详细信息,请参阅创建新环境向导。
使用 EB CLI
使用配置文件 (.ebextensions)
      将 .config 文件放在项目文件夹的 .ebextensions 下,以便与应用程序代码一起部署它们。
有关配置文件的详细信息,请参阅.Ebextensions。
~/workspace/my-app/
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- .elasticbeanstalk
|   `-- config.yml
|-- index.php
`-- styles.css
      使用 eb create 创建环境并将源代码部署到其中。
~/workspace/my-app$ eb create my-env
     
    
     
      使用保存的配置
要在使用 eb create 创建环境时应用保存的配置,请使用 --cfg 选项。
~/workspace/my-app$ eb create --cfg savedconfig
      可以将保存的配置存储在项目文件夹中或 Amazon S3 上的 Elastic Beanstalk 存储位置中。在以上示例中,EB CLI 首先在文件夹 savedconfig.cfg.yml 中查找名为 .elasticbeanstalk/saved_configs/ 的保存的配置文件。在使用 .cfg.yml 应用保存的配置时,不要包含文件扩展名(--cfg)。
~/workspace/my-app/
|-- .ebextensions
|   `-- healthcheckurl.config
|-- .elasticbeanstalk
|   |-- saved_configs
|   |   `-- savedconfig.cfg.yml
|   `-- config.yml
|-- index.php
`-- styles.css
      如果 EB CLI 未在本地找到配置,则它会在 Amazon S3 中的 Elastic Beanstalk 存储位置中进行查找。有关创建、编辑和上传保存的配置的详细信息,请参阅保存的配置。
使用命令行选项
EB CLI eb create 命令具有几个选项,可以用于在创建环境期间设置配置选项。可以使用这些选项来将 RDS 数据库添加到环境、配置 VPC 或覆盖建议值。
例如,EB CLI 在默认情况下使用 t2.micro 实例类型。要选择不同的实例类型,请使用 --instance_type 选项。
$ eb create my-env --instance_type t2.medium
      要创建 Amazon RDS 数据库实例并将它挂载到环境,请使用 --database 选项。
$ eb create --database.engine postgres --database.username dbuser
      如果您省略环境名称、数据库密码或创建环境所需的任何其他参数,则 EB CLI 会提示您输入它们。
有关可用选项的完整列表以及用法示例,请参阅 eb create。
使用 Amazon CLI
当您使用create-environment命令创建 Elastic Beanstalk 环境 Amazon CLI时 Amazon CLI ,不会应用任何建议值。指定源包中的配置文件中定义了所有配置选项。
使用配置文件(.ebextensions)
      要将配置文件应用于您使用创建的环境 Amazon CLI,请将其包含在您上传到 Amazon S3 的应用程序源包中。
有关配置文件的详细信息,请参阅.Ebextensions。
~/workspace/my-app-v1.zip
|-- .ebextensions
|   |-- environmentvariables.config
|   `-- healthcheckurl.config
|-- index.php
`-- styles.css
      上传应用程序源包并使用创建环境 Amazon CLI
- 
          
如果您在 Amazon S3 中还没有 Elastic Beanstalk 存储桶,请使用
create-storage-location创建一个。$aws elasticbeanstalk create-storage-location{ "S3Bucket": "elasticbeanstalk-us-west-2-123456789012" } - 
          
将应用程序源包上传到 Amazon S3。
$aws s3 cpsourcebundle.zips3://elasticbeanstalk-us-west-2-123456789012/my-app/sourcebundle.zip - 
          
创建应用程序版本。
$aws elasticbeanstalk create-application-version --application-name my-app --version-label v1 --description MyAppv1 --source-bundle S3Bucket="elasticbeanstalk-us-west-2-123456789012",S3Key="my-app/sourcebundle.zip" --auto-create-application - 
          
创建环境。
$aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Amazon Linux 2015.03 v2.0.0 running Tomcat 8 Java 8" 
使用保存的配置
要在创建过程中将保存的配置应用于环境,请使用 --template-name 参数。
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --template-name savedconfig --version-label v1
      指定保存的配置时,不要同时指定解决方案堆栈名称。保存的配置已指定解决方案堆栈,如果您尝试同时使用两个选项,则 Elastic Beanstalk 将返回错误。
使用命令行选项
使用 --option-settings 参数可采用 JSON 格式指定配置选项。
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings '[
  {
    "Namespace": "aws:elasticbeanstalk:application",
    "OptionName": "Application Healthcheck URL",
    "Value": "/health"
  }
]
      要从文件加载 JSON,请使用 file:// 前缀。
$ aws elasticbeanstalk create-environment --application-name my-app --environment-name my-env --version-label v1 --template-name savedconfig --option-settings file://healthcheckurl.json
      Elastic Beanstalk 会将您使用 --option-settings 选项指定的选项设置直接应用于环境。如果在保存的配置或配置文件中指定了相同选项,则 --option-settings 会覆盖这些值。