すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:ALB のインスタンスあたりの QPS メトリックに基づく ECI インスタンスの自動スケーリング

最終更新日:Mar 01, 2026

Application Load Balancer (ALB) は、アプリケーション層で HTTP、HTTPS、QUIC のトラフィックをバックエンドサーバーに分散します。Auto Scaling は、[(ALB) バックエンドサーバーあたりの QPS] メトリックを監視し、メトリックが定義したしきい値を超えた場合にバックエンドサーバーを自動的に追加または削除します。ALB の詳細については、「ALB とは」をご参照ください。

このメトリックは次のように計算されます。

バックエンドサーバーあたりの QPS = ALB が 1 秒あたりに受信したクライアントリクエストの合計 / ALB バックエンドサーバーグループ内の ECS インスタンスまたは Elastic Container Instance の合計数

このメトリックは、レイヤー 7 リスナーにのみ適用されます。

  • スケールアウト:バックエンドサーバーあたりの QPS が上限しきい値以上 (>=) になると、Auto Scaling はバックエンドサーバーを追加して、サーバーあたりの負荷を軽減します。

  • スケールイン:バックエンドサーバーあたりの QPS が下限しきい値 (<) を下回ると、Auto Scaling はバックエンドサーバーを削除してコストを削減します。

利用シーン

  • ALB はクライアントリクエストを一元的に受信し、バックエンドの Elastic Compute Service (ECS) インスタンスまたは Elastic Container Instance (ECI) インスタンスに分散します。

  • トラフィックの急増時には、応答時間と安定性を維持するために迅速なスケールアウトが必要です。

  • トラフィックが少ない期間には、自動スケールインによってアイドル状態のバックエンドサーバーを削除し、コストを削減するメリットがあります。

前提条件

ステップ 1:ALB インスタンスの設定

ALB インスタンスの作成

以下のパラメーターで ALB インスタンスを作成します。詳細な手順については、「ALB インスタンスの作成と管理」をご参照ください。

パラメーター

説明

インスタンス名

ALB インスタンスの名前。

alb-qps-instance

VPC

ALB インスタンスの VPC。

vpc-test\*\*\*\*-001

ゾーン

ゾーンと vSwitch。

ゾーン:中国 (杭州) ゾーン G および中国 (杭州) ゾーン H。vSwitch:vsw-test003 および vsw-test002。

説明

ALB はクロスゾーンデプロイメントをサポートしています。高可用性を確保するために、少なくとも 2 つのゾーンを選択してください。

サーバーグループの作成

以下のパラメーターでサーバーグループを作成します。詳細な手順については、「サーバーグループの作成と管理」をご参照ください。

パラメーター

説明

サーバーグループタイプ

サーバーグループのタイプ。[サーバー] は、グループに ECI インスタンスが含まれることを指定します。

サーバー

サーバーグループ名

サーバーグループの名前。

alb-qps-servergroup

VPC

ALB インスタンスの VPC と一致する必要があります。この VPC 内のサーバーのみ追加できます。

vpc-test\*\*\*\*-001

リスナーの設定

  1. 左側のナビゲーションウィンドウで、[ALB] > [インスタンス] を選択します。

  2. [インスタンス] ページで、lb-qps-instance という名前の ALB インスタンスを見つけ、[操作] 列の [リスナーの作成] をクリックします。

  3. [Server Load Balancer の設定] ウィザードの [リスナーの設定] ステップで、[リスナーポート]80 に設定し、他のパラメーターはデフォルト値のままにして、[次へ] をクリックします。

    説明

    ビジネス要件に応じて、[リスナーポート] パラメーターに別のポート番号を指定できます。この例ではポート 80 を使用します。

  4. [Server Load Balancer の設定] ウィザードの [サーバーグループの選択] ステップで、[サーバーグループ] フィールドの下にある [サーバータイプ] を選択し、alb-qps-servergroup という名前のサーバーグループを選択して、[次へ] をクリックします。

    Select server group

  5. [設定の確認] ステップで、設定内容を確認し、[送信] をクリックします。確認メッセージで [OK] をクリックします。

ALB の Elastic IP アドレスの取得

リスナーの設定が完了したら、[インスタンス詳細] タブをクリックして、ALB インスタンスの Elastic IP アドレス (EIP) を取得します。

ALB instance details

ステップ 2:スケーリンググループの作成

このステップでは、ECI タイプのスケーリンググループを作成します。ECS タイプのスケーリンググループを作成する手順は若干異なります。適用可能なパラメーターについては、コンソールをご参照ください。

スケーリンググループの作成

