本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用配置文件 (.ebextensions
) 进行高级环境自定义
您可以将 AWS Elastic Beanstalk 配置文件 (.ebextensions
) 添加到 Web 应用程序的源代码中,从而配置环境并自定义其中包含的 AWS 资源。配置文件是 YAML 或 JSON 格式的文档,采用 .config
文件扩展名,您将其放在名为 .ebextensions
的文件夹中,并在应用程序源包中部署它们。
例 .ebextensions/network-load-balancer.config
此示例进行了简单的配置更改。它修改一个配置选项,以将环境的负载均衡器的类型设置为 Network Load Balancer。
option_settings:
aws:elasticbeanstalk:environment:
LoadBalancerType: network
我们建议对配置文件使用 YAML,因为它比 JSON 更可读。YAML 支持注释、多行命令、针对使用引号的多个备选项等。但是,您可以使用 YAML 或 JSON 在 Elastic Beanstalk 配置文件中以相同的方式进行任何配置更改。
提示
当您开发或测试新的配置文件时,启动运行默认应用程序的干净环境并部署到此环境。格式不正确的配置文件将导致新环境启动失败,并且错误不可恢复。
配置文件的 option_settings
部分定义配置选项的值。配置选项允许您配置 Elastic Beanstalk 环境、其中的 AWS 资源以及运行您的应用程序的软件。设置配置选项有几种方法,配置文件只是其中之一。
Resources 部分允许您进一步自定义应用程序环境中的资源,定义配置选项所提供功能之外的其他 AWS 资源。您可以添加和配置 AWS CloudFormation 支持的任何资源,Elastic Beanstalk 使用这些资源创建环境。
配置文件的其他部分 (packages
、sources
、files
、users
、groups
、commands
、container_commands
和 services
) 可配置在您的环境中启动的 EC2 实例。只要您的环境中有服务器启动,Elastic Beanstalk 就会运行这些部分中定义的操作,为您的应用程序准备操作系统和存储系统。
有关常用 .ebextensions 的示例,请参阅 Elastic Beanstalk 配置文件存储库
要求
-
位置 — Elastic Beanstalk 将处理部署中存在的所有
.ebextensions
文件夹。但是,我们建议您将所有配置文件放在源包根目录中名为.ebextensions
的文件夹中。以点开头的文件夹可被文件浏览器隐藏,因此请确保在创建源包时添加文件夹。有关更多信息,请参阅 创建 Elastic Beanstalk 应用程序源包。 -
命名 – 配置文件必须具有
.config
文件扩展名。 -
格式 – 配置文件必须符合 YAML 或 JSON 规范。
当使用 YAML 时,请始终使用空格以不同的嵌套级别缩进键。有关 YAML 的更多信息,请参阅 YAML Ain't 标记语言 (YAML™) 版本 1.1
。 -
唯一性 – 在每个配置文件中使用每个键一次。
Warning
如果您在同一个配置文件中两次使用同一个键 (例如
option_settings
),则会删除两个部分之一。将重复的部分组合为单个部分,或将其放在不同的配置文件中。
根据您用来管理环境的客户端,部署过程可能略有不同。有关详细信息,请参阅下面几节: