本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Beanstalk 集群环境的配置选项
Beanstalk 集群环境是通过本页上的十二个命名空间配置的。它们是 Beanstalk 集群环境唯一接受的命名空间。Beanstalk 标准环境的配置选项配置Beanstalk标准环境中的经典命名空间不适用,将其中一个命名空间传递给Beanstalk集群环境会返回一个而不是被忽略。InvalidParameterValueException
有关设置这些选项的方法以及 Elastic Beanstalk 如何解析这些选项,请参阅。配置选项
注意
默认列给出了该选项DescribeConfigurationOptions的广告值。尽管宣传没有默认值,但 Elastic Beanstalk 仍会应用一个值,但描述中却是这样说的。
命名空间
aws: elasticbeanstalk: eks
为运行您的环境的 Amazon EKS 集群配置 IAM 角色。您可以同时提供这两个角色,而 Elastic Beanstalk 在创建环境时需要它们。您选择的子网决定环境加入哪个集群,如果这些角色与为该集群注册的角色不匹配,Elastic Beanstalk 会拒绝该请求。有关控制台创建的角色名称、其可信服务和策略,请参阅Beanstalk 集群的权限。
该环境还需要一个可观察性角色,它可以扮演一个可选的应用程序角色。这两个设置都在aws:elasticbeanstalk:eks:environment命名空间中,而不是这个命名空间中。请参阅aws: elasticbeanstalk: eks: 环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
亚马逊 EKS 为集群承担的 IAM 角色的 ARN。 |
无。你必须提供一个值。 |
IAM 角色 ARN |
|
集群的亚马逊 EC2 节点代入的 IAM 角色的 ARN。 |
无。你必须提供一个值。 |
IAM 角色 ARN |
aws: elasticbeanstalk: eks: 环境
配置应用程序容器、其预留的计算、其网络位置及其使用的角色。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
您的应用程序在调用 Amazon 服务时代入的可选 IAM 角色的 ARN。请参阅Beanstalk 集群的权限。 |
无 |
IAM 角色 ARN |
|
您的应用程序运行的 CPU 架构。 |
|
|
|
应用程序的每个副本预留的 CPU。使用 Kubernetes 数量表示法,虚拟 CPU 的一半 |
|
|
|
应用程序的每个副本可以使用的最多 CPU。使用与相同的表示法 |
无 |
|
|
容器的环境变量,作为 JSON 对象,用于将每个变量名称映射到其值。这是一个包含所有变量的选项,而不是每个变量一个选项。Elastic Beanstalk 根据您为其 |
|
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 对象的形式向容器公开的密钥,该对象将每个名称映射到密钥管理器中密钥的 ARN 或系统管理器参数存储中的参数。比如 |
无 |
JSON 对象 |
|
您的应用程序监听的端口。Elastic Beanstalk 需要它,将其作为 |
|
|
|
环境的子网。它们决定群集节点在哪里运行以及环境加入哪个集群。如果您省略它们,Elastic Beanstalk 将使用默认 VPC 的公有子网。创建环境后无法对其进行更改。请参阅为 Beanstalk 集群环境配置网络。 |
无 |
以逗号分隔的子网 ID 列表 |
aws: elasticbeanstalk: eks: 环境:部署
选择在部署新应用程序版本时,Elastic Beanstalk 如何替换应用程序的运行副本。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
部署策略。 |
|
|
aws: elasticbeanstalk: eks: 环境:部署:策略:滚动
限定滚动部署可能在环境运行的副本数量之前或落后多远的情况下运行。这些选项在出现时适strategy用RollingUpdate。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
Elastic Beanstalk 在部署时可能会有多少副本在环境当前副本数量之外启动。 |
|
计数,例如 |
|
在部署环境时,有多少副本可能同时不可用。 |
|
计数,例如 |
aws: elasticbeanstalk: eks: 环境:自动缩放
设置 Elastic Beanstalk 为您的应用程序运行的副本数量,以及评估是否更改该数量的频率。
如果您不配置触发器,Elastic Beanstalk 会根据 CPU 利用率来扩展环境,目标是 80%,介于和之间。min-replica max-replica要在其他内容上进行缩放,请设置触发器。请参阅aws: elasticbeanstalk: eks: environment: 自动缩放:触发器。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
环境中运行的应用程序副本最少。 |
|
|
|
环境中运行的应用程序副本最多。 |
|
|
|
Elastic Beanstalk 评估扩展触发器的频率,以秒为单位。 |
|
|
|
在最后一个触发器停止报告活动后,Elastic Beanstalk 会等待多长时间(以秒为单位),然后才会缩减环境规模。 |
|
大于 |
aws: elasticbeanstalk: eks: environment: 自动缩放:触发器
选择使环境扩展的因素。您可以根据副本使用的 CPU 或内存进行扩展,也可以按计划或根据自己的终端节点报告的指标进行扩展。这些选项没有公布的默认值。当你不设置任何一个时,Elastic Beanstalk 会提供一个 CPU 触发器,其设置为Utilization和cpu-metric-typecpu-value设置为。80
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
CPU 触发器是比较预留 CPU 的百分比 ( |
无。 |
|
|
环境缩放以容纳的 CPU 目标。使用 |
无。如果您根本不设置任何触发器, |
一个整数 |
|
内存触发器是比较预留内存的百分比 ( |
无。 |
|
|
环境缩放以容纳的内存目标。 |
无 |
一个整数 |
|
那种事件驱动的触发器。 |
无 |
|
|
触发器的设置,作为 JSON 对象。包括 |
无 |
JSON 对象 |
|
Elastic Beanstalk 如何向触发器读取的端点进行身份验证。 |
|
|
|
保存端点证书的密钥管理器密钥的 ARN。您只能在 “ |
无 |
密钥经理的秘密 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: environment: 自动缩放:行为
限制触发器触发后环境添加或删除副本的速度。每个方向都需要一个周期、一个单位和一个数量:在每个周期内,环境最多会更改您设置的副本数量。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
|
无 |
大于 |
|
|
无 |
|
|
环境中添加的最大值合而为一 |
无 |
一个整数 |
|
|
无 |
大于 |
|
|
无 |
|
|
环境中移除的最大部分是一个 |
无 |
一个整数 |
容器探测器命名空间
三个命名空间配置容器探测器,每个命名空间采用相同的九个选项:
-
aws:elasticbeanstalk:eks:environment:readiness-probe决定副本何时准备好接收流量。出现故障的副本将在不重新启动的情况下停止服务。 -
aws:elasticbeanstalk:eks:environment:liveness-probe决定副本何时不正常。失败的副本将重新启动。 -
aws:elasticbeanstalk:eks:environment:startup-probe在其他两个探测器开始之前,为缓慢启动的副本提供初始化时间。
在启用之前,每个探测器都处于关闭状态。有关探测器与环境运行状况的关系,请参阅监控 Beanstalk 集群环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
探测器是否运行。 |
|
|
|
探测器请求的路径。 |
|
网址路径 |
|
探测器请求的端口。如果省略它,则探测器会使用 |
无。该探测器使用 |
|
|
副本启动后,探测器在首次请求之前等待多长时间。 |
|
以秒为单位的整数 |
|
探测器运行的频率。 |
|
|
|
在请求算作失败之前,探测器等待响应多长时间。 |
|
以秒为单位的整数 |
|
有多少连续的成功使调查得以通过。 |
|
一个整数 |
|
连续失败多少次会使探测失败。 |
|
一个整数 |
aws: elasticbeanstalk: eks: alb
在应用程序、其侦听器和 TLS 前面配置应用程序负载均衡器,并对其目标组进行运行状况检查。当出现时,这些选项适load-balancer-type用ALB。有关网络设置、提供您已拥有的负载均衡器以及管理 HTTPS 侦听器的规则,请参阅为 Beanstalk 集群环境配置网络。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
使用您已经拥有的应用程序负载均衡器的 ARN,而不是 Elastic Beanstalk 创建的 ARN。Elastic Beanstalk 拒绝网络负载均衡器的 ARN。 |
无。Elastic Beanstalk 创建负载均衡器。 |
应用程序负载均衡器 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 Beanstalk 将 HTTP 请求重定向到哪个 HTTPS 端口。该值必须是已配置的 HTTPS 侦听器使用的端口。无论您是否设置此选项,Elastic Beanstalk 都会重定向到达 HTTP 侦听器的请求,因此它只会更改目标端口。 |
无。Elastic Beanstalk 重定向到您的 HTTPS 侦听器端口。 |
|
|
负载均衡器用于访问您的应用程序的协议。 |
无 |
|
|
负载均衡器用于访问您的应用程序的协议版本。仅在设置时适 |
无 |
|
|
目标组运行状况检查请求的路径。 |
|
网址路径 |
|
目标组运行状况检查使用的协议。 |
|
|
|
目标组运行状况检查的频率。 |
|
|
|
运行状况检查需要等待回复多长时间。 |
|
|
|
算作成功运行状况检查的 HTTP 状态码。 |
|
状态码、列表或范围 |
|
连续成功检查多少次才能使目标处于健康状态。 |
|
|
|
连续多少次检查失败会使目标处于不健康状态。 |
|
|
|
与负载均衡器关联的 Amazon WAF 网页 ACL 的 ARN。 |
无 |
一个 Amazon WAF Web ACL ARN |
|
应用于负载均衡器的标签。 |
无 |
一个包含标签键和值的 JSON 对象 |
|
应用于负载均衡器的负载均衡器属性无需解释即可传递给 Elastic Load Balancing。 |
无 |
以逗号分隔的 |
|
应用于特定侦听器的侦听器属性无需解释即可传递给 Elastic Load Balancing。此处仅提供侦听器属性,不提供负载均衡器属性。 |
无 |
一个 JSON 对象数组,每个对象将监听器映射到以逗号分隔的 |
|
注释直接应用于 Elastic Beanstalk 为您的环境生成的 Kubernetes 入口。使用它来处理此命名空间中其他选项未涵盖的负载均衡器行为。 |
无 |
一个 JSON 对象数组,每个对象都将入口注释键映射到其值。值的每个以逗号分隔的段必须正好包含一个 |
注意
load-balancer-attributeslistener-attributes,并在不解释的情况下将其值raw-annotation传递给负载均衡器,因此 Elastic Beanstalk 不会验证单个属性或注解的含义。创建环境时,无效值会阻止创建负载均衡器,因此故障是显而易见的。当您更新环境时,Elastic Beanstalk 不会等待负载均衡器进行协调,因此操作可以在您的更改生效之前成功。确认负载均衡器本身的更改。
aws: elasticbeanstalk: eks: 可观察性
选择应用程序的指标、日志和跟踪的去向。Elastic Beanstalk 预置和操作收集组件,您负责对应用程序进行检测,并负责访问您选择的任何目的地。请参阅监控 Beanstalk 集群环境。
| 名称 | 描述 | 默认 | 有效值 |
|---|---|---|---|
|
应用程序指标的去向。 |
|
|
|
适用于 Prometheus 远程写入终端节点的亚马逊托管服务。仅在 ish 时 |
无 |
远程写入端点 URL |
|
应用程序的日志去哪里。 |
|
|
|
你的应用程序的踪迹去哪里。与指标和日志不同,跟踪在您选择后端之前没有后端。 |
无 |
|
|
用于您设置的信号的 OpenTelemetry 收集器管道配置 |
无 |
采集器管道配置,采集 JSON |
|
密钥管理器密钥的 ARN,其中包含收集者到达 |
无 |
密钥经理的秘密 ARN |