本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在环境创建期间设置配置选项
使用 Elastic Beanstalk 控制台、EB CLI、Amazon 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 控制台
,然后在 Regions(区域)列表中选择您的 Amazon Web Services 区域。 -
在导航窗格中,选择 Applications(应用程序),然后从列表中选择应用程序的名称。
注意
如果您有多个应用程序,请使用搜索栏筛选应用程序列表。
在导航窗格中,找到应用程序的名称,然后选择 Saved configurations(已保存的配置)。
-
选择要应用的已保存的配置,然后选择 Launch environment(启动环境)。
-
继续执行向导以创建环境。
保存的配置将因应用程序而异。有关创建保存的配置的详细信息,请参阅保存的配置。
使用新建环境向导
大多数标准配置选项都在创建新环境向导的配置更多选项页面上。如果您创建 Amazon RDS 数据库或为环境配置 VPC,则会为这些资源提供其他配置选项。
在创建环境期间设置配置选项(Elastic Beanstalk 控制台)
-
打开 Elastic Beanstalk 控制台
,然后在 Regions(区域)列表中选择您的 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
当您通过 Amazon CLI 使用 create-environment
命令创建 Elastic Beanstalk 环境时,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 cp
sourcebundle.zip
s3://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
会覆盖这些值。