AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用配置文件 (.ebextensions) 进行高级环境自定义

您可以将 AWS Elastic Beanstalk 配置文件 (.ebextensions) 添加到 Web 应用程序的源代码中,从而配置环境并自定义其中包含的 AWS 资源。配置文件是 YAML 或 JSON 格式的文档,采用 .config 文件扩展名,您将其放在名为 .ebextensions 的文件夹中,并在应用程序源包中部署它们。

我们建议对配置文件使用 YAML,因为它比 JSON 更可读。YAML 支持注释、多行命令、针对使用引号的多个备选项等。但是,您可以使用 YAML 或 JSON 在 Elastic Beanstalk 配置文件中以相同的方式进行任何配置更改。

提示

当您开发或测试新的配置文件时,启动运行默认应用程序的干净环境并部署到此环境。格式不正确的配置文件将导致新环境启动失败,并且错误不可恢复。

配置文件的 option_settings 部分定义配置选项的值。配置选项允许您配置 Elastic Beanstalk 环境、其中的 AWS 资源以及运行您的应用程序的软件。设置配置选项有几种方法,配置文件只是其中之一。

Resources 部分允许您进一步自定义应用程序环境中的资源,并且定义配置选项所提供功能之外的其他 AWS 资源。您可以添加和配置 AWS CloudFormation 支持的任何资源,Elastic Beanstalk 用这些资源来创建环境。

配置文件的其他部分 (packagessourcesfilesusersgroupscommandscontainer_commandsservices) 可配置在您的环境中启动的 EC2 实例。只要您的环境中有服务器启动,Elastic Beanstalk 就会运行这些部分中定义的操作,为您的应用程序准备操作系统和存储系统。

有关常用 .ebextensions 的示例,请参阅 Elastic Beanstalk 配置文件存储库

要求

  • 位置 – 将所有配置文件放在源包根目录下名为 .ebextensions 的单个文件夹中。以点开头的文件夹可被文件浏览器隐藏,因此请确保在创建源包时添加文件夹。有关说明,请参阅创建应用程序源包

  • 命名 – 配置文件必须具有 .config 文件扩展名。

  • 格式 – 配置文件必须符合 YAML 或 JSON 规范。

    当使用 YAML 时,请始终使用空格以不同的嵌套级别缩进键。有关 YAML 的更多信息,请参阅 YAML Ain't 标记语言 (YAML™) 版本 1.1

  • 唯一性 – 在每个配置文件中使用每个键一次。

    警告

    如果您在同一个配置文件中两次使用同一个键 (例如 option_settings),则会删除两个部分之一。将重复的部分组合为单个部分,或将其放在不同的配置文件中。

根据您用来管理环境的客户端,部署过程可能略有不同。有关详细信息,请参阅下面几节: