使用配置文件 (.ebextensions) 进行高级环境自定义 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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

.ebextensions/ .config network-load-balancer

此示例进行了简单的配置更改。它修改一个配置选项,以将环境的负载均衡器的类型设置为 Network Load Balancer。

option_settings: aws:elasticbeanstalk:environment: LoadBalancerType: network

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

提示

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

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

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

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

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

要求
  • 位置 — Elastic Beanstalk 将.ebextensions提取部署中存在的所有文件夹。但是,我们建议您将所有配置文件放在源包根目录下名为.ebextensions的单个文件夹中。以点开头的文件夹可被文件浏览器隐藏,因此请确保在创建源包时添加文件夹。有关更多信息,请参阅创建应用程序源包。

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

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

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

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

    Warning

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

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