本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Beanstalk 叢集環境的組態選項
Beanstalk 叢集環境是透過此頁面上的十二個命名空間設定。它們是 Beanstalk 叢集環境接受的唯一命名空間。中的傳統命名空間會Beanstalk Standard 環境的組態選項設定 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:environment。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
Amazon EKS 為叢集擔任之 IAM 角色的 ARN。 |
無。您必須提供值。 |
IAM 角色 ARN |
|
叢集 Amazon EC2 節點擔任之 IAM 角色的 ARN。 |
無。您必須提供值。 |
IAM 角色 ARN |
aws:elasticbeanstalk:eks:environment
設定應用程式容器、其保留的運算、其網路置放,以及其使用的角色。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
您的應用程式擔任以呼叫 AWS 服務之選用 IAM 角色的 ARN。請參閱 Beanstalk 叢集的許可。 |
無 |
IAM 角色 ARN |
|
您的應用程式執行所在的 CPU 架構。 |
|
|
|
您應用程式的每個複本保留的 CPU。使用 Kubernetes 數量表示法,因此 |
|
|
|
您應用程式的每個複本可使用的 CPU 上限。使用與 相同的表示法 |
無 |
|
|
容器的環境變數,做為將每個變數名稱映射至其值的 JSON 物件。這是保留每個變數的一個選項,而不是每個變數的一個選項。Elastic Beanstalk |
|
JSON 物件 |
|
可能傳送流量到此環境的環境名稱。請參閱 Beanstalk 叢集環境的多租戶。 |
無 |
以逗號分隔的環境名稱清單 |
|
環境可能會將流量傳送到此環境的輸入群組。允許列出群組中的每個環境。 |
無 |
以逗號分隔的輸入群組名稱清單 |
|
此環境所屬的輸入群組。相同群組中的環境可以互相連接。 |
無 |
以逗號分隔的輸入群組名稱清單 |
|
選取叢集節點的 Amazon EC2 執行個體類別。 |
無 |
|
|
應用程式的執行時間語言,它會選取 Elastic Beanstalk 新增至容器的 OpenTelemetry 自動檢測,讓您的應用程式發出指標、日誌和追蹤到您選取的可觀測性後端,而無須變更應用程式。此選項只會選擇自動檢測。它不會限制您的應用程式可以使用的語言。如果您的執行時間未列出,或您的應用程式自行發出 OpenTelemetry 資料,請將其省略。 |
無 |
|
|
流量如何到達您的應用程式。使用 |
|
|
|
您應用程式的每個複本保留的記憶體。使用 Kubernetes 數量表示法,例如 |
|
Kubernetes 記憶體數量 |
|
您應用程式的每個複本可使用的記憶體上限。使用與 相同的表示法 |
|
Kubernetes 記憶體數量 |
|
執行此環境複本的節點集區名稱。唯一值為環境提供自己的節點,並在共用節點上提供共用值群組環境。請參閱 Beanstalk 叢集環境的多租戶。 |
無 |
DNS-1123 標籤 |
|
發佈環境指標、日誌和追蹤的 IAM 角色 ARN。Elastic Beanstalk 需要它,而且必須與子網路選取的叢集註冊的角色相符。沒有預設值,因此請明確提供。請參閱 Beanstalk 叢集的許可。 |
無。您必須提供值。 |
IAM 角色 ARN |
|
要公開給容器的秘密,做為將每個名稱對應至 Secrets Manager 中秘密的 ARN 或 Systems Manager 參數存放區中的參數的 JSON 物件。如同 |
無 |
JSON 物件 |
|
您的應用程式接聽的連接埠。Elastic Beanstalk 需要它,將其插入容器作為 |
|
|
|
環境的子網路。它們決定叢集節點的執行位置,以及環境加入的叢集。如果您省略它們,Elastic Beanstalk 會使用預設 VPC 的公有子網路。您無法在建立環境之後變更它們。請參閱 設定 Beanstalk 叢集環境的聯網。 |
無 |
以逗號分隔的子網路 IDs清單 |
aws:elasticbeanstalk:eks:environment:deployment
當您部署新的應用程式版本時,請選擇 Elastic Beanstalk 如何取代應用程式的執行中複本。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
部署策略。 會逐漸 |
|
|
aws:elasticbeanstalk:eks:environment:deployment:strategy:rolling
限制滾動部署在環境執行的複本數量之前或之後的執行程度。這些選項適用於 strategy為 時RollingUpdate。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
Elastic Beanstalk 部署時,可能開始的複本數量超過環境目前的複本計數。 |
|
計數,例如 |
|
部署時,一次可能無法使用多少個環境複本。 |
|
計數,例如 |
aws:elasticbeanstalk:eks:environment:autoscaling
設定 Elastic Beanstalk 為您的應用程式執行的複本數量,以及評估是否變更該數量的頻率。
如果您未設定觸發,Elastic Beanstalk 會將 CPU 使用率的環境擴展為 80%,介於 min-replica和 之間max-replica。若要擴展其他項目,請設定觸發條件。請參閱 aws:elasticbeanstalk:eks:environment:autoscaling:trigger。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
環境執行之應用程式的最少複本。 |
|
|
|
環境執行之應用程式的最大複本。 |
|
|
|
Elastic Beanstalk 評估擴展觸發的頻率,以秒為單位。 |
|
|
|
Elastic Beanstalk 會在最後一個觸發程序停止報告活動後等待多久,然後再縮減環境規模。 |
|
整數 |
aws:elasticbeanstalk:eks:environment:autoscaling:trigger
選擇讓環境擴展的原因。您可以根據複本使用的 CPU 或記憶體進行擴展,也可以根據排程或您自己的端點報告的指標進行擴展。這些選項沒有公告的預設值。當您未設定它們時,Elastic Beanstalk 會提供 CPU 觸發,並將 cpu-metric-type 設定為 Utilization,並將 cpu-value設定為 80。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
CPU 觸發是否比較預留 CPU 的百分比 ( |
無。 |
|
|
環境擴展為保留的 CPU 目標。使用 |
無。 |
整數 |
|
記憶體觸發是否比較預留記憶體的百分比 ( |
無。 |
|
|
環境擴展為保留的記憶體目標。 |
無 |
整數 |
|
事件驅動觸發的類型。 會根據排程 |
無 |
|
|
觸發的設定,做為 JSON 物件。使用 |
無 |
JSON 物件 |
|
Elastic Beanstalk 對 |
|
|
|
存放端點登入資料的 Secrets Manager 秘密 ARN。您只能在 |
無 |
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:environment:autoscaling:behavior
限制環境在觸發時新增或移除複本的速度。每個方向都需要一個期間、一個單位和一個數量:在每個期間內,環境最多會將複本計數變更為您設定的數量。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
|
無 |
整數 |
|
|
無 |
|
|
環境在單一 中新增的最大數量 |
無 |
整數 |
|
|
無 |
整數 |
|
|
無 |
|
|
環境在一個 內移除的最大數量 |
無 |
整數 |
容器探查命名空間
三個命名空間設定容器探查,每個命名空間都採用相同的九個選項:
-
aws:elasticbeanstalk:eks:environment:readiness-probe決定複本何時準備好接收流量。失敗的複本會停止服務,而不會重新啟動。 -
aws:elasticbeanstalk:eks:environment:liveness-probe決定複本何時運作狀態不佳。失敗的複本會重新啟動。 -
aws:elasticbeanstalk:eks:environment:startup-probe提供在開始其他兩個探查之前初始化的慢速啟動複本時間。
每個探查都會關閉,直到您啟用為止。如需探查如何與環境運作狀態相關,請參閱 監控 Beanstalk 叢集環境。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
探查是否執行。 |
|
|
|
探查請求的路徑。 |
|
URL 路徑 |
|
探查請求的連接埠。如果您省略它,探查會使用 |
無。探查使用 |
|
|
在複本開始後,探查會等待多久才會發出第一個請求。 |
|
整數秒數 |
|
探查執行的頻率。 |
|
|
|
探查在請求計為失敗之前等待回應的時間長度。 |
|
整數秒數 |
|
連續成功多少次會讓探查通過。 |
|
整數 |
|
連續失敗次數會使探查失敗。 |
|
整數 |
aws:elasticbeanstalk:eks:alb
在應用程式前設定 Application Load Balancer、其接聽程式和 TLS,以及其目標群組的運作狀態檢查。這些選項適用於 load-balancer-type為 時ALB。如需網路設定、提供您已擁有的負載平衡器,以及管理 HTTPS 接聽程式的規則,請參閱 設定 Beanstalk 叢集環境的聯網。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
您已經擁有的 Application Load Balancer 的 ARN,而不是 Elastic Beanstalk 建立的 ARN。Elastic Beanstalk 拒絕 Network Load Balancer 的 ARN。 |
無。Elastic Beanstalk 會建立負載平衡器。 |
Application Load Balancer ARN |
|
負載平衡器是否可從網際網路連線。如果您省略它,Elastic Beanstalk 會從子網路中衍生它:公有子網路會提供面向網際網路的負載平衡器,而私有子網路則提供內部的負載平衡器。 |
無。衍生自您的子網路。 |
|
|
要放置負載平衡器的子網路。如果您省略它們,則會使用環境的子網路。 |
無。環境的子網路。 |
以逗號分隔的子網路 IDs清單 |
|
要連接到負載平衡器的安全群組。 |
無 |
以逗號分隔的安全群組 IDs清單 |
|
Elastic Beanstalk 是否新增和移除負載平衡器和應用程式之間的安全群組規則。 |
|
|
|
負載平衡器是僅提供 IPv4,還是同時提供 IPv4 和 IPv6。Elastic Beanstalk 不公告預設值並套用 |
|
|
|
負載平衡器會將流量傳送至複本的 IP 地址或執行它們的節點。Elastic Beanstalk 不公告預設值並套用 |
|
|
|
要開啟的接聽程式,做為每個接聽程式具有一個物件的 JSON 陣列,例如 |
無。Elastic Beanstalk 在連接埠 443 上設定 HTTPS。 |
protocol-to-port物件的 JSON 陣列 |
|
要連接到 HTTPS 接聽程式之自有 ACM 憑證的 ARN,例如當您從自訂網域提供環境時。您不需要此選項,HTTPS 才能運作:Elastic Beanstalk 會建立並連接環境本身網域的憑證。如果您設定它,負載平衡器會同時攜帶兩個憑證。 |
無 |
ACM 憑證 ARN |
|
HTTPS 接聽程式的安全政策。 |
無 |
Elastic Load Balancing 安全政策名稱 |
|
選取 Elastic Beanstalk 重新導向 HTTP 請求的 HTTPS 連接埠。此值必須是已設定 HTTPS 接聽程式使用的連接埠。無論您是否設定此選項,Elastic Beanstalk 都會重新導向到達 HTTP 接聽程式的請求,因此只會變更目標連接埠。 |
無。Elastic Beanstalk 會重新導向至 HTTPS 接聽程式的連接埠。 |
|
|
負載平衡器用來連接應用程式的通訊協定。 |
無 |
|
|
負載平衡器用來連接應用程式的通訊協定版本。僅適用於設定 |
無 |
|
|
目標群組運作狀態檢查請求的路徑。 |
|
URL 路徑 |
|
目標群組運作狀態檢查使用的通訊協定。 |
|
|
|
目標群組運作狀態檢查執行的頻率。 |
|
|
|
運作狀態檢查等待回應的時間長度。 |
|
|
|
計為成功運作狀態檢查的 HTTP 狀態碼。 |
|
狀態碼、清單或範圍 |
|
連續多少次成功檢查可讓目標正常運作。 |
|
|
|
連續多少次檢查失敗會使目標運作狀態不佳。 |
|
|
|
要與負載平衡器建立關聯的 AWS WAF Web ACL ARN。 |
無 |
AWS WAF Web ACL ARN |
|
要套用至負載平衡器的標籤。 |
無 |
標籤索引鍵和值的 JSON 物件 |
|
要套用至負載平衡器的負載平衡器屬性,傳遞至 Elastic Load Balancing,無需解譯。 |
無 |
以逗號分隔的 |
|
要套用至特定接聽程式的接聽程式屬性,傳遞至 Elastic Load Balancing,無需解譯。在此僅提供接聽程式屬性,而非負載平衡器屬性。 |
無 |
物件的 JSON 陣列,每個物件都會將接聽程式映射至以逗號分隔的 |
|
要直接套用至 Elastic Beanstalk 為您的環境產生的 Kubernetes 輸入的說明。將此用於此命名空間中其他選項未涵蓋的負載平衡器行為。 |
無 |
JSON 物件陣列,每個物件都會將輸入註釋索引鍵映射至其值。值的每個逗號分隔區段必須只包含一個 |
注意
load-balancer-attributes、 listener-attributes和 會將其值raw-annotation傳遞至負載平衡器,而不加以解譯,因此 Elastic Beanstalk 不會驗證個別屬性或註釋的意義。當您建立環境時,無效的值會阻止建立負載平衡器,因此會顯示失敗。當您更新環境時,Elastic Beanstalk 不會等待負載平衡器進行協調,因此操作可以在變更生效之前成功。確認負載平衡器本身的變更。
aws:elasticbeanstalk:eks:observability
選擇應用程式的指標、日誌和追蹤前往何處。Elastic Beanstalk 會佈建和操作集合元件,而且您負責檢測您的應用程式,以及存取您選取的任何目的地。請參閱 監控 Beanstalk 叢集環境。
| 名稱 | 描述 | 預設 | 有效值 |
|---|---|---|---|
|
您應用程式指標的目的地。 會 |
|
|
|
Amazon Managed Service for Prometheus 遠端寫入端點。只有在 |
無 |
遠端寫入端點 URL |
|
應用程式日誌的目的地。 |
|
|
|
應用程式追蹤的目的地。與指標和日誌不同,追蹤在您選取一個項目之前沒有後端。 |
無 |
|
|
用於您設定為 之訊號的 OpenTelemetry 收集器管道組態 |
無 |
收集器管道組態,做為 JSON |
|
Secrets Manager 秘密的 ARN,其中包含收集器到達 |
無 |
Secrets Manager 秘密 ARN |