適用於 Elastic Beanstalk 環境的 Auto Scaling 群組組態 - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

適用於 Elastic Beanstalk 環境的 Auto Scaling 群組組態

本主題說明為 Elastic Beanstalk 環境設定 Auto Scaling 的不同方法。您可以使用 Elastic Beanstalk 主控台、EB CLI或命名空間選項。

重要

EnableSpot 選項設定可能會導致 Elastic Beanstalk 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。如需詳細資訊,請參閱 啟動範本

使用 Elastic Beanstalk 主控台設定 Auto Scaling 群組

您可以在 Elastic Beanstalk 主控台中,於環境的 Configuration (組態) 頁面上編輯 Capacity (容量),以設定 Auto Scaling 的運作方式。

在 Elastic Beanstalk 主控台中設定 Auto Scaling 群組
  1. 開啟 Elastic Beanstalk 主控台 ,然後在區域清單中選取您的 AWS 區域。

  2. 在導覽窗格中,選擇環境,然後在清單中選擇您環境的名稱。

    注意

    如果您有許多環境,請使用搜尋列來篩選環境清單。

  3. 在導覽窗格中,選擇 Configuration (組態)。

  4. Capacity (容量) 組態類別中,選擇 Edit (編輯)

  5. Auto Scaling group (Auto Scaling 群組) 區段,設定下列設定。

    • Environment type (環境類型) ‒ 選取 Load balanced (負載平衡)

    • 最小執行個體 – 群組應該隨時包含的EC2執行個體數目下限。群組以計數下限開始,當滿足擴展觸發條件時,將新增執行個體。

    • 執行個體上限 – 群組應該隨時包含的EC2執行個體數目上限。

      注意

      若您採用滾動更新,請確保執行個體計數上限高於滾動更新的 Minimum instances in service (服務中執行個體數量下限) 設定

    • 機群組成 – 預設為隨需執行個體。選取 Combined purchase options and instances (組合的購買選項和執行個體) 以啟用 Spot Instance (Spot 執行個體) 請求。

      重要

      EnableSpot 選項設定可能會導致 Elastic Beanstalk 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。如需詳細資訊,請參閱 啟動範本

      如果您選取啟用 Spot 執行個體 (Spot 執行個體) 請求,便會啟用下列選項:

      • 最高 Spot 價格 – 如需 Spot 執行個體最高價格選項的建議,請參閱 Amazon EC2使用者指南 中的 Spot 執行個體定價歷史記錄

      • On-Demand base (隨需執行個體基本數量) – 隨著環境擴展,在考慮使用 Spot 執行個體前,Auto Scaling 群組要佈建的最小隨需執行個體數量。

      • On-Demand above base (超過基本數量的隨需執行個體) – 隨需執行個體百分比 (Auto Scaling 群組超出隨需執行個體基本數量所怖建的一部分額外容量)。

        注意

        On-Demand base (隨需執行個體基本數量) 和 On-Demand above base (超過基本數量的隨需執行個體) 選項與前面列出的執行個體 Min (下限) 和 Max (上限) 選項關聯。如需有關這些選項和範例的詳細資訊,請參閱 Spot 執行個體支援

      • Enable Capacity Rebalancing (啟用容量重新平衡) - 此選項只有 Auto Scaling 群組中至少有一個 Spot 執行個體時有用。啟用此功能時, EC2 會自動嘗試在中斷前取代 Auto Scaling 群組中的 Spot 執行個體,將對應用程式的 Spot 執行個體中斷降至最低。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的容量重新平衡

    • 執行個體類型 – 啟動以執行應用程式的 Amazon EC2執行個體類型。如需詳細資訊,請參閱 執行個體類型

    • AMI ID – Elastic Beanstalk 用來在您的環境中啟動 Amazon EC2執行個體的機器映像。如需詳細資訊,請參閱 AMI ID

    • Availability Zones (可用區域) ‒ 選擇您環境執行個體可散佈到的可用區域數。根據預設,Auto Scaling 群組會在所有可用區域中平均啟動執行個體。欲將您的執行個體集中於較少區域,請選擇欲使用的區域數量。以生產環境而言,請使用至少兩個區域,以確保您的應用程式在其中一個可用區域服務中斷時仍能使用。

    • Placement (置放) (選用) ‒ 選擇欲使用的可用區域。如果若您的執行個體需要連線至特定區域的資源,或者您已購買區域特定的預留執行個體,請使用此設定。如果您在自訂 中啟動環境VPC,則無法設定此選項。在自訂 中VPC,您可以選擇指派給環境之子網路的可用區域。

    • Scaling cooldown (擴展冷卻) ‒ 擴展之後,在繼續評估觸發前等待執行個體啟動或終止的時間 (以秒計)。如需詳細資訊,請參閱擴展冷卻

    Elastic Beanstalk Auto Scaling 組態視窗
  6. 若要儲存變更,請選擇頁面底部的儲存變更

