面向所有环境的常规选项 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

面向所有环境的常规选项

aws:autoscaling:asg

配置环境的 Auto Scaling 组。有关更多信息,请参阅Elastic Beanstalk 环境的 Auto Scaling 组

命名空间: aws:autoscaling:asg
名称 描述 默认值 有效值

Availability Zones

可用区(AZ)是 Amazon 区域中的不同位置,旨在隔离其他可用区的故障。它们为同一区域中的其他 AZ 提供低成本、低延迟的网络连接。选择实例的可用区数量。

Any

Any

Any 1

Any 2

Any 3

Cooldown

冷却时间有助于防止 Amazon EC2 Auto Scaling 在先前活动产生明显影响前启动其他扩展活动。冷却时间是一个调整活动完成后、另一个调整活动开始前的时长(秒)。

360

010000

Custom Availability Zones

定义实例的可用区。

us-east-1a

us-east-1b

us-east-1c

us-east-1d

us-east-1e

eu-central-1

EnableCapacityRebalancing

指定是否为 Auto Scaling 组中的 Spot 实例启用容量再平衡功能。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的容量再平衡

只有在 aws:ec2:instances 命名空间里将 EnableSpot 设置为 true,并且 Auto Scaling 组中至少有一个 Spot 实例时,此选项才会相关联。

false

true

false

MinSize

您希望 Auto Scaling 组中拥有的最小实例数。

1

110000

MaxSize

您希望 Auto Scaling 组中拥有的最大实例数。

4

110000

aws:autoscaling:launchconfiguration

配置环境的 Amazon Elastic Compute Cloud(Amazon EC2)实例。

使用 Amazon EC2 启动模板或使用 Auto Scaling 组启动配置资源来创建环境的实例。以下选项适用于这两种资源类型。

有关更多信息,请参阅您的 Elastic Beanstalk 环境的 Amazon EC2 实例。此外,您还可以参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EBS 章节中有关 Amazon Elastic Block Store (EBS) 的更多信息。

命名空间: aws:autoscaling:launchconfiguration
名称 描述 默认值 有效值

DisableIMDSv1

设置为 true 可禁用实例元数据服务版本 1(IMDSv1)。

根据平台操作系统,您的环境的实例默认如下所示:

  • Windows server、AL2 及更早版本 – 同时启用 IMDSv1 和 IMDSv2

  • AL2023 – 仅启用 IMDSv2

有关更多信息,请参阅配置实例元数据服务(Amazon Linux)。

配置实例元数据服务(Windows 服务器)。

false – 基于 Windows 服务器、Amazon Linux 2 及更早版本的平台

true – 基于 Amazon Linux 2023 的平台

true

false

EC2KeyName

您可以使用密钥对安全地登录 EC2 实例。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

IamInstanceProfile

实例配置文件可让 Amazon Identity and Access Management(IAM)用户和 Amazon 服务访问临时安全证书,以执行 Amazon API 调用。指定实例配置文件的名称或其 ARN。

示例:

  • aws-elasticbeanstalk-ec2-role

  • arn:aws:iam::123456789012:instance-profile/aws-elasticbeanstalk-ec2-role

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

实例配置文件名称或 ARN。

ImageId

通过指定自定义 AMI ID,您可以覆盖默认的 Amazon Machine Image(AMI)。

示例:ami-1f316660

InstanceType

用于在 Elastic Beanstalk 环境中运行您的应用程序的实例类型。

重要

InstanceType 选项已过时。它被 InstanceTypes 命名空间中更新、功能更强大的 aws:ec2:instances 选项所取代。您可以使用新选项为环境指定一个或多个实例类型的列表。该列表上的第一个值等于此处描述的 aws:autoscaling:launchconfiguration 命名空间中包含的 InstanceType 选项的值。我们建议您使用新选项指定实例类型。如果指定,则新选项优先于前一个选项。有关更多信息,请参阅aws:ec2:instances 命名空间

可用的实例类型取决于使用的可用区和区域。如果您选择子网,则包含该子网的可用区将决定可用的实例类型。

  • Elastic Beanstalk 不支持 Amazon EC2 Mac 实例类型。

  • 有关 Amazon EC2 实例系列和类型的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的实例类型或者《适用于 Windows 实例的 Amazon EC2 用户指南》中的实例类型

  • 有关跨区域可用实例类型的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的可用实例类型或《适用于 Windows 实例的 Amazon EC2 用户指南》中的可用实例类型

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

因账户和区域而异。

一种 EC2 实例类型

因账户、区域和可用区而异。您可以获取通过这些值筛选的 Amazon EC2 实例类型的列表。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的可用实例类型或《适用于 Windows 实例的 Amazon EC2 用户指南》中的可用实例类型

LaunchTemplateTagPropagationEnabled

设置为 true,以允许将环境标签传播到为环境预调配的特定资源的启动模板。

Elastic Beanstalk 只能将标签传播到以下资源的启动模板:

  • EBS 卷

  • EC2 实例

  • EC2 网络接口

  • Amazon CloudFormation 启动定义资源的模板

之所以存在此限制,原因是 CloudFormation 仅允许在为特定资源创建模板时使用标签。有关更多信息,请参阅《Amazon CloudFormation 用户指南》中的 TagSpecification

重要
  • 将现有环境的此选项值从更改 falsetrue 对于先前存在的标签可能是一项重大更改。

  • 启用此功能后,传播标签将需要更换 EC2,这可能会导致停机。您可以启用滚动更新以批量应用配置更改,并防止在更新过程中出现停机。有关更多信息,请参阅配置更改

有关启动模板的更多信息,请参阅以下内容:

有关此选项的更多信息,请参阅 标签传播到启动模板

false

true

false

MonitoringInterval

您希望的 Amazon CloudWatch 指标要返回的时间间隔(以分钟为单位)。

5 minute

1 minute

5 minute

SecurityGroups

列出分配给 Auto Scaling 组中的 EC2 实例的 Amazon EC2 安全组,以便为这些实例定义防火墙规则。

您可以提供用逗号分隔的值的单个字符串,该值包含现有 Amazon EC2 安全组的名称或对在模板中创建的 AWS::EC2::SecurityGroup 资源的引用的名称。安全组名称区分大小写。

如果您将 Amazon Virtual Private Cloud(Amazon VPC)与 Elastic Beanstalk 结合使用,以便在 Virtual Private Cloud(VPC)中启动实例,请指定安全组 ID 而不是安全组名称。

elasticbeanstalk-default

SSHSourceRestriction

用于锁定 SSH 对环境的访问权限。例如,您可以锁定 SSH 对 EC2 实例的访问权限,以便只有堡垒主机才能访问私有子网中的实例。

该字符串采用以下形式:

protocol, fromPort, toPort, source_restriction

protocol

入口流量规则的协议。

fromPort

起始端口号。

toPort

结尾端口号。

source_restriction

流量必须路由通过的 CIDR 范围或安全组的名称。要从另一账户(仅限 EC2-Classic,必须位于同一区域中)中指定安全组,请在安全组名称前包含账户 ID。采用以下格式:other_account_id/security_group_name如果您将 Amazon Virtual Private Cloud(Amazon VPC)与 Elastic Beanstalk 结合使用,以便在 Virtual Private Cloud(VPC)中启动实例,请指定安全组 ID 而不是安全组名称。

示例:tcp, 22, 22, 54.240.196.185/32

示例:tcp, 22, 22, my-security-group

示例(EC2-Classic):tcp, 22, 22, 123456789012/their-security-group

