本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
环境清单 (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) 队列的名称。
CName、EnvironmentName 和 EnvironmentLinks 键可用于创建环境组和指向其他环境的链接。在使用 EB CLI、AWS CLI 或开发工具包时,这些功能当前受支持。