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

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

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

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post または AWS Premium Support を通じて AWS Support チームにお問い合わせください。

ロードベースのインスタンスを使用すると、受信トラフィックの変化に応じてインスタンスをすばやく開始または停止できます。 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 アラームをアップスケーリングまたはダウンスケーリングのしきい値として使用できます。これらは、スタックと同じリージョンにある必要があります。カスタムアラームの作成方法の詳細については、「Amazon CloudWatch アラームの作成」を参照してください。

    注記

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

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

    スケーリングパラメータ

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

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

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

    • スケーリング後、メトリクスを無視する – スケーリングイベントが発生してから、 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] (いいえ) に切り替えます。