跳至內容

如何對 Elastic Beanstalk 中擴展觸發條件遇到的問題進行疑難排解?

1 分的閱讀內容
0

我的 AWS Elastic Beanstalk 環境並未按預期方式擴展。

解決方法

先決條件:

  • 您的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體有足夠的容量在您的 AWS 區域中進行擴展。此容量是根據您在 AWS Auto Scaling 群組組態中定義的執行個體最大數量。
  • 您可以根據應用程式的安裝和組態需求設定冷卻時間。
  • 您使用預設的 Amazon CloudWatch 指標或 Loust 進行負載測試,並找出啟動擴展的最佳指標。

若要設定擴展觸發條件,請使用 Elastic Beanstalk 主控台或選項設定。

在 Elastic Beanstalk 主控台中設定擴展觸發條件

  1. 開啟 Elastic Beanstalk 主控台,然後選取您的環境。
  2. 在環境的導覽窗格中,選擇 Configuration (組態)。
  3. Instance traffic and scaling (執行個體流量和擴展) 下,選擇 Edit (編輯)。
  4. Capacity (容量) 下的 Scaling Triggers (擴展觸發條件),選取觸發條件選項,然後選擇 Apply (套用)。

**注意:**Elastic Beanstalk 為 aws:autoscaling:trigger 命名空間中的 Auto Scaling 設定提供組態選項。設定套用的資源會在此命名空間中組織該資源的設定。

使用選項設定來設定擴展觸發條件

使用選項設定中的 .ebextensions 修改您的擴展組態。若要存取設定擴展觸發條件的組態檔案,請參閱 GitHub 網站上的autoscaling-triggers-customize.config

下列範例組態檔會修改以 CPU 使用率為基礎的擴展觸發條件。如果執行個體的 CPU 使用率在連續三個兩分鐘內超過 80%,則 Auto Scaling 會為 Auto Scaling 群組新增一個執行個體。如果在同一時段內執行個體的 CPU 使用率低於 20%,則 Auto Scaling 將從 Auto Scaling 群組中移除一個執行個體。

option_settings:
  aws:autoscaling:trigger:
    MeasureName: CPUUtilization
    Statistic: Average
    Unit: Percent
    Period: '2'
    EvaluationPeriods: '3'
    UpperThreshold: '80'
    UpperBreachScaleIncrement: '1'
    LowerThreshold: '20'
    LowerBreachScaleIncrement: '-1'

下列範例顯示應用程式 zip 檔案中 .ebextensions 目錄和 autoscaling-triggers-customize.config 檔案的結構:

~/my-app/
|-- .ebextensions/
|   |-- autoscaling-triggers-customize.config
|   `-- other.config
|-- other application files

相關資訊

Elastic Beanstalk 環境的自動擴展觸發條件

AWS 官方已更新 8 個月前