使用 EB 的 Auto Scaling 群組組態 CLI

使用 eb create 命令建立環境時,您可以指定與您環境 Auto Scaling 群組相關的幾個選項。這些是可協助您控制環境的容量的其中一些選項。

--single

使用一個 Amazon EC2執行個體和無負載平衡器建立環境。如果您未使用此選項,系統會將負載平衡器新增至建立的環境環境。

--enable-spot

為您的環境啟用 Spot 執行個體請求。

重要

enable-spot 選項設定可能會導致 Elastic Beanstalk 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。如需詳細資訊,請參閱 啟動範本

eb create 命令的下列選項僅可搭配 --enable-spot 使用。

--instance-types

列出您希望環境使用的 Amazon EC2執行個體類型。

--spot-max-price

您願意為 Spot 執行個體支付的每單位小時最高價格 (以美元為單位)。如需 Spot 執行個體最高價格選項的建議,請參閱 Amazon EC2使用者指南 中的 Spot 執行個體定價歷史記錄

--on-demand-base-capacity

隨著環境擴展,Auto Scaling 群組在考量 Spot 執行個體前佈建的最小隨需執行個體數量。

--on-demand-above-base-capacity

隨需執行個體百分比 (Auto Scaling 群組超出 --on-demand-base-capacity 選項所指定之執行個體數量所怖建的一部分額外容量)。

以下範例會建立環境並將 Auto Scaling 群組設為針對新環境啟用 Spot 執行個體請求。以這個例子來說,有三個執行個體類型可使用。

$ eb create --enable-spot --instance-types "t2.micro,t3.micro,t3.small"
重要

另一個名為 --instance-type(無「」) 的類似名稱選項,EB CLI只會在處理隨需執行個體時識別。請勿將 --instance-type (沒有 "s") 與 --enable-spot 選項搭配使用。如果您這樣做,EB 會CLI忽略它。反之,請將 --instance-types (有 "s") 與 --enable-spot 選項搭配使用。

命名空間組態選項

Elastic Beanstalk 在以下兩個命名空間中提供 Auto Scaling 設定的組態選項aws:autoscaling:asgaws:ec2:instances

aws:autoscaling:asg 命名空間

aws:autoscaling:asg 命名空間提供了可用於整體擴展和可用性的選項。

下列組態檔案範例會設定 Auto Scaling 群組,以使用二到四個執行個體、特定可用區域,以及 12 分鐘 (720 秒) 的冷卻時間。已啟用 Spot 執行個體的容量重新平衡。如此範例後面的組態檔案範例所示,最後一個選項只會在 EnableSpotaws:ec2:instances 命名空間中設定為 true 時生效。

option_settings: aws:autoscaling:asg: Availability Zones: Any Cooldown: '720' Custom Availability Zones: 'us-west-2a,us-west-2b' MaxSize: '4' MinSize: '2' EnableCapacityRebalancing: true

aws:ec2:instances 命名空間

aws:ec2:instances 命名空間提供了與環境的執行個體相關的選項,包括 Spot 執行個體管理。這與 aws:autoscaling:launchconfigurationaws:autoscaling:asg 相輔相成。

當您更新環境組態並從 InstanceTypes 選項中移除一或多個執行個體類型時,Elastic Beanstalk 會終止在任何已移除EC2的執行個體類型上執行的任何 Amazon 執行個體。然後,您環境的 Auto Scaling 群組會視需要啟動新執行個體,以使用目前指定的執行個體類型來完成所需的容量。

以下組態檔案範例會設定 Auto Scaling 群組,為您的環境啟用 Spot 執行個體請求。有三個可能的執行個體類型可使用。至少將一個隨需執行個體用於基準容量,以及將認可的 33% 隨需執行個體用於額外容量。

option_settings: aws:ec2:instances: EnableSpot: true InstanceTypes: 't2.micro,t3.micro,t3.small' SpotFleetOnDemandBase: '1' SpotFleetOnDemandAboveBasePercentage: '33'

如要選擇 Spot 執行個體類型,請使用 Spot Instance Advisor

重要

EnableSpot 選項設定可能會導致 Elastic Beanstalk 使用啟動範本建立環境,或將現有環境從啟動組態更新為啟動範本。如需詳細資訊,請參閱 啟動範本