スケーリンググループに以下のパラメーターを設定します。詳細な手順については、「スケーリンググループの作成」をご参照ください。

パラメーター

説明

スケーリンググループ名

スケーリンググループの名前。

alb-qps-scalinggroup

タイプ

計算能力のインスタンスタイプ。

ECI

インスタンス設定ソース

Auto Scaling がインスタンスを作成する方法。

ゼロから作成

最小インスタンス数

インスタンス数がこの値を下回った場合、Auto Scaling はこの数に達するまでインスタンスを作成します。

1

最大インスタンス数

インスタンス数がこの値を超えた場合、Auto Scaling はこの数に達するまでインスタンスを削除します。

5

VPC

ALB インスタンスの VPC と一致する必要があります。

vpc-test\*\*\*\*-001

vSwitch

ALB インスタンスが使用する vSwitch を選択します。

vsw-test003 および vsw-test002

ALB および NLB サーバーグループの関連付け

ステップ 1 で作成した ALB サーバーグループを選択し、ポートを入力します。

サーバーグループ:sgp-\*\*\*\*/alb-qps-servergroup。ポート:80。

スケーリング設定の作成と有効化

スケーリング設定に以下のパラメーターを設定します。詳細な手順については、「ECI タイプのスケーリング設定の作成」をご参照ください。

パラメーター

説明

コンテナーグループ設定

コンテナーグループの仕様 (vCPU とメモリ)。

vCPU:2 vCPU。メモリ:4 GiB。

コンテナー設定

コンテナーイメージとイメージタグ。

コンテナーイメージ:registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx。イメージタグ:latest。

スケーリンググループの有効化

スケーリンググループを有効にします。詳細な手順については、「スケーリンググループの有効化または無効化」をご参照ください。

説明

この例では、[最小インスタンス数]1 に設定されています。スケーリンググループを有効にすると、Auto Scaling は自動的に 1 つの ECI インスタンスを作成します。

スケーリンググループの確認

  1. ECI インスタンスのステータスを確認し、コンテナーが期待どおりに実行されていることを確認します。

  2. ステップ 1 で作成した ALB インスタンスの EIP にアクセスし、nginx が正しく応答することを確認します。

    Verify nginx access

ステップ 3:監視タスクの作成

スケーリングルールの作成

  1. Auto Scaling コンソールにログインします。Auto Scaling コンソール

  2. 2 つのスケーリングルールを作成します。詳細については、「スケーリングルールの設定」をご参照ください。

    • Add1:1 つの ECI インスタンスを追加するスケールアウトルール。

    • Reduce1:1 つの ECI インスタンスを削除するスケールインルール。

監視タスクの作成

  1. [スケーリンググループ] ページで、alb-qps-scalinggroup という名前のスケーリンググループを見つけ、[操作] 列の [詳細] をクリックします。

  2. [スケーリングルールとタスク] > [イベントトリガータスク] > [イベントトリガータスク (システム)] を選択し、[イベントトリガータスクの作成] をクリックします。

  3. 2 つの監視タスクを作成します。詳細については、「監視タスクの管理」をご参照ください。

    Alarm1 (スケールアウト)

    • [(ALB) バックエンドサーバーあたりの QPS] メトリックを選択します。

    • アラートトリガー条件を [平均値(Average) >= 100 Count/s] に設定します。

    • Add1 スケーリングルールに関連付けます。

    説明

    バックエンドサーバーあたりの QPS = 合計 QPS / ECI インスタンスの合計数

    Alarm1 configuration

    Alarm2 (スケールイン)

    • [(ALB) バックエンドサーバーあたりの QPS] メトリックを選択します。

    • アラートトリガー条件を [Average(Average) < 50 Count/s] に設定します。

    • Reduce1 スケーリングルールに関連付けます。

    Alarm2 configuration

スケーリング動作の確認

Apache JMeter、ApacheBench、wrk などのストレステストツールを使用して、ステップ 1 で作成した ALB インスタンスの EIP をテストします。QPS が 500 に達するシナリオをシミュレートします。

テスト中、Auto Scaling コンソールの [モニタリング] タブで次の動作を観察します。

  1. バックエンドサーバーあたりの QPS がアラートしきい値 (100 Count/s) を超えると、スケールアウトの監視タスクが起動し、ECI インスタンスが追加されます。

  2. 新しいインスタンスが追加されるたびに、ワークロードがより多くのサーバーに分散され、バックエンドサーバーあたりの QPS 値が減少します。

  3. バックエンドサーバーあたりの QPS がスケールインしきい値 (50 Count/s) を下回ると、スケールインのタスクが起動し、余分なインスタンスが削除されます。