自動負荷ベースのスケーリングの使用 - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

自動負荷ベースのスケーリングの使用

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

負荷ベースのインスタンスにより、着信トラフィックの変化に応じてインスタンスを迅速に起動または停止できます。AWS OpsWorksスタックは Amazon CloudWatch データを使用して、レイヤーごとの以下のメトリクスを計算します。このメトリクスは、各レイヤー内のすべてのインスタンスにわたる平均値を表します。

  • CPU: CPU の平均使用率 (例、80%)

  • メモリ: メモリの平均使用率 (例、60%)

  • 負荷: システムが 1 分で実行する平均計算作業。

これらのメトリックスのいずれか、またはすべてに、上限しきい値と下限しきい値を定義します。カスタム CloudWatch アラームをしきい値として使用することもできます。

しきい値を超えると、スケーリングイベントがトリガーされます。以下の内容を指定することで、AWS OpsWorks スタックがスケーリングイベントに対応する方法を決定します。

  • 起動または停止するインスタンス数。

  • AWS OpsWorks スタックがしきい値を超えた後にインスタンスを起動または削除するまでの時間。たとえば、CPU 使用率は少なくとも 15 分間はしきい値を超過する必要があります。この値により、トラフィックの短い変動を無視することができます。

  • AWS OpsWorks スタックがインスタンスを起動または停止した後にメトリクスのモニタリングを再開するまでの時間。レイヤーが引き続きしきい値を超えているかどうかを評価する前に、起動されたインスタンスがオンラインになる、または停止されたインスタンスがシャットダウンされるまで十分な時間が経過する必要があります。

スケーリングイベントが発生した場合、AWS OpsWorks スタックは負荷ベースのインスタンスのみを起動または停止します。24/7 インスタンスまたは時間ベースのインスタンスは起動または停止されません。

注記

負荷ベースの自動スケーリングでは、新しいインスタンスは作成されません。ユーザーが作成したインスタンスのみが起動および停止されます。したがって、予測される最大負荷を処理するのに十分な負荷ベースのインスタンスを事前に備える必要があります。

負荷ベースのインスタンスを作成するには
  1. [インスタンス] ページの [+ インスタンス] を選択して、インスタンスを追加します。[アドバンスト] を選択してから、[負荷ベース] を選択します。

    
                         [Add instance] ページの負荷ベースのスケーリングオプション
  2. インスタンスを設定し、[+ インスタンスを追加] を選択して、インスタンスをレイヤーに追加します。

必要な数のインスタンスが作成されるまで、この手順を繰り返します。必要に応じて、後からインスタンスを追加または削除することができます。

負荷ベースのインスタンスをレイヤーに追加したら、負荷ベースのスケーリングを可能にし、設定を指定する必要があります。負荷ベースのスケーリング設定はインスタンスのプロパティではなく、レイヤーのプロパティであるため、レイヤーが負荷ベースのインスタンスを起動または停止する時を指定します。負荷ベースのインスタンスを使用するレイヤーごとに個別に指定する必要があります。