示例(VPC):tcp, 22, 22, sg-903004f8

BlockDeviceMappings

在 Auto Scaling 组中的所有实例上挂载其他 Amazon EBS 卷或实例存储卷。

映射实例存储卷时,您只需将设备名称映射到卷名称。但是,我们建议在映射 Amazon EBS 卷时,另外指定以下部分或全部字段(每个字段必须用冒号分隔):

  • 快照 ID

  • 大小(GB)

  • 终止时删除(truefalse

  • 存储类型(仅适用于 gp3gp2standardst1sc1io1

  • IOPS(仅适用于 gp3 或者 io1

  • 吞吐量(仅适用于 gp3

下面的示例附加三个 Amazon EBS 卷:一个空白 100GB gp2 卷和一个快照、一个具有 2000 个预配置 IOPS 的空白 20GB io1 卷以及一个实例存储卷 ephemeral0。如果实例类型支持,则可以附加多个实例存储卷。

/dev/sdj=:100:true:gp2,/dev/sdh=snap-51eef269,/dev/sdi=:20:true:io1:2000,/dev/sdb=ephemeral0

  • 大小 — 必须在 500 到 16384 GiB 之间

  • 吞吐量 — 必须在每秒 125 到 1000 兆字节之间(MiB/s)

RootVolumeType

用于已附加到环境的 EC2 实例的根 Amazon EBS 卷的卷类型(机械硬盘、通用型 SSD 或预置 IOPS SSD)。

因平台而异。

对于机械硬盘存储,为 standard

对于通用型 SSD,为gp2gp3

对于预配置的 IOPS SSD,为 io1

RootVolumeSize

根 Amazon EBS 卷的存储容量(以完整 GB 为单位)。

如果将 RootVolumeType 设置为预配置的 IOPS SSD,则是必需的。

例如 。"64"

对于机械硬盘存储和通用型 SSD,因平台而异。

对于预配置的 IOPS SSD,为“无”。

对于通用型和预配置的 IOPS SSD,为 1016384 GB。

对于机械硬盘存储,为 81024 GB。

RootVolumeIOPS

预置 IOPS SSD 根卷或通用型 gp3 SSD 根卷所需的每秒输入/输出操作数(IOPS)。

IOPS 与卷大小的最大比率为 500:1。例如,IOPS 为 3000 的卷至少必须为 6 GiB。

对于 io1 预置 IOPS 固态硬盘根卷,范围为 10020000

对于通用型 gp3 固态硬盘根卷,范围为 300016000

RootVolumeThroughput

已附加到环境的 EC2 实例的 Amazon EBS 根卷所需的每秒吞吐量兆字节数(MiB/s)。

注意

此选项仅适用于 gp3 存储类型。

1251000

aws:autoscaling:scheduledaction

为环境的 Auto Scaling 组配置计划操作。对于每个操作,除了指定选项名称、命名空间和每个设置的值之外,还要指定 resource_name。有关示例,请参阅aws:autoscaling:scheduledaction 命名空间

命名空间: aws:autoscaling:scheduledaction
名称 描述 默认值 有效值

StartTime

对于一次性操作,请选择运行操作的日期和时间。对于重复操作,请选择激活操作的时间。

跨所有计划的扩展操作的唯一 ISO-8601 时间戳

EndTime

您希望计划的扩展操作停止重复的将来日期和时间(采用 UTC/GMT 时区)。如果不指定 EndTime,操作将根据 Recurrence 表达式重复发生。

示例:2015-04-28T04:07:2Z

当计划的操作结束时,Amazon EC2 Auto Scaling 不会自动恢复到其以前的设置。配置第二个计划操作,以根据需要返回原始设置。

跨所有计划的扩展操作的唯一 ISO-8601 时间戳

MaxSize

运行操作时要应用的最大实例计数。

010000

MinSize

运行操作时要应用的最小实例计数。

010000

DesiredCapacity

为 Auto Scaling 组设置初始所需容量。在应用计划的操作后,触发器将根据其设置调整所需容量。

010000

Recurrence

您希望计划操作发生的频率。如果不指定循环,则扩展操作仅发生一次,如 StartTime 所指定。

Cron 表达式。

Suspend

设置为 true 可临时停用重复的计划操作。

false

true

false

aws:autoscaling:trigger

为环境的 Auto Scaling 组配置扩展触发器。

注意

此命名空间中的三个选项确定在触发器启用之前触发器指标可超出其定义的限制多长时间。这些选项具有相关性,如下所述:

BreachDuration = Period * EvaluationPeriods

这些选项的默认值(分别是 5、5 和 1)满足此等式。如果您指定不一致的值,Elastic Beanstalk 可能会修改其中某个值,以便等式仍然成立。

命名空间: aws:autoscaling:trigger
名称 描述 默认值 有效值

BreachDuration

调用触发器前,指标可以超出所定义限制(如 UpperThresholdLowerThreshold 所指定)的时间(单位:分钟)。

5

1600

LowerBreachScaleIncrement

执行扩展活动时要移除的 Amazon EC2 实例的数量。

-1

LowerThreshold

如果测量值低于该违例持续时间值,则会调用触发器。

2000000

020000000

MeasureName

用于 Auto Scaling 触发器的指标。

注意

HealthyHostCountUnhealthyHostCountTargetResponseTime 仅适用于具有专用负载均衡器的环境。对于配置了共享负载均衡器的环境,这些值不是有效指标值。有关负载均衡器类型的更多信息,请参阅 Elastic Beanstalk 环境的负载均衡器

NetworkOut

CPUUtilization

NetworkIn

NetworkOut

DiskWriteOps

DiskReadBytes

DiskReadOps

DiskWriteBytes

Latency

RequestCount

HealthyHostCount

UnhealthyHostCount

TargetResponseTime

Period

指定 Amazon CloudWatch 测量触发指标的频率。此值是两个连续时间段之间的分钟数。

5

1600

EvaluationPeriods

用于确定是否违例的连续评估期的数量。

1

1600

Statistic

触发器使用的统计数据,例如 Average

Average

Minimum

Maximum

Sum

Average

Unit

触发器度量单位,例如 Bytes

Bytes

Seconds

Percent

Bytes

Bits

Count

Bytes/Second

Bits/Second

Count/Second

None

UpperBreachScaleIncrement

执行扩展活动时,指定要添加的 Amazon EC2 实例的数量。

1

UpperThreshold

如果测量值高于该违例持续时间值,则会调用触发器。

6000000

020000000

aws:autoscaling:updatepolicy:rollingupdate

为您环境的 Auto Scaling 组配置滚动更新。

命名空间: aws:autoscaling:updatepolicy:rollingupdate
名称 描述 默认值 有效值

MaxBatchSize

滚动更新的每个批次中包含的实例数。

Auto Scaling 组的最小大小的三分之一(舍入到下一个最大整数)

110000

MinInstancesInService

终止其他实例时,Auto Scaling 组中必须处于运行中的最小实例数。

Auto Scaling 组的最小大小,或 Auto Scaling 组的最大大小减一(取二者中的较小值)。

09999

RollingUpdateEnabled

如果为 true,则为环境启用滚动更新。在您需要对 Elastic Beanstalk 软件应用程序进行频繁的少量更新,并且希望避免应用程序停机时,滚动更新很有用。

将此值设置为 true 会自动启用 MaxBatchSizeMinInstancesInServicePauseTime 选项。设置这些选项中的任何选项也会自动将 RollingUpdateEnabled 选项值设置为 true。将此选项设置为 false 会禁用滚动更新。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

false

true

false

RollingUpdateType

其中包括三种类型:基于时间的滚动更新、基于运行状况的滚动更新和不可变更新。

基于时间的滚动更新将在批次之间应用 PauseTime。基于运行状况的滚动更新会等新实例通过运行状况检查后再继续下一个批次。不可变更新将启动新 Auto Scaling 组中的一整组实例。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

Time

Time

Health

Immutable

PauseTime

Elastic Beanstalk 服务在完成一批实例更新之后到开始下一批实例更新之前要等待的时长(以秒、分钟或小时为单位)。

基于实例类型和容器自动计算。

PT0S*(0 秒)至 PT1H(1 小时)

Timeout

在取消更新之前,等待一个实例批次中的所有实例通过运行状况检查的最长时间(以分钟或小时为单位)。

PT30M(30 分钟)

PT5M*(5 分钟)至 PT1H(1 小时)

*ISO8601 持续时间格式:PT#H#M#S,其中每个 # 分别代表小时数、分钟数和/或秒数。

aws:ec2:instances

配置环境的实例,包括 Spot 选项。此命名空间是 aws:autoscaling:launchconfigurationaws:autoscaling:asg 的补充。

有关更多信息,请参阅Elastic Beanstalk 环境的 Auto Scaling 组

命名空间: aws:ec2:instances
名称 描述 默认值 有效值

EnableSpot

为您的环境启用 Spot 实例请求。如果为 false,此命名空间中的某些选项不会生效。

false

true

false

InstanceTypes

您希望环境使用的实例类型的逗号分隔列表(例如,t2.micro,t3.micro)。

当未激活 Spot 实例(EnableSpotfalse)时,仅使用列表中的第一种实例类型。

此选项的列表中的第一个实例类型等同于 InstanceType 命名空间中的 aws:autoscaling:launchconfiguration 选项的值。我们不建议使用后一个选项,因为它已经过时了。如果您同时指定两者,则使用 InstanceTypes 选项的列表中的第一个实例类型,并忽略 InstanceType

可用的实例类型取决于使用的可用区和区域。如果您选择子网,则包含该子网的可用区将决定可用的实例类型。

  • Elastic Beanstalk 不支持 Amazon EC2 Mac 实例类型。

  • 有关 Amazon EC2 实例系列和类型的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的实例类型或者《适用于 Windows 实例的 Amazon EC2 用户指南》中的实例类型

  • 有关跨区域可用实例类型的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的可用实例类型或《适用于 Windows 实例的 Amazon EC2 用户指南》中的可用实例类型

注意

某些较旧的Amazon账户可能会向 Elastic Beanstalk 提供不支持 Spot 实例的默认实例类型(例如,t1.micro)。如果激活 Spot 实例请求,并收到不支持 Spot 的实例类型的相关错误,请务必配置支持 Spot 的实例类型。要选择 Spot 实例类型,请使用 Spot Instance Advisor

当您更新环境配置并从 InstanceTypes 选项中删除一个或多个实例类型时,Elastic Beanstalk 会终止在任何已删除的实例类型上运行的任何 Amazon EC2 实例。然后,您环境的 Auto Scaling 组根据需要启动新实例,以使用当前指定的实例类型来完成所需的容量。

两种实例类型的列表。

因账户和区域而异。

一至十种 EC2 实例类型。我们建议至少两种。

因账户、区域和可用区而异。您可以获取通过这些值筛选的 Amazon EC2 实例类型的列表。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的可用实例类型或《适用于 Windows 实例的 Amazon EC2 用户指南》中的可用实例类型

实例类型必须均属于同一架构(arm64x86_64i386)。

SupportedArchitectures 也是此命名空间的一部分。如果您为 SupportedArchitectures 提供了任何值,则为 InstanceTypes 输入的值必须属于且仅属于为 SupportedArchitectures 提供的架构之一。

SpotFleetOnDemandBase

扩展环境时,在考虑 Spot 实例之前,Auto Scaling 组预配置的最小按需实例数。

此选项仅在 EnableSpottrue 时有意义。

0

0 命名空间中 MaxSizeaws:autoscaling:asg 选项

SpotFleetOnDemandAboveBasePercentage

Auto Scaling 组在 SpotOnDemandBase 实例之外作为额外容量预配置的按需实例的百分比。

此选项仅在 EnableSpottrue 时有意义。

0 适用于单实例环境

70 适用于负载均衡环境

0100

SpotMaxPrice

您愿意为 Spot 实例支付的每单位小时的最高价(USD)。有关 Spot 实例最高价格选项的建议,请参阅的适用于 Linux 实例的 Amazon EC2 用户指南中的 Spot 实例定价历史记录

此选项仅在 EnableSpottrue 时有意义。

每种实例类型的按需价格。在这种情况下,该选项的值为 null

0.00120.0

null

SupportedArchitectures

您希望环境使用的 EC2 实例架构类型的逗号分隔列表。

Elastic Beanstalk 支持基于以下处理器架构的实例类型:

  • Amazon Graviton 64 位 Arm 架构 (arm64)

  • 64 位架构 (x86_64)

  • 32 位架构 (i386)

有关处理器架构和 Amazon EC2 实例类型的更多信息,请参阅 Amazon EC2 实例类型

arm64

x86_64

i386

注意

大多数 Elastic Beanstalk 平台都不支持 32 位架构 i386。我们建议您选择 x86_64arm64 架构类型代替。

aws:ec2:vpc

配置环境以在自定义 Amazon Virtual Private Cloud(Amazon VPC)中启动资源。如果您不在此命名空间中配置设置,Elastic Beanstalk 将在默认 VPC 中启动资源。

命名空间: aws:ec2:vpc
名称 描述 默认值 有效值

VPCId

您的 Amazon VPC 的 ID。

Subnets

一个或多个 Auto Scaling 组子网的 ID。如果您有多个子网,请将此值指定为子网 ID 的单个逗号分隔字符串(例如,"subnet-11111111,subnet-22222222")。

ELBSubnets

Elastic Load Balancer 的一个或多个子网的 ID。如果您有多个子网,请将此值指定为子网 ID 的单个逗号分隔字符串(例如,"subnet-11111111,subnet-22222222")。

ELBScheme

如果您要在 Amazon VPC 中创建一个内部负载均衡器,请指定 internal,从而确保不能从 Amazon VPC 的外部访问您的 Elastic Beanstalk 应用程序。如果指定 publicinternal 以外的值,Elastic Beanstalk 会忽略此值。

public

public

internal

DBSubnets

包含数据库子网的 ID。这仅可用于以下情况:需要将 Amazon RDS 数据库实例添加到应用程序中。如果您有多个子网,请将此值指定为子网 ID 的单个逗号分隔字符串(例如,"subnet-11111111,subnet-22222222")。

AssociatePublicIpAddress

指定是否在您的 Amazon VPC 中启动具有公有 IP 地址的实例。具有公有 IP 地址的实例无需 NAT 设备即可与 Internet 通信。如果要在单个公有子网中包含您的负载均衡器和实例,则必须将值设置为 true

此选项对单实例环境没有影响,该环境始终具有带弹性 IP 地址的单个 Amazon EC2 实例。该选项与负载平衡、可扩展的环境相关。

true

false

aws:elasticbeanstalk:application

为您的应用程序配置运行状况检查路径。有关更多信息,请参阅基本运行状况报告

命名空间: aws:elasticbeanstalk:application
名称 描述 默认值 有效值

应用程序运行状况检查 URL

运行状况检查请求发送到的路径。如果未设置此路径,负载均衡器将尝试在端口 80 上建立一个 TCP 连接,以验证应用程序的运行状况状态。设置为以 / 开头的路径可将 HTTP GET 请求发送到该路径。您还可以在该路径前面包含协议 (HTTP、HTTPS、TCP 或 SSL) 和端口以检查 HTTPS 连接情况或使用非默认端口。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

有效值包括:

/ (HTTP GET to root path)

/health

HTTPS:443/

HTTPS:443/health

EB CLI 和 Elastic Beanstalk 控制台会对前面的选项应用建议的值。如果您需要使用配置文件来配置相同的项,则必须删除这些设置。有关更多信息,请参阅 建议值

aws:elasticbeanstalk:application:environment

为您的应用程序配置环境属性。

命名空间: aws:elasticbeanstalk:application:environment
名称 描述 默认值 有效值

任意环境变量名称。

传入密钥-值对。

任意环境变量值。

参阅 环境属性和其他软件设置 了解更多信息。

aws:elasticbeanstalk:cloudwatch:logs

为应用程序配置实例日志流式传输。

命名空间: aws:elasticbeanstalk:cloudwatch:logs
名称 描述 默认值 有效值

StreamLogs

指定是否在 CloudWatch Logs 中为代理和部署日志创建组以及从环境中的每个实例流式传输日志。

false

true

false

DeleteOnTerminate

指定是否在环境终止后删除日志组。如果为 false,则日志保留 RetentionInDays 天。

false

true

false

RetentionInDays

日志事件在到期前保留的天数。

7

1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、3653

aws:elasticbeanstalk:cloudwatch:logs:health

为应用程序配置环境运行状况日志流式传输。

命名空间: aws:elasticbeanstalk:cloudwatch:logs:health
名称 描述 默认值 有效值

HealthStreamingEnabled

对于启用了增强型运行状况报告的环境,指定是否在 CloudWatch Logs 中为环境运行状况创建组并存档 Elastic Beanstalk 环境运行状况数据。有关启用增强型运行状况的信息,请参阅 aws:elasticbeanstalk:healthreporting:system

false

true

false

DeleteOnTerminate

指定是否在终止环境后删除日志组。如果为 false,则运行状况数据将保留 RetentionInDays 天。

false

true

false

RetentionInDays

在存档的运行状况数据过期前要保留其的天数。

7

1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、3653

aws:elasticbeanstalk:command

为您的应用程序代码配置部署策略。有关更多信息,请参阅部署策略和设置

命名空间: aws:elasticbeanstalk:command
名称 描述 默认值 有效值

DeploymentPolicy

选择应用程序版本部署的部署策略

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

AllAtOnce

AllAtOnce

Rolling

RollingWithAdditionalBatch

Immutable

TrafficSplitting

Timeout

等待实例完成执行命令的时间(单位:秒)。

Elastic Beanstalk 内部向 Timeout 值添加 240 秒(4 分钟)。例如,默认的有效超时为 840 秒(600 + 240)或 14 分钟。

600

13600

BatchSizeType

BatchSize 中指定的数字类型。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

Percentage

Percentage

Fixed

BatchSize

Auto Scaling 组中要同时执行部署的 Amazon EC2 实例的百分比或固定数量。有效值因使用的 BatchSizeType 设置不同而异。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

100

1100 (Percentage)。

1aws:autoscaling:asg::MaxSize (Fixed)

IgnoreHealthCheck

不要由于运行状况检查失败而取消部署。

false

true

false

aws:elasticbeanstalk:environment

配置您的环境的架构和服务角色。

命名空间: aws:elasticbeanstalk:environment
名称 描述 默认值 有效值

EnvironmentType

设置为 SingleInstance 可启动一个 EC2 实例而无需负载均衡器。

LoadBalanced

SingleInstance

LoadBalanced

ServiceRole

一个 IAM 角色的名称,该角色供 Elastic Beanstalk 用来管理环境的资源。指定角色名称(可以选择添加自定义路径作为前缀)或其 ARN。

示例:

  • aws-elasticbeanstalk-service-role

  • custom-path/custom-role

  • arn:aws:iam::123456789012:role/aws-elasticbeanstalk-service-role

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

IAM 角色名称、路径/名称或 ARN

LoadBalancerType

用于环境的负载均衡器的类型。有关更多信息,请参阅Elastic Beanstalk 环境的负载均衡器

classic

classic

application

network

LoadBalancerIsShared

指定环境的负载均衡器是专用的还是共享的。只能为 Application Load Balancer 设置此选项。环境创建后无法更改。

当为 false 时,环境具有自己的专用负载均衡器(由 Elastic Beanstalk 创建和管理)。当为 true 时,环境使用共享的负载均衡器,该负载均衡器由您创建并在 aws:elbv2:loadbalancer 命名空间的 SharedLoadBalancer 选项中指定。

false

true

false

aws:elasticbeanstalk:environment:process:default

配置您的环境的默认过程。

命名空间: aws:elasticbeanstalk:environment:process:default
名称 描述 默认值 有效值

DeregistrationDelay

在取消注册之前等待活动请求完成的时间(单位:秒)。

20

03600

HealthCheckInterval

Elastic Load Balancing 检查应用程序的 Amazon EC2 实例运行状况的时间间隔(单位:秒)。

使用 Classic 或应用程序负载均衡器:15

使用网络负载均衡器:30

使用 Classic 或应用程序负载均衡器:5300

使用网络负载均衡器:1030

HealthCheckPath

运行状况检查的 HTTP 请求发送到的路径。

/

可路由路径。

HealthCheckTimeout

在运行状况检查期间等待响应的时间(单位:秒)。

此选项仅适用于使用应用程序负载均衡器的环境。

5

160

HealthyThresholdCount

Elastic Load Balancing 更改实例运行状况状态前的连续成功请求数。

使用 Classic 或应用程序负载均衡器:3

使用网络负载均衡器:5

210

MatcherHTTPCode

指示实例正常的 HTTP 代码 (以逗号分隔) 的列表。

此选项仅适用于使用网络或应用程序负载均衡器的环境。

200

使用应用程序负载均衡器:200499

使用网络负载均衡器:200399

Port

进程侦听的端口。

80

165535

Protocol

进程使用的协议。

使用应用程序负载均衡器时,您只能将此选项设置为 HTTPHTTPS

使用网络负载均衡器时,您只能将此选项设置为 TCP

使用 Classic 或应用程序负载均衡器:HTTP

使用网络负载均衡器:TCP

TCP

HTTP

HTTPS

StickinessEnabled

设置为 true 可启用粘性会话。

此选项仅适用于使用应用程序负载均衡器的环境。

'false'

'false'

'true'

StickinessLBCookieDuration

粘性会话 Cookie 的生存期(单位:秒)

此选项仅适用于使用应用程序负载均衡器的环境。

86400 (一天)

1604800

StickinessType

设置为 lb_cookie 可以为粘性会话使用 Cookie。

此选项仅适用于使用应用程序负载均衡器的环境。

lb_cookie

lb_cookie

UnhealthyThresholdCount

Elastic Load Balancing 更改实例运行状况状态前的连续失败请求数。

5

210

aws:elasticbeanstalk:environment:process:process_name

配置您的环境的其他过程。

命名空间: aws:elasticbeanstalk:environment:process:process_name
名称 描述 默认值 有效值

DeregistrationDelay

在取消注册之前等待活动请求完成的时间(单位:秒)。

20

03600

HealthCheckInterval

Elastic Load Balancing 检查应用程序的 Amazon EC2 实例运行状况的时间间隔(单位:秒)。

使用 Classic 或应用程序负载均衡器:15

使用网络负载均衡器:30

使用 Classic 或应用程序负载均衡器:5300

使用网络负载均衡器:1030

HealthCheckPath

运行状况检查的 HTTP 请求发送到的路径。

/

可路由路径。

HealthCheckTimeout

在运行状况检查期间等待响应的时间(单位:秒)。

此选项仅适用于使用应用程序负载均衡器的环境。

5

160

HealthyThresholdCount

Elastic Load Balancing 更改实例运行状况状态前的连续成功请求数。

使用 Classic 或应用程序负载均衡器:3

使用网络负载均衡器:5

210

MatcherHTTPCode

指示实例正常的 HTTP 代码(以逗号分隔)的列表。

此选项仅适用于使用网络或应用程序负载均衡器的环境。

200

使用应用程序负载均衡器:200499

使用网络负载均衡器:200399

Port

进程侦听的端口。

80

165535

Protocol

进程使用的协议。

使用应用程序负载均衡器时,您只能将此选项设置为 HTTPHTTPS

使用网络负载均衡器时,您只能将此选项设置为 TCP

使用 Classic 或应用程序负载均衡器:HTTP

使用网络负载均衡器:TCP

TCP

HTTP

HTTPS

StickinessEnabled

设置为 true 可启用粘性会话。

此选项仅适用于使用应用程序负载均衡器的环境。

'false'

'false'

'true'

StickinessLBCookieDuration

粘性会话 Cookie 的生存期(单位:秒)

此选项仅适用于使用应用程序负载均衡器的环境。

86400 (一天)

1604800

StickinessType

设置为 lb_cookie 可以为粘性会话使用 Cookie。

此选项仅适用于使用应用程序负载均衡器的环境。

lb_cookie

lb_cookie

UnhealthyThresholdCount

Elastic Load Balancing 更改实例运行状况状态前的连续失败请求数。

5

210

aws:elasticbeanstalk:environment:proxy:staticfiles

您可以使用以下命名空间来配置代理服务器提供静态文件。当代理服务器收到对指定路径下的某个文件的请求时,它将直接提供此文件,而不是将请求路由至您的应用程序。这将减少您的应用程序必须处理的请求的数量。

在源代码中将代理服务器提供的路径映射到包含静态资产的文件夹。在此命名空间中定义的每个选项都映射不同的路径。

注意

此命名空间适用于基于 Amazon Linux 2 的平台分支。如果您的环境使用基于 Amazon Linux AMI(在 Amazon Linux 2 之前)的平台版本,请参阅特定于平台的选项以获取特定于平台的静态文件命名空间。

命名空间: aws:elasticbeanstalk:environment:proxy:staticfiles
名称

代理服务器提供文件的路径。值以 / 开始。

例如,指定 /images 以在 subdomain.eleasticbeanstalk.com/images 提供文件。

包含文件的文件夹名称。

例如,指定 staticimages 以在源代码包顶层从名为 staticimages 的文件夹中提供文件。

aws:elasticbeanstalk:healthreporting:system

为您的环境配置增强型运行状况报告。

命名空间: aws:elasticbeanstalk:healthreporting:system
名称 描述 默认值 有效值

SystemType

运行状况报告系统(基本增强)。增强型运行状况报告需要一个服务角色和一个版本 2 或更高的平台版本

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

basic

basic

enhanced

ConfigDocument 描述要发布到 CloudWatch 的环境和实例指标的 JSON 文档。

EnhancedHealthAuthEnabled

为内部 API 启用授权,Elastic Beanstalk 使用此授权将增强型运行状况信息从您的环境实例传达到 Elastic Beanstalk 服务。

有关更多信息,请参阅增强型运行状况角色

注意

此选项仅适用于增强型运行状况报告(例如 SystemType 设置为 enhanced 时)。

true

true

false

HealthCheckSuccessThreshold

降低阈值以便实例能够通过运行状况检查。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

Ok

Ok

Warning

Degraded

Severe

aws:elasticbeanstalk:hostmanager

在环境中配置 EC2 实例以将轮换日志上传到 Amazon S3。

命名空间: aws:elasticbeanstalk:hostmanager
名称 描述 默认值 有效值

LogPublicationControl

将应用程序的 Amazon EC2 实例日志文件复制到与应用程序相关联的 Amazon S3 存储桶。

false

true

false

aws:elasticbeanstalk:managedactions

为您的环境配置托管平台更新。

命名空间: aws:elasticbeanstalk:managedactions
名称 描述 默认值 有效值

ManagedActionsEnabled

启用托管平台更新

在将此项设置为 true 时,还必须指定 PreferredStartTimeUpdateLevel

false

true

false

PreferredStartTime

配置托管操作的维护时段 (采用 UTC 表示)。

例如,"Tue:09:00"

日期和时间

day:hour:minute

格式的日期和时间。

ServiceRoleForManagedUpdates

Elastic Beanstalk 用于为您的环境执行托管平台更新的 IAM 角色的名称。

您可以使用为 ServiceRole 命名空间的 aws:elasticbeanstalk:environment 选项指定同一个角色,也可以使用账户的托管更新服务相关角色。在后一种情况下,如果账户还没有托管更新服务相关角色,Elastic Beanstalk 会创建该角色。

ServiceRole 相同

AWSServiceRoleForElasticBeanstalkManagedUpdates

aws:elasticbeanstalk:managedactions:platformupdate

为您的环境配置托管平台更新。

命名空间: aws:elasticbeanstalk:managedactions:platformupdate
名称 描述 默认值 有效值

UpdateLevel

要通过托管平台更新应用的最高级别的更新。平台版本的格式为 major.minor.patch。例如,在 2.0.8 中,主版本为 2,次版本为 0,修补版本为 8。

patch 仅适用于修补版本更新。

minor 适用于次版本更新和修补版本更新。

InstanceRefreshEnabled

启用每周实例替换。

需要将 ManagedActionsEnabled 设置为 true

false

true

false

aws:elasticbeanstalk:monitoring

配置您的环境以终止运行状况检查失败的 EC2 实例。

命名空间: aws:elasticbeanstalk:monitoring
名称 描述 默认值 有效值

Automatically Terminate Unhealthy Instances

如果实例无法通过运行状况检查,请将其终止。

注意

此选项仅在早期环境上受支持。它根据能够达到实例的运行状况及其他基于实例的指标确定了实例的运行状况。

Elastic Beanstalk 不提供根据应用程序运行状况自动终止实例的方法。

true

true

false

aws:elasticbeanstalk:sns:topics

为您的环境配置通知。

命名空间: aws:elasticbeanstalk:sns:topics
名称 描述 默认值 有效值

Notification Endpoint

在该端点处,系统会通知您对应用程序产生影响的重要事件。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

Notification Protocol

用于向您的端点发送通知的协议。

email

http

https

email

email-json

sqs

Notification Topic ARN

已订阅主题的 Amazon Resource Name (ARN)。

Notification Topic Name

已订阅主题的名称。

aws:elasticbeanstalk:sqsd

为工作线程环境配置 Amazon SQS 队列。

命名空间: aws:elasticbeanstalk:sqsd
名称 描述 默认值 有效值

WorkerQueueURL

队列的 URL,工作线程环境层中的守护程序从该队列读取消息。

注意

当您不指定值时,Elastic Beanstalk 自动创建的队列是标准 Amazon SQS 队列。当您提供值时,可以提供标准或 FIFO Amazon SQS 队列的 URL。请注意,如果提供 FIFO 队列,不支持定期任务

自动生成

如果您不指定值,则 Elastic Beanstalk 会自动创建队列。

HttpPath

将 HTTP POST 消息发送到的应用程序的相对路径。

/

MimeType

HTTP POST 请求中发送的消息的 MIME 类型。

application/json

application/json

application/x-www-form-urlencoded

application/xml

text/plain

自定义 MIME 类型。

HttpConnections

与 Amazon EC2 实例中任何应用程序之间的最大并发连接数。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

50

1100

ConnectTimeout

等待成功连接到应用程序的时长(单位:秒)。

5

160

InactivityTimeout

在与应用程序的现有连接上等待响应的时长(单位:秒)。

消息会重新处理,直到守护程序从工作线程环境层中的应用程序收到 200 (OK) 响应或 RetentionPeriod 过期。

299

136000

VisibilityTimeout

锁定来自 Amazon SQS 队列的入站消息以进行处理的时长(以秒为单位)。在配置的时长之后,再次使消息在队列中可见,以供任何其他守护程序读取。

300

043200

ErrorVisibilityTimeout

在处理尝试由于显式错误而失败后,Elastic Beanstalk 将消息返回到 Amazon SQS 队列之前经过的时长(以秒为单位)。

2

043200

RetentionPeriod

消息有效和等待主动处理的时长(单位:秒)

345600

601209600

MaxRetries

Elastic Beanstalk 在将消息移动到死信队列之前,尝试向处理消息的 Web 应用程序发送消息的最大尝试次数。

10

1100

aws:elasticbeanstalk:trafficsplitting

为您的环境配置流量拆分部署。

当您将 aws:elasticbeanstalk:command 命名空间的 DeploymentPolicy 选项设置为 TrafficSplitting 时,将应用此命名空间。有关部署策略的更多信息,请参阅部署策略和设置

命名空间: aws:elasticbeanstalk:trafficsplitting
名称 描述 默认值 有效值

NewVersionPercent

对于运行您正在部署的新应用程序版本的环境实例,Elastic Beanstalk 转移到这些实例的传入客户端流量的初始百分比。

10

1100

EvaluationTime

在初始正常部署之后,Elastic Beanstalk 等待的时间段(以分钟为单位),在经过该时间后,会继续将所有传入的客户端流量转移到正在部署的新应用程序版本。

5

3600

aws:elasticbeanstalk:xray

运行 Amazon X-Ray 守护程序,以中继来自 X-Ray 集成应用程序的跟踪信息。

命名空间: aws:elasticbeanstalk:xray
名称 描述 默认值 有效值

XRayEnabled

设为 true 可在环境中的实例上运行 X-Ray 守护程序。

false

true

false

aws:elb:healthcheck

为经典负载均衡器配置运行状况检查。

命名空间: aws:elb:healthcheck
名称 描述 默认值 有效值

HealthyThreshold

Elastic Load Balancing 更改实例运行状况状态前的连续成功请求数。

3

210

Interval

Elastic Load Balancing 检查应用程序的 Amazon EC2 实例运行状况的时间间隔。

10

5300

Timeout

Elastic Load Balancing 在将实例视为无响应之前等待的时间(单位:秒)

5

260

UnhealthyThreshold

Elastic Load Balancing 更改实例运行状况状态前的连续失败请求数。

5

210

(已弃用)Target

运行状况检查发送到的后端实例上的目标。请改为在 Application Healthcheck URL 命名空间中使用 aws:elasticbeanstalk:application

TCP:80

采用格式 PROTOCOL:PORT/PATH 的目标

aws:elb:loadbalancer

配置您环境的经典负载均衡器。

此命名空间中的多个选项已不再受支持,以支持 aws:elb:listener 命名空间中特定于侦听器的选项。使用这些不再受支持的选项,您只能在标准端口上配置两个侦听器(一个安全一个不安全)。

命名空间: aws:elb:loadbalancer
名称 描述 默认值 有效值

CrossZone

将负载均衡器配置为在所有可用区中的所有实例间 (而不是仅在每个区域中) 均匀地路由流量。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

false

true

false

SecurityGroups

将您创建的一个或多个安全组分配到负载均衡器。

一个或多个安全组 ID。

ManagedSecurityGroup

将现有安全组分配给环境的负载均衡器,而不是创建一个新安全组。要使用此设置,请更新此命名空间中的 SecurityGroups 设置以包含安全组的 ID,然后删除自动创建的安全组 ID(如果已创建)。

为了允许从负载均衡器到环境的 EC2 实例的流量,Elastic Beanstalk 会向实例的安全组添加一条规则,允许来自托管安全组的入站流量。

安全组 ID。

(已弃用)LoadBalancerHTTPPort

不安全的侦听器要侦听的端口。

80

OFF

80

(已弃用)LoadBalancerPortProtocol

不安全的侦听器上使用的协议。

HTTP

HTTP

TCP

(已弃用)LoadBalancerHTTPSPort

安全的侦听器要侦听的端口。

OFF

OFF

443

8443

(已弃用)LoadBalancerSSLPortProtocol

安全的侦听器上使用的协议。

HTTPS

HTTPS

SSL

(已弃用)SSLCertificateId

要绑定到安全的侦听器的 SSL 证书的 Amazon Resource Name (ARN)。

aws:elb:listener

在经典负载均衡器上配置默认侦听器(端口 80)。

命名空间: aws:elb:listener
名称 描述 默认值 有效值
ListenerProtocol 侦听器使用的协议。 HTTP HTTP TCP
InstancePort 此侦听器用于与 EC2 实例通信的端口。 80 165535
InstanceProtocol

此侦听器用于与 EC2 实例通信的协议。

它必须位于与 ListenerProtocol 相同的 Internet 协议层中。其安全级别也必须与使用与该侦听器相同的 InstancePort 的任何其他侦听器相同。

例如,如果 ListenerProtocolHTTPS (应用程序层,使用安全连接),您可以将 InstanceProtocol 设置为 HTTP (也位于应用程序层,使用不安全的连接)。此外,如果将 InstancePort 设置为 80,您必须在将 InstanceProtocol 设置为 HTTP 的所有其他侦听器中将 InstancePort 设置为 80

HTTP (当 ListenerProtocolHTTP 时)

TCP (当 ListenerProtocolTCP 时)

HTTPHTTPSListenerProtocolHTTPHTTPS

TCPSSLListenerProtocolTCPSSL

PolicyNames 应用于该侦听器的端口的策略名称的逗号分隔列表。我们建议您改用 aws:elb:policies 命名空间的 LoadBalancerPorts 选项。
ListenerEnabled 指定是否启用该侦听器。如果指定 false,则此侦听器不包含在负载均衡器中。 true

true

false

aws:elb:listener:listener_port

在经典负载均衡器上配置其他侦听器。

命名空间: aws:elb:listener:listener_port
名称 描述 默认值 有效值

ListenerProtocol

侦听器使用的协议。 HTTP HTTP HTTPS TCP SSL

InstancePort

此侦听器用于与 EC2 实例通信的端口。 listener_port 相同。 165535

InstanceProtocol

此侦听器用于与 EC2 实例通信的协议。

它必须位于与 ListenerProtocol 相同的 Internet 协议层中。其安全级别也必须与使用与该侦听器相同的 InstancePort 的任何其他侦听器相同。

例如,如果 ListenerProtocolHTTPS (应用程序层,使用安全连接),您可以将 InstanceProtocol 设置为 HTTP (也位于应用程序层,使用不安全的连接)。此外,如果将 InstancePort 设置为 80,您必须在将 InstanceProtocol 设置为 HTTP 的所有其他侦听器中将 InstancePort 设置为 80

HTTPListenerProtocolHTTPHTTPS

TCPListenerProtocolTCPSSL

HTTPHTTPSListenerProtocolHTTPHTTPS

TCPSSLListenerProtocolTCPSSL

PolicyNames

应用于该侦听器的端口的策略名称的逗号分隔列表。我们建议您改用 aws:elb:policies 命名空间的 LoadBalancerPorts 选项。

SSLCertificateId

要绑定到侦听器的 SSL 证书的 Amazon Resource Name (ARN)。

ListenerEnabled

指定是否启用该侦听器。如果指定 false,则此侦听器不包含在负载均衡器中。 如果设置了任何其他选项,则为 true;否则为 false true false

aws:elb:policies

修改经典负载均衡器的默认粘性和全局负载均衡器策略。

命名空间: aws:elb:policies
名称 描述 默认值 有效值

ConnectionDrainingEnabled

指定负载均衡器是否维持与已运行状况不佳或取消注册的实例之间的现有连接以完成正在进行的请求。

注意

如果您使用 Elastic Beanstalk 控制台或 EB CLI 创建环境,则无法在配置文件中设置此选项。控制台和 EB CLI 使用建议的值覆盖此选项。

false

true

false

ConnectionDrainingTimeout

在强制关闭连接之前,负载均衡器在连接耗尽过程中维持与实例之间的现有连接的最大秒数。

注意

如果您使用 Elastic Beanstalk 控制台创建环境,则无法在配置文件中设置此选项。控制台使用建议的值覆盖此选项。

20

13600

ConnectionSettingIdleTimeout

负载均衡器等待通过连接发送或接收任何数据的时间(单位:秒)。如果此时段后未发送或接收任何数据,则负载均衡器将关闭连接。

60

13600

LoadBalancerPorts

应用默认策略 (AWSEB-ELB-StickinessPolicy) 的侦听器端口的逗号分隔列表。

您可以使用 :all 指示所有侦听器端口

Stickiness Cookie Expiration

每个 Cookie 的有效时间,以秒为单位。使用默认策略 (AWSEB-ELB-StickinessPolicy)。

0

01000000

Stickiness Policy

将一个用户会话绑定到某一特定的服务器实例,以便系统将用户在此会话期间发出的所有请求都发送到同一服务器实例。使用默认策略 (AWSEB-ELB-StickinessPolicy)。

false

true false

aws:elb:policies:policy_name

为经典负载均衡器创建其他负载均衡器策略。

命名空间: aws:elb:policies:policy_name
名称 描述 默认值 有效值

CookieName

应用程序生成的 Cookie 的名称,用于控制 AppCookieStickinessPolicyType 策略的会话生存期。此策略只能与 HTTP/HTTPS 侦听器关联。

InstancePorts

应用此策略的实例端口的逗号分隔列表。

端口列表或 :all

LoadBalancerPorts

应用此策略的侦听器端口的逗号分隔列表。

端口列表或 :all

ProxyProtocol

对于 ProxyProtocolPolicyType 策略,指定是否包含 TCP 消息的原始请求的 IP 地址和端口。此策略只能与 TCP/SSL 侦听器关联。

true false

PublicKey

对后端服务器进行身份验证时要使用的 PublicKeyPolicyType 策略的公有密钥的内容。此策略不能直接应用于后端服务器或侦听器。必须作为 BackendServerAuthenticationPolicyType 策略的一部分。

PublicKeyPolicyNames

控制后端服务器身份验证的 PublicKeyPolicyType 策略的策略名称(来自 BackendServerAuthenticationPolicyType 策略)的逗号分隔列表。此策略只能与使用 HTTPS/SSL 的后端服务器关联。

SSLProtocols

SSLNegotiationPolicyType 策略(用于定义负载均衡器所接受的密码和协议)启用的 SSL 协议的逗号分隔列表。此策略只能与 HTTPS/SSL 侦听器关联。

SSLReferencePolicy

预定义安全策略的名称,该策略符合 Amazon 安全最佳实践,您需要对 SSLNegotiationPolicyType 策略(用于定义负载均衡器所接受的密码和协议)启用该策略。此策略只能与 HTTPS/SSL 侦听器关联。

Stickiness Cookie Expiration

每个 Cookie 的有效时间,以秒为单位。

0

01000000

Stickiness Policy

将一个用户会话绑定到某一特定的服务器实例,以便系统将用户在此会话期间发出的所有请求都发送到同一服务器实例。

false

true false

aws:elbv2:listener:default

在 Application Load Balancer 或 Network Load Balancer 上配置默认侦听器(端口 80)。

此命名空间不适用于使用共享负载均衡器的环境。共享的负载均衡器没有默认侦听器。

命名空间: aws:elbv2:listener:default
名称 描述 默认值 有效值

DefaultProcess

无规则匹配时将流量转发到的流程的名称。

default

过程名称。

ListenerEnabled

设置为 false 可禁用侦听器。您可以使用此选项对端口 80 禁用默认侦听器。

true

true

false

Protocol

要处理的流量的协议。

使用应用程序负载均衡器:HTTP

使用网络负载均衡器:TCP

使用应用程序负载均衡器:HTTPHTTPS

使用网络负载均衡器:TCP

Rules

应用于侦听器的规则的列表

此选项仅适用于带 Application Load Balancer 的环境。

逗号分隔的规则名称列表。

SSLCertificateArns

要绑定到侦听器的 SSL 证书的 Amazon Resource Name (ARN)。

此选项仅适用于带 Application Load Balancer 的环境。

存储在 IAM 或 ACM 中的证书的 ARN。

SSLPolicy

指定要应用于监听器的安全策略。

此选项仅适用于带 Application Load Balancer 的环境。

无 (ELB 默认值)

负载均衡器安全策略的名称。

aws:elbv2:listener:listener_port

在 Application Load Balancer 或 Network Load Balancer 上配置其他侦听器。

注意

对于共享 Application Load Balancer,您只能指定 Rule 选项。其他选项不适用于共享的负载均衡器。

命名空间: aws:elbv2:listener:listener_port
名称 描述 默认值 有效值

DefaultProcess

无规则匹配时将流量转发到的流程的名称。

default

过程名称。

ListenerEnabled

设置为 false 可禁用侦听器。您可以使用此选项对端口 80 禁用默认侦听器。

true

true

false

Protocol

要处理的流量的协议。

使用应用程序负载均衡器:HTTP

使用网络负载均衡器:TCP

使用应用程序负载均衡器:HTTPHTTPS

使用网络负载均衡器:TCP

Rules

要应用于侦听器的规则的列表

此选项仅适用于带 Application Load Balancer 的环境。

如果您的环境使用共享的 Application Load Balancer,并且您没有为任何侦听器指定此选项,则 Elastic Beanstalk 自动将 default 规则与端口 80 侦听器关联。

逗号分隔的规则名称列表。

SSLCertificateArns

要绑定到侦听器的 SSL 证书的 Amazon Resource Name (ARN)。

此选项仅适用于带 Application Load Balancer 的环境。

存储在 IAM 或 ACM 中的证书的 ARN。

SSLPolicy

指定要应用于监听器的安全策略。

此选项仅适用于带 Application Load Balancer 的环境。

无 (ELB 默认值)

负载均衡器安全策略的名称。

aws:elbv2:listenerrule:rule_name

为 Application Load Balancer 定义侦听器规则。如果请求与规则中的主机名或路径匹配,则负载均衡器将请求转发到指定的进程。要使用规则,请使用 Rules 命名空间中的 aws:elbv2:listener:listener_port 选项将其添加到侦听器中。

注意

此命名空间不适用于使用网络负载均衡器的环境。

命名空间: aws:elbv2:listenerrule:rule_name
名称 描述 默认值 有效值

HostHeaders

要匹配的主机名列表。例如,my.example.com

专用负载均衡器:无

共享的负载均衡器:环境的 CNAME

每个名称最多可以包含 128 个字符。模式可包含大写和小写字母、数字、连字符 (–) 以及最多三个通配符(* 匹配零个或多个字符;? 恰好匹配一个字符)。您可以列出多个名称,每个名称用逗号分隔。Application Load Balancer 最多支持五个 HostHeaderPathPattern 规则组合。

有关更多信息,请参阅 Application Load Balancer 用户指南中的主机条件

PathPatterns

要匹配的路径模式(例如,/img/*)。

此选项仅适用于使用应用程序负载均衡器的环境。

每个模式最多可包含 128 个字符。模式可包含大写和小写字母、数字、连字符 (–) 以及最多三个通配符(* 匹配零个或多个字符;? 恰好匹配一个字符)。您可以添加多个逗号分隔的路径模式。Application Load Balancer 最多支持五个 HostHeaderPathPattern 规则组合。

有关更多信息,请参阅 Application Load Balancer 用户指南中的路径条件

Priority

多个规则匹配时此规则的优先顺序。较小的数字优先。任何两个规则的优先级不能相同。

利用共享的负载均衡器,Elastic Beanstalk 将规则优先级视为跨共享环境的相对优先级,并在创建过程中将其映射到绝对优先级。

1

11000

Process

此规则与请求匹配时要将流量转发到的流程的名称。

default

过程名称。

aws:elbv2:loadbalancer

配置 Application Load Balancer。

对于共享的负载均衡器,只有 SharedLoadBalancerSecurityGroups 选项有效。

注意

此命名空间不适用于带 Network Load Balancer 的环境。

命名空间: aws:elbv2:loadbalancer
名称 描述 默认值 有效值

AccessLogsS3Bucket

存储访问日志的 Amazon S3 存储桶。存储桶必须与环境处于同一区域并授予负载均衡器的写入访问权限。

存储桶名称。

AccessLogsS3Enabled

启用访问日志存储。

false

true

false

AccessLogsS3Prefix

放在访问日志名称前的前缀。默认情况下,负载均衡器会将日志上传到您指定的存储桶中名为 AWSLogs 的目录。指定要在另一个目录中放置 AWSLogs 目录的前缀。

IdleTimeout

在关闭到客户端和实例的连接之前,等待请求完成的时间(单位:秒)。

13600

ManagedSecurityGroup

将现有安全组分配给环境的负载均衡器,而不是创建一个新安全组。要使用此设置,请更新此命名空间中的 SecurityGroups 设置以包括安全组的 ID,并删除自动创建的安全组 ID (如果存在)。

为了允许从负载均衡器到环境的 EC2 实例的流量,Elastic Beanstalk 会向实例的安全组添加一条规则,允许来自托管安全组的入站流量。

Elastic Beanstalks 为您的负载均衡器闯进的安全组。

安全组 ID。

SecurityGroups

附加到负载均衡器的安全组的列表。

对于共享的负载均衡器,如果您未指定此值,则 Elastic Beanstalk 将检查其管理的现有安全组是否已连接到负载均衡器。如果没有连接到负载均衡器,Elastic Beanstalk 将创建一个安全组并将其附加到负载均衡器。当最后一个共享负载均衡器的环境终止时,Elastic Beanstalk 将删除此安全组。

负载均衡器安全组用于设置 Amazon EC2 实例安全组入口规则。

Elastic Beanstalks 为您的负载均衡器创建的安全组。

安全组 ID 的逗号分隔列表。

SharedLoadBalancer

共享负载均衡器的 Amazon Resource Name (ARN)。此选项仅与 Application Load Balancer 相关。当 aws:elasticbeanstalk:environment 命名空间的 LoadBalancerIsShared 选项设置为 true 时,这是必需的。创建环境后,您将无法更改共享的负载均衡器 ARN。

有效值的条件:

  • 它必须是环境所在的Amazon区域中的有效且活动的负载均衡器。

  • 它必须与环境位于同一 Amazon Virtual Private Cloud (Amazon VPC) 中。

  • 它不能是由 Elastic Beanstalk 创建为另一环境的专用负载均衡器的负载均衡器。您可以使用前缀 awseb- 标识这些专用负载均衡器。

例如:

arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/FrontEndLB/0dbf78d8ad96abbc

符合此处所述全部条件的有效负载均衡器的 ARN。

aws:rds:dbinstance

配置连接的 Amazon RDS 数据库实例。

命名空间: aws:rds:dbinstance
名称 描述 默认值 有效值

DBAllocatedStorage

分配的数据库存储大小 (以吉字节为单位来指定)。

MySQL:5

Oracle:10

sqlserver-se:200

sqlserver-ex:30

sqlserver-web:30

MySQL:5-1024

Oracle:10-1024

sqlserver:无法修改

DBDeletionPolicy

指定在环境终止时保留、删除或创建数据库实例还是为数据库实例拍摄快照。

此选项与 HasCoupledDatabase 结合使用,也是此命名空间的一个选项。

警告

删除数据库实例会导致数据永久丢失。

Delete

Delete

Retain

Snapshot

DBEngine

要用于此实例的数据库引擎的名称。

mysql

mysql

oracle-se1

sqlserver-ex

sqlserver-web

sqlserver-se

postgres

DBEngineVersion

数据库引擎的版本号。

5.5

DBInstanceClass

数据库实例类型。

db.t2.micro

(对于并未在 Amazon VPC 中运行的环境,为 db.m1.large

有关更多信息,请参阅 Amazon Relational Database Service 用户指南中的数据库实例类

DBPassword

数据库实例的主用户密码。

DBSnapshotIdentifier

要用来恢复数据库的数据库快照的标识符。

DBUser

数据库实例的主用户名称。

ebroot

HasCoupledDatabase

指定数据库实例是否与环境耦合。如果切换为 true,Elastic Beanstalk 会创建一个与您的环境耦合的新数据库实例。如果切换为 false,Elastic Beanstalk 开始将数据库实例与您的环境解耦。

此选项与 DBDeletionPolicy 结合使用,也是此命名空间的一个选项。

注意

注意:如果在解耦前一个数据库之后将此值切换回 true ,Elastic Beanstalk 将使用前一个数据库选项设置创建一个新的数据库。但是,为了维护环境的安全性,它不会保留现有的 DBUserDBPassword 设置。您需要再次指定 DBUserDBPassword

false

true

false

MultiAZDatabase

指定是否需要创建数据库实例的多可用区部署。有关使用 Amazon Relational Database Service (RDS) 进行多可用区部署的更多信息,请参阅 Amazon Relational Database Service 用户指南中的区域和可用区

false

true

false