Closed1

【DOP】Elastic BeanStalk Auto Scalingで使用するメトリクスを指定する

kenryokenryo

https://aws.amazon.com/jp/premiumsupport/knowledge-center/elastic-beanstalk-scaling-triggers/
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/command-options-general.html

概要

Elastic BeanStalkのAuto Scalingはデフォルトでは以下の条件でスケーリングを行います。

  • 各インスタンスからの平均アウトバウンドネットワークトラフィックが 5 分間で 6 MB を超えるか 2 MB を下回る場合

レイテンシー、ディスク I/O、CPU 使用率、リクエスト数といったメトリクスでスケーリングを行いたい場合は、設定ファイル.ebextensionsaws:autoscaling:triggerに指定します。

aws:autoscaling:trigger

aws:autoscaling:triggerはAuto Scalingグループのスケーリングトリガーを指定するパラメタです。
プロパティMeasureNameでスケーリングに使用するメトリクスを指定することができます。
指定できる設定値は以下の通りです。(デフォルトはNetworkOut

  • CPUUtilization
  • NetworkIn
  • NetworkOut
  • DiskWriteOps
  • DiskReadBytes
  • DiskReadOps
  • DiskWriteBytes
  • Latency
  • RequestCount
  • HealthyHostCount
  • UnhealthyHostCount
  • TargetResponseTime

設定例

CPU 使用率をメトリクスとして使用します。(MeasureName
すべてのインスタンスの CPU 使用率が 3 回連続(EvaluationPeriods)して 2 分間(Period)で 80% を上回った(UpperThresholdUnit)場合、1 つのインスタンスが Auto Scaling グループに追加されます(UpperBreachScaleIncrement)。
すべてのインスタンスの CPU 使用率が同じ期間にわたって 20% を下回った(LowerThresholdUnit)場合、1 つのインスタンスが Auto Scaling グループから削除されます(LowerBreachScaleIncrement)。

option_settings:
  aws:autoscaling:trigger:
    MeasureName: CPUUtilization
    Statistic: Average
    Unit: Percent
    Period: '2'
    EvaluationPeriods: '3'
    UpperThreshold: '80'
    UpperBreachScaleIncrement: '1'
    LowerThreshold: '20'
    LowerBreachScaleIncrement: '-1'
このスクラップは2021/12/30にクローズされました