Elastic Beanstalk のスケーリングトリガーに関して問題があります。トラブルシューティングの方法を教えてください。

最終更新日: 2019 年 10 月 8 日

AWS Elastic Beanstalk 環境が、想定どおりにスケールしていません。どうすればこの問題を解決できますか?

簡単な説明

Elastic Beanstalk 環境の Auto Scaling グループは、スケーリングオペレーションをトリガーするために 2 つの Amazon CloudWatch アラームを使用します。デフォルトの Auto Scaling トリガーは、各インスタンスにおける 5 分間の平均アウトバウンドネットワークトラフィック (NetworkOut) が 6 MB を上回るとき、または 2 MB を下回るときにスケールするように設定されています。

Amazon EC2 Auto Scaling を効果的に使用するには、アプリケーション、インスタンスタイプ、サービス要件に対して適切なスケーリングトリガーを設定する必要があります。

注意: お使いの環境は、レイテンシー、ディスク I/O、CPU 使用率、リクエスト数といったいくつかの統計を基にスケールできます。高度なシナリオの場合は、メモリなどのカスタムメトリクスに基づいて .ebextensions を使用することを検討してください。

解決方法セクションのステップを開始する前に、次のことを確認します。

解決方法

スケーリングトリガーを設定するには、AWS マネジメントコンソールまたはオプション設定から次のステップを実行します。

Elastic Beanstalk コンソールでスケーリングトリガーを設定する

1.    Elastic Beanstalk コンソールを開き、お使いの環境を選択します。

2.    ナビゲーションペインで、[設定] を選択します。

3.    [容量] のカテゴリで [変更] を選択します。

4.    [スケーリングトリガー] のセクションで、ニーズに基づいてトリガーのオプションを選択し、[適用] を選択します。

注意: Elastic Beanstalk は、aws:autoscaling:trigger 名前空間で Auto Scaling 設定の設定オプションを提供しています。この名前空間の設定は、それらが適用されるリソース別にまとめられています。

オプション設定でスケーリングトリガーを設定する

オプション設定で、.ebextensions を使用してスケーリング設定を変更します。

次のでは、スケーリングトリガーを CPU 使用率に基づくように変更します。すべてのインスタンスの CPU 使用率が 3 回連続して 2 分間で 80% を上回った場合、1 つのインスタンスが Auto Scaling グループに追加されます。すべてのインスタンスの CPU 使用率が同じ期間にわたって 2% を下回った場合、1 つのインスタンスが 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'

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合