負荷ベースの自動スケーリングを可能にし設定するには
  1. ナビゲーションペインの [インスタンス][負荷ベース] を選択し、続いて適切なレイヤーの [編集] を選択します。

    
                        レイヤーのインスタンスの編集操作
  2. [Load-based auto scaling enabled] (負荷ベースの自動スケーリングの有効化) を [On] に設定します。次に、しきい値とスケーリングパラメータを設定し、インスタンスを追加する方法とタイミングを定義します。

    
                        負荷ベースのスケーリングのしきい値
    レイヤー平均しきい値

    スケーリングしきい値は、レイヤーのすべてのインスタンス間で平均された以下の値に基づいて設定できます。

    • [Average CPU] (平均CPU) – レイヤーの平均 CPU 使用率 (合計に対する割合)。

    • [Average memory] (平均メモリ) – レイヤーの平均メモリ使用率 (合計に対する割合)。

    • [Average load] (平均負荷) – レイヤーの平均負荷。

      負荷を計算する方法の詳細については、ウィキペディアで [Load (computing)] (負荷(コンピューティング)) を参照してください。

    しきい値を超えるとスケーリングイベントが発生し、より多くのインスタンスが必要な場合はアップスケーリングし、より少ないインスタンスが必要な場合はダウンスケーリングします。AWS OpsWorksスタックはその後、スケーリングパラメータに基づいてインスタンスを追加または削除します。

    カスタム CloudWatch アラーム

    最大 5 つのカスタム CloudWatch アラームを、アップスケーリングまたはダウンスケーリングのしきい値として使用することができます。これらは、スタックと同じリージョンにある必要があります。カスタムアラームの方法の詳細については、「Creating Amazon CloudWatch Alarms」(Amazon CloudWatch アラームの作成) を参照してください。

    注記

    カスタムアラームを使用するには、サービスロールを更新して cloudwatch:DescribeAlarms を許可する必要があります。AWS OpsWorks スタックはこの機能を最初に使用するときにロールを更新しますが、手動でロールを編集することもできます。詳細については、「ユーザーに代わって AWS OpsWorks スタックがタスクを実行できるようにする」を参照してください。

    負荷ベース設定に複数のアラームが設定されている場合、あるアラームが INSUFFICIENT_DATA メトリックアラーム状態になっていると、他のアラームが ALARM 状態になっていてもロードベースのインスタンススケーリングができません。オートスケーリングは、すべてのアラームが OK or ALARM の状態の場合にのみ実行できます。CloudWatch アラームの使用の詳細については、「Amazon CloudWatch User Guide」(Amazon CloudWatch ユーザーガイド) の「Using Amazon CloudWatch alarms」(Amazon CloudWatch アラームの使用) を参照してください。

    スケーリングパラメータ

    以下のパラメータは、AWS OpsWorks スタックがスケーリングイベントを管理する方法を制御します。

    • [Start servers in batches of] (サーバをバッチで起動) - スケーリングイベントが発生したときに追加または削除するインスタンスの数。

    • [If thresholds are exceeded] (しきい値を超えた場合) - AWS OpsWorks スタックはスケーリングイベントをトリガーする前に、負荷がアップスケーリングのしきい値を超えているか、ダウンスケーリングのしきい値を下回っている必要がある時間 (分単位)。

    • [After scaling, ignore metrics (スケーリング後、メトリックスを無視する)] - スケーリングイベントの発生後、AWS OpsWorks スタックがメトリクスを無視し、追加のスケーリングイベントを抑制する時間 (分単位)。

      例えば、AWS OpsWorks スタックは上限イベントの後新しいインスタンスを追加しますが、インスタンスは起動および設定されるまで負荷を下げません。新しいインスタンスがオンラインになってリクエストを処理するまで (通常、これには数分かかります)、追加のスケーリングイベントが発生するポイントはありません。この設定を使用すると、新しいインスタンスがオンラインになるまでの間 AWS OpsWorks スタックにスケーリングイベントを抑制させることができます。

      この設定を増やすことで、[Average CPU] (平均CPU)、[Average memory] (平均メモリ)、[Average load] (平均負荷) などのレイヤーの平均値が一時的に不一致になった場合に、スケーリングの急激な変動を防ぐことができます。

      例えば、CPU 使用率が制限を超え、メモリ使用量がダウンスケールに近い場合、インスタンスのアップスケールイベントの直後に、メモリのダウンスケールイベントが続く可能性があります。これを回避するには、[After scaling, ignore metrics] (スケーリング後、メトリックスを無視する) 設定で分単位で時間を増やすことができます。この例では、CPU のスケーリングが発生しますが、メモリのダウンスケールイベントは発生しません。

  3. 負荷ベースのインスタンスを追加するには、[+ Instance] (+ インスタンス) を選択し、設定を行い、[Add Instance] (インスタンスを追加) を選択します。予測される最大負荷を処理するのに十分な負荷ベースのインスタンス数になるまで繰り返します。次に、[Save] (保存) を選択します。

注記

レイヤーに新しい負荷ベースのインスタンスを 追加するには、[Load-based] (負荷ベース) ページを開き、[Add a load-based instance] (ロードベースインスタンスを追加) (負荷ベースのインスタンスをレイヤーにまだ追加していない場合) を選択するか、[+ Instance] (+ インスタンス) (1 つ以上の負荷ベースのインスタンスがすでにレイヤーにある場合) を選択します。次に、このセクションで前述したように、インスタンスを設定します。

既存の負荷ベースのインスタンスをレイヤーに追加するには
  1. ナビゲーションペインの [Instances] (インスタンス) で、[Load-based] (負荷ベース) を選択します。

  2. レイヤーの負荷ベースの自動スケーリングをすでに有効にしている場合は、[+ Instance] (+ インスタンス) を選択します。それ以外の場合は、[Add a load-based instance] (負荷ベースのインスタンスを追加) を選択します。[EXisting] (既存) タブ。

    
                        既存の負荷ベースのインスタンスをレイヤーに追加する
  3. [EXisting] (既存) タブで、インスタンスを選択します。リストには、負荷ベースのインスタンスのみが表示されます。

    注記

    既存のインスタンスを使用しなくなった場合は、[New] (新規) タブで、前述の手順に従って新しいインスタンスを作成します。

  4. [Add Instance] (インスタンスを追加) を選択して、インスタンスをレイヤーに追加します。

いつでも、負荷ベースの自動スケーリングの設定を変更したり、負荷ベースの自動スケーリングを無効にしたりすることができます。

負荷ベースのスケーリングを無効にするには
  1. ナビゲーションペインの [Instances] (インスタンス) で、[負荷ベース] (Load-based) を選択してから、適切なレイヤーの [edit] (編集) を選択します。

  2. [Load-based auto scaling enabled] (負荷ベースの自動スケーリングの有効化) を [No] (いいえ) に切り替えます。