环境清单 (env.yaml) - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

环境清单 (env.yaml)

您可以在应用程序源包的根目录中包含一个 YAML 格式的环境清单,以配置在创建环境时使用的环境名称、解决方案堆栈和环境链接

此文件格式包含对环境组的支持。要使用组,请在清单中指定环境名称并在末尾添加一个 + 号。创建或更新环境时,请使用 --group-name (AWS CLI) 或 --env-group-suffix (EB CLI) 指定组名称。有关组的更多信息,请参阅创建和更新 Elastic Beanstalk 环境组

以下示例清单定义一个 Web 服务器环境,并包含一个指向它依赖的工作线程环境组件的链接。此清单使用组以允许使用相同的源包创建多个环境:

~/myapp/frontend/env.yaml

AWSConfigurationTemplateVersion: 1.1.0.0 SolutionStack: 64bit Amazon Linux 2015.09 v2.0.6 running Multi-container Docker 1.7.1 (Generic) OptionSettings: aws:elasticbeanstalk:command: BatchSize: '30' BatchSizeType: Percentage aws:elasticbeanstalk:sns:topics: Notification Endpoint: me@example.com aws:elb:policies: ConnectionDrainingEnabled: true ConnectionDrainingTimeout: '20' aws:elb:loadbalancer: CrossZone: true aws:elasticbeanstalk:environment: ServiceRole: aws-elasticbeanstalk-service-role aws:elasticbeanstalk:application: Application Healthcheck URL: / aws:elasticbeanstalk:healthreporting:system: SystemType: enhanced aws:autoscaling:launchconfiguration: IamInstanceProfile: aws-elasticbeanstalk-ec2-role InstanceType: t2.micro EC2KeyName: workstation-uswest2 aws:autoscaling:updatepolicy:rollingupdate: RollingUpdateType: Health RollingUpdateEnabled: true Tags: Cost Center: WebApp Dev CName: front-A08G28LG+ EnvironmentName: front+ EnvironmentLinks: "WORKERQUEUE" : "worker+"

支持以下键。

  • AWSConfigurationTemplateVersion(必需)– 配置模板版本 (1.1.0.0)。

    AWSConfigurationTemplateVersion: 1.1.0.0
  • Platform – 环境的平台版本的 Amazon 资源名称 (ARN)。您可以按 ARN 或解决方案堆栈名称指定平台。

    Platform: PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Java 8 running on 64bit Amazon Linux/2.5.0
  • SolutionStack – 用于创建环境的解决方案堆栈的全名。

    SolutionStack: 64bit Amazon Linux 2017.03 v2.5.0 running Java 8
  • OptionSettings - 要应用到环境的配置选项设置。例如,下面的条目将实例类型设为 t2.micro。

    OptionSettings: aws:autoscaling:launchconfiguration: InstanceType: t2.micro
  • Tags - 多达 47 个标签,应用于在环境中创建的资源。

    Tags: Cost Center: WebApp Dev
  • EnvironmentTier - 要创建的环境的类型。对于 Web 服务器环境,您可不包含此部分 (Web 服务器为默认值)。对于工作线程环境,请使用以下设置。

    EnvironmentTier: Name: Worker Type: SQS/HTTP
  • CName – 环境的别名记录。在名称末尾包含一个 + 号以启用组。

    CName: front-A08G28LG+
  • EnvironmentName – 要创建的环境的名称。在名称末尾包含一个 + 号以启用组。

    EnvironmentName: front+

    如果启用组,则在创建环境时必须指定组名称。Elastic Beanstalk 使用连字符将组名称追加到环境名称。例如,对于环境名称 front+ 和组名称 dev,Elastic Beanstalk 会创建名为 front-dev 的环境。

  • EnvironmentLinks – 变量名称与依赖项环境名称的映射。下面的示例使 worker+ 环境成为依赖项并告知 Elastic Beanstalk 将链接信息保存到名为 WORKERQUEUE 的变量。

    EnvironmentLinks: "WORKERQUEUE" : "worker+"

    链接变量的值因被链接环境的类型而异。对于 Web 服务器环境,链接为环境的别名记录。对于工作线程环境,链接为环境的 Amazon Simple Queue Service (Amazon SQS) 队列的名称。

CNameEnvironmentNameEnvironmentLinks 键可用于创建环境组指向其他环境的链接。在使用 EB CLI、AWS CLI 或开发工具包时,这些功能当前受支持。