本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Beanstalk 集群环境的配置选项
Beanstalk 集群环境是通过此页面上的十二个命名空间配置的。它们是 Beanstalk 集群环境唯一接受的命名空间。Beanstalk 标准环境的配置选项配置 Beanstalk 标准环境中的经典命名空间并不适用,将其中一个命名空间传递给 Beanstalk Cluster 环境会返回而不是被忽略。InvalidParameterValueException
有关设置这些选项的方法以及 Elastic Beanstalk 如何解析这些选项,请参阅。配置选项
注意
“默认” 列给出了该选项DescribeConfigurationOptions的广告值。在 Elastic Beanstalk 即使宣称没有默认值也要应用一个值的地方,描述是这样说的。
命名空间
aws: elasticbeanstalk: eks
为运行您的环境的 Amazon EKS 集群配置 IAM 角色。您可以同时提供这两个角色,而 Elastic Beanstalk 在创建环境时需要它们。您选择的子网决定了环境加入哪个集群,如果这些角色与为该集群注册的角色不匹配,Elastic Beanstalk 会拒绝该请求。有关控制台创建的角色名称、其可信服务及其策略,请参阅Beanstalk 集群的权限。
环境还需要可观察性角色,并且可以扮演可选的应用程序角色。这两个设置都在aws:elasticbeanstalk:eks:environment命名空间中,而不是这个命名空间中。请参阅aws: elasticbeanstalk: eks: 环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
Amazon EKS 为集群担任的 IAM 角色的 ARN。 |
无。您必须提供一个值。 |
IAM 角色 ARN |
|
集群的 Amazon EC2 节点担任的 IAM 角色的 ARN。 |
无。您必须提供一个值。 |
IAM 角色 ARN |
aws: elasticbeanstalk: eks: 环境
配置应用程序容器、其保留的计算、其网络位置及其使用的角色。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
您的应用程序为调 Amazon 用服务而担任的可选 IAM 角色的 ARN。请参阅Beanstalk 集群的权限。 |
无 |
IAM 角色 ARN |
|
应用程序运行的 CPU 架构。 |
|
|
|
应用程序的每个副本预留的 CPU。使用 Kubernetes 数量表示法,虚拟 CPU 的一半和两个虚拟 CPU |
|
|
|
应用程序的每个副本可以使用的最多 CPU。使用的符号与相同 |
无 |
|
|
容器的环境变量,作为 JSON 对象,它将每个变量名称映射到其值。这是一个保存所有变量的选项,而不是每个变量一个选项。Elastic |
|
JSON 对象 |
|
可能向该环境发送流量的环境的名称。请参阅Multi-tenancy 适用于 Beanstalk 集群环境。 |
无 |
以逗号分隔的环境名称列表 |
|
其环境可能向该环境发送流量的入口组。允许列出的组中的每个环境。 |
无 |
以逗号分隔的入口组名称列表 |
|
此环境所属的入口组。同一组中的环境可以相互访问。 |
无 |
以逗号分隔的入口组名称列表 |
|
从中选择集群节点的 Amazon EC2 实例类别。 |
无 |
|
|
应用程序的运行时语言,它选择 Elastic Beanstalk 添加到您的容器中的 OpenTelemetry自动检测,以便您的应用程序无需更改应用程序即可向您选择的可观察性后端发送指标、日志和跟踪。此选项仅选择自动检测。它不限制您的应用程序可以使用的语言。如果您的运行时未列出,或者您的应用程序自行发出 OpenTelemetry 数据,则将其省略。 |
无 |
|
|
流量如何到达您的应用程序。使用 |
|
|
|
应用程序的每个副本预留的内存。使用 Kubernetes 数量表示法,例如或。 |
|
一个 Kubernetes 的内存量 |
|
应用程序的每个副本可以使用的最大内存。使用的符号与相同 |
|
一个 Kubernetes 的内存量 |
|
运行此环境副本的节点池的名称。唯一值为环境提供自己的节点,共享值将环境分组到共享节点上。请参阅Multi-tenancy 适用于 Beanstalk 集群环境。 |
无 |
一个 DNS-1123 标签 |
|
发布环境指标、日志和跟踪的 IAM 角色的 ARN。Elastic Beanstalk 需要它,并且它必须与为子网选择的集群注册的角色相匹配。没有默认值,因此请明确提供。请参阅Beanstalk 集群的权限。 |
无。您必须提供一个值。 |
IAM 角色 ARN |
|
要向容器公开的机密,作为 JSON 对象,它将每个名称映射到 Secrets Manager 中密钥的 ARN 或 Systems Manager 参数存储中的参数。比如 |
无 |
JSON 对象 |
|
您的应用程序监听的端口。Elastic Beanstalk 需要它,将其作为环境变量注入到容器中,然后将其 |
|
|
|
环境的子网。它们决定集群节点的运行位置以及环境加入哪个集群。如果省略它们,Elastic Beanstalk 将使用默认 VPC 的公有子网。创建环境后,您无法对其进行更改。请参阅为 Beanstalk 集群环境配置网络。 |
无 |
以逗号分隔的子网 ID 列表 |
aws: elasticbeanstalk: eks: 环境:部署
选择在部署新应用程序版本时,Elastic Beanstalk 如何替换正在运行的应用程序副本。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
部署策略。 |
|
|
aws: elasticbeanstalk: eks: 环境:部署:策略:滚动
限制滚动部署可能比环境正在运行的副本数量之前或落后多远。这些选项在 strategy is 时适用RollingUpdate。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
部署时,Elastic Beanstalk 在环境当前的副本数量之外可以启动多少副本。 |
|
计数(例如) |
|
部署时,环境中可能有多少副本同时不可用。 |
|
计数(例如) |
aws: elasticbeanstalk: eks: 环境:自动缩放
设置 Elastic Beanstalk 为您的应用程序运行的副本数量,以及它评估是否更改该数量的频率。
如果您不配置触发器,Elastic Beanstalk 会根据 CPU 利用率扩展环境,目标为 80%,介于和之间。min-replica max-replica要在其他内容上进行缩放,请设置触发器。请参阅aws: elasticbeanstalk: eks: 环境:自动缩放:触发器。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
环境中运行的应用程序副本最少。 |
|
|
|
环境中运行的应用程序副本最多。 |
|
|
|
Elastic Beanstalk 评估缩放触发器的频率(以秒为单位)。 |
|
|
|
Elastic Beanstalk 在最后一个触发器停止报告活动后等待多长时间,以秒为单位,然后再缩小环境。 |
|
大于 |
aws: elasticbeanstalk: eks: 环境:自动缩放:触发器
选择使环境扩展的因素。您可以根据副本使用的 CPU 或内存进行扩展,也可以根据自己的终端节点报告的计划或指标进行扩展。这些选项没有通告的默认值。当你没有设置任何一个时,Elastic Beanstalk 会提供一个设置为和设置为的 CPU cpu-metric-type 触发器。Utilization cpu-value 80
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
CPU 触发器是比较预留 CPU 的百分比 ( |
无。 |
|
|
环境可扩展以保持的 CPU 目标。使用 |
无。如果你根本没有设置任何触发器, |
一个整数 |
|
内存触发器是比较预留内存的百分比 ( |
无。如果你单独设置,Elastic |
|
|
环境缩放以容纳的内存目标。 |
无 |
一个整数 |
|
那种事件驱动的触发器。 |
无 |
|
|
触发器的设置,作为 JSON 对象。使用 |
无 |
JSON 对象 |
|
Elastic Beanstalk 如何对触发器读取的端点进行身份验证。 |
|
|
|
保存终端节点凭据的 Secrets Manager 密钥的 ARN。只有在 i |
无 |
Secrets Manager 的秘密 ARN |
以下示例将工作日工作时间内的环境扩展到五个副本(以 UTC 为单位):
$ cat schedule.json
[
{
"Namespace": "aws:elasticbeanstalk:eks:environment:autoscaling:trigger",
"OptionName": "scaler-type",
"Value": "cron"
},
{
"Namespace": "aws:elasticbeanstalk:eks:environment:autoscaling:trigger",
"OptionName": "scaler-metadata",
"Value": "{\"timezone\":\"UTC\",\"start\":\"0 8 * * 1-5\",\"end\":\"0 18 * * 1-5\",\"desiredReplicas\":\"5\"}"
}
]
$ aws elasticbeanstalk update-environment \
--environment-name my-cluster-env \
--option-settings file://schedule.json
scaler-metadata值本身就是一个 JSON 文档,因此设置是在文件中而不是命令行中进行的。
aws: elasticbeanstalk: eks: 环境:自动缩放:行为
限制触发器触发后环境添加或删除副本的速度。每个方向都需要一个周期、一个单位和一个金额:在每个周期内,环境最多只能按您设置的数量更改副本数量。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
|
无 |
大于 |
|
|
无 |
|
|
环境中添加的最多的东西合而为一 |
无 |
一个整数 |
|
|
无 |
大于 |
|
|
无 |
|
|
环境中移除的最多的东西都在一个之内 |
无 |
一个整数 |
容器探测命名空间
三个命名空间配置容器探测器,每个命名空间都有相同的九个选项:
-
aws:elasticbeanstalk:eks:environment:readiness-probe决定副本何时准备好接收流量。失败的副本将在不重新启动的情况下停止使用。 -
aws:elasticbeanstalk:eks:environment:liveness-probe决定副本何时运行状况不佳。失败的复制副本将重新启动。 -
aws:elasticbeanstalk:eks:environment:startup-probe在其他两个探测器开始之前,为缓慢启动的副本提供了初始化的时间。
在您启用探测器之前,每个探测器都处于关闭状态。有关探测器与环境运行状况的关系,请参阅监控 Beanstalk 集群环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
探测器是否运行。 |
|
|
|
探测器请求的路径。 |
|
网址路径 |
|
探测器请求的端口。如果省略它,则探测器使用 |
无。探测器使用 |
|
|
在副本启动后,探测器在首次请求之前等待多长时间。 |
|
以秒为单位的整数 |
|
探测器运行的频率。 |
|
|
|
在请求失败之前,探测器等待响应的时间有多长。 |
|
以秒为单位的整数 |
|
连续多少次成功使调查通过。 |
|
一个整数 |
|
连续多少次失败会导致探测失败。 |
|
一个整数 |
aws: elasticbeanstalk: eks: alb
在您的应用程序、其侦听器和 TLS 前面配置 Application Load Balancer,并对其目标组进行运行状况检查。这些选项在 load-balancer-type is 时适用ALB。有关网络设置、提供您已拥有的负载均衡器以及管理 HTTPS 侦听器的规则,请参阅为 Beanstalk 集群环境配置网络。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
使用您已经拥有的应用程序负载均衡器的 ARN,而不是 Elastic Beanstalk 创建的 ARN。Elastic Beanstalk 拒绝网络负载均衡器的 ARN。 |
无。Elastic Beanstalk 创建了一个负载均衡器。 |
Application Load Balancer ARN |
|
是否可以从互联网访问负载均衡器。如果您省略它,Elastic Beanstalk 会从您的子网中派生它:公有子网提供面向互联网的负载均衡器,私有子网提供内部负载均衡器。 |
无。从您的子网派生。 |
|
|
要放置负载均衡器的子网。如果省略它们,它将使用环境的子网。 |
无。环境的子网。 |
以逗号分隔的子网 ID 列表 |
|
要附加到负载均衡器的安全组。 |
无 |
以逗号分隔的安全组 ID 列表 |
|
Elastic Beanstalk 是否在负载均衡器和您的应用程序之间添加和删除安全组规则。 |
|
|
|
负载均衡器是仅提供 IPv4 还是同时提供 IPv4 和 IPv6。Elastic Beanstalk 不宣传违约并适用。 |
|
|
|
负载均衡器是向副本的 IP 地址发送流量还是向运行副本的节点发送流量。Elastic Beanstalk 不宣传违约并适用。 |
|
|
|
要打开的监听器,以 JSON 数组的形式打开,每个监听器都有一个对象,例如 |
无。Elastic Beanstalk 在端口 443 上配置 HTTPS。 |
协议到端口对象的 JSON 数组 |
|
要附加到 HTTPS 侦听器的您自己的 ACM 证书的 ARN,例如,当您从自定义域为环境提供服务时。你不需要这个选项就能让 HTTPS 正常工作:无论哪种方式,Elastic Beanstalk 都会为环境自己的域创建和附加证书。如果您设置了该证书,则负载均衡器会同时携带这两个证书。 |
无 |
ACM 证书 ARN |
|
HTTPS 监听器的安全策略。 |
无 |
Elastic Load Balancing 安全策略名称 |
|
选择 Elastic Beanstalk 将 HTTP 请求重定向到哪个 HTTPS 端口。该值必须是已配置的 HTTPS 侦听器使用的端口。无论您是否设置此选项,Elastic Beanstalk 都会重定向到达 HTTP 侦听器的请求,因此它只会更改目标端口。 |
无。Elastic Beanstalk 重定向到你的 HTTPS 监听器的端口。 |
|
|
负载均衡器用于访问您的应用程序的协议。 |
无 |
|
|
负载均衡器用于访问您的应用程序的协议版本。仅在设置时适 |
无 |
|
|
目标组运行状况检查请求的路径。 |
|
网址路径 |
|
目标组运行状况检查使用的协议。 |
|
|
|
目标群体运行状况检查的运行频率。 |
|
|
|
运行状况检查等待响应的时间有多长。 |
|
|
|
算作成功运行状况检查的 HTTP 状态码。 |
|
状态码、列表或范围 |
|
连续成功检查多少次会使目标处于健康状态。 |
|
|
|
连续有多少次检查失败会使目标运行不正常。 |
|
|
|
要与负载均衡器关联的 Amazon WAF Web ACL 的 ARN。 |
无 |
Amazon WAF 网络访问控制列表 ARN |
|
要应用于负载均衡器的标签。 |
无 |
由标签键和值组成的 JSON 对象 |
|
应用于负载均衡器的负载均衡器属性未经解释就传递给 Elastic Load Balancing。 |
无 |
以逗号分隔的 |
|
应用于特定侦听器的监听器属性,无需解释即可传递给 Elastic Load Balancing。此处仅提供侦听器属性,不提供负载均衡器属性。 |
无 |
由对象组成的 JSON 数组,每个对象都将监听器映射到以逗号分隔的 |
|
可直接应用于 Elastic Beanstalk 为您的环境生成的 Kubernetes 入口的注释。将其用于此命名空间中其他选项未涵盖的负载均衡器行为。 |
无 |
一个由对象组成的 JSON 数组,每个对象都将一个入口注释键映射到其值。例如,以下值设置 ssl 重定向注释:。 |
注意
load-balancer-attributeslistener-attributes、,并将它们的值raw-annotation传递给负载均衡器,而不对其进行解释,因此 Elastic Beanstalk 不会验证单个属性或注释的含义。创建环境时,无效的值会阻止创建负载均衡器,因此故障是显而易见的。当您更新环境时,Elastic Beanstalk 不会等待负载均衡器进行协调,因此操作可以在您的更改生效之前成功。确认负载均衡器本身的更改。
aws: elasticbeanstalk: eks: 可观察性
选择应用程序的指标、日志和跟踪记录的去向。Elastic Beanstalk 配置和操作收集组件,您负责检测您的应用程序并访问您选择的任何目的地。请参阅监控 Beanstalk 集群环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
您的应用程序指标的去向。 |
|
|
|
适用于 Prometheus 的亚马逊托管服务远程写入终端节点。仅在 |
无 |
远程写入端点 URL |
|
应用程序的日志去哪里。 |
|
|
|
你的应用程序的痕迹去了哪里。与指标和日志不同,在您选择一个之前,跟踪没有后端。 |
无 |
|
|
用于您设置为的信号的 OpenTelemetry 收集器管道配置 |
无 |
采集器管道配置,采用 JSON |
|
包含收集器到达后端所需的凭据的 Secrets Manager 机密的 ARN。 |
无 |
Secrets Manager 的秘密 ARN |