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

Auto Scaling:ALB のバックエンドサーバーあたりの QPS メトリクスを使用した ECI インスタンスの自動スケーリング

最終更新日:Jun 09, 2026

Auto Scaling は、Application Load Balancer (ALB) のサーバーグループから取得したバックエンドサーバーあたりの QPS メトリクスを使用して、ECS または Elastic Container Instance (ECI) インスタンスを自動的に追加または削除するスケーリングアクティビティをトリガーできます。

基本概念

  • Application Load Balancer (ALB):高い弾力性と大規模な処理能力を備えた、HTTP、HTTPS、QUIC トラフィック向けのアプリケーション層ロードバランシングサービスです。詳細については、「Application Load Balancer とは」をご参照ください。

  • QPS (Query per Second、秒間クエリ数):ALB インスタンスが 1 秒間に処理する HTTP/HTTPS リクエストの数 (レイヤー 7 リスナーのみ) です。バックエンドサーバーあたりの QPS = ALB の合計 QPS / サーバーグループ内のバックエンドインスタンス数。

ユースケース

ALB がクライアントトラフィックをバックエンドの ECS または ECI インスタンスに分散する際、QPS が急増した場合は、パフォーマンスと安定性を維持するために迅速なスケールアウトが必要になります。

バックエンドサーバーあたりの QPS メトリクスに基づくイベントトリガー型タスクを設定することで、スケーリングアクティビティを自動的にトリガーできます。

  • バックエンドサーバーあたりの QPS がしきい値を超えた場合、スケールアウトによってインスタンスが追加され、インスタンスあたりの負荷が軽減され、応答時間が改善されます。

  • バックエンドサーバーあたりの QPS がしきい値を下回った場合、スケールインがインスタンスを削除し、コストを削減します。

前提条件

  • RAM ユーザーを使用する場合は、ALB リソースを管理するための権限を付与してください。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

  • VPC と vSwitch が作成されていること。詳細については、「VPC と vSwitch の作成」をご参照ください。

ステップ 1:Application Load Balancer の設定

  1. Application Load Balancer (ALB) インスタンスを作成します。

    詳細については、「ALB インスタンスの作成と管理」をご参照ください。

    主要なパラメータ:

    パラメータ

    説明

    [インスタンス名]

    インスタンスの名前を入力します。

    alb-qps-instance

    VPC

    インスタンスの VPC を選択します。

    vpc-test****-001

    [ゾーン]

    ゾーンと vSwitch を選択します。

    説明

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

    • ゾーン:杭州ゾーン G と杭州ゾーン H

    • vSwitch:vsw-test003 と vsw-test002

  2. ALB サーバーグループを作成します。

    詳細については、「サーバーグループの作成と管理」をご参照ください。

    主要なパラメータ:

    パラメータ

    説明

    [サーバーグループのタイプ]

    サーバーグループタイプを選択します。ECI インスタンスをバックエンドサーバーとして追加するには、[サーバー] を選択します。

    サーバー

    サーバーグループ名

    サーバーグループの名前を入力します。

    alb-qps-servergroup

    VPC

    VPC を選択します。この VPC 内のサーバーのみがサーバーグループに参加できます。

    重要

    ステップ 1 で ALB インスタンスに使用したものと同じ VPC を選択してください。

    vpc-test****-001

  3. リスナーを設定します。

    1. 左側のナビゲーションバーで、[Application Load Balancer (ALB)] > インスタンス を選択します。

    2. インスタンス ページで、ALB インスタンス (alb-qps-instance) を見つけ、操作 列の リスナーの作成 をクリックします。

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

      説明

      この例では、[リスナーポート] を 80 に設定します。必要に応じて、別のポートを使用してください。

    4. [サーバーグループの選択] ウィザードで、[サーバーグループ] リストからサブステップ 2 で作成したサーバーグループ (alb-qps-servergroup) を選択し、次へ をクリックします。

    5. [設定確認] ウィザードで設定を確認し、 送信 をクリックします。その後、 [OK] をクリックします。

  4. 設定が完了したら、インスタンスの詳細 タブをクリックして、ALB インスタンスの Elastic IP アドレス (EIP) を取得します。インスタンスの詳細 タブでは、インスタンスの詳細インスタンスの詳細 であり、各ゾーンに インスタンスの詳細 が割り当てられていることを確認できます。たとえば、杭州ゾーン G と杭州ゾーン H には、それぞれ一意の EIP があります。

ステップ 2:スケーリンググループの作成と ALB サーバーグループの関連付け

この例では、ECI スケーリンググループを使用します。ECS スケーリンググループの手順も同様です。

  1. スケーリンググループを作成します。

    詳細については、「スケーリンググループの作成」をご参照ください。主要なパラメータ (その他は必要に応じて設定):

    パラメータ

    説明

    [スケーリンググループ名]

    スケーリンググループの名前を入力します。

    alb-qps-scalinggroup

    [タイプ]

    スケーリンググループ内のコンピューティングリソースのインスタンスタイプです。

    ECI

    [インスタンス設定ソース]

    インスタンスの作成に使用する設定です。

    [ゼロから作成]

    [最小インスタンス数]

    Auto Scaling は、インスタンス数がこの値を下回ると、インスタンスを追加します。

    1

    [最大インスタンス数]

    Auto Scaling は、インスタンス数がこの値を超えると、インスタンスを削除します。

    5

    [VPC]

    ALB インスタンスと同じ VPC を選択します。

    vpc-test****-001

    [VSwitch の選択]

    ALB インスタンスと同じ vSwitch を選択します。

    vsw-test003 と vsw-test002

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

    ステップ 1 で作成した ALB サーバーグループを選択します。ポートを 80 に設定します。

    • サーバーグループ:sgp-****/alb-qps-servergroup

    • ポート:80

  2. スケーリング設定を作成して有効化します。

    詳細については、「ECI インスタンスのスケーリング設定の作成」をご参照ください。主要なパラメータ (その他は必要に応じて設定):

    パラメータ

    説明

    [コンテナーグループの設定]

    コンテナグループの vCPU とメモリの仕様を選択します。

    • CPU:2 vCPU

    • メモリ:4 GiB

    [コンテナーの設定]

    コンテナイメージとイメージバージョンを選択します。

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

    • イメージバージョン:latest

  3. スケーリンググループを有効化します。

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

    説明

    スケーリンググループを有効化すると、スケールアウトがトリガーされ、1 つの ECI インスタンスが作成されます (最小数が 1 に設定されているため)。

  4. スケーリンググループ内で ECI インスタンスとそのコンテナが実行されていることを確認します。

  5. 手順1 から ALB インスタンスの EIP にアクセスし、nginx サービスにアクセスできることを確認します。デフォルトの nginx ウェルカムページ (Welcome to nginx!) は、デプロイが成功したことを示しています。

ステップ 3:QPS ベースのイベントトリガー型タスクの設定

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

  2. スケーリングルールを作成します。

    インスタンスを 1 つ追加する「Add1」と、インスタンスを 1 つ削除する「Reduce1」の 2 つのシンプルなスケーリングルールを作成します。詳細については、「スケーリングルールの管理」をご参照ください。

  3. イベントトリガー型タスクを作成します。

    1. スケーリンググループ ページで、スケーリンググループ (alb-qps-scalinggroup) を見つけ、操作 列の 詳細の表示 をクリックします。

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

      「Add1」に関連付けられた「Alarm1」と、「Reduce1」に関連付けられた「Alarm2」の 2 つのイベントトリガー型タスクを作成します。詳細については、「イベントトリガー型タスクの管理」をご参照ください。

      • イベントトリガー型タスク (アラーム 1): [メトリック名] には (ALB) サーバーグループのスタンドアロン QPS を選択し、条件を [平均 >= 100 回/秒] に設定します。

        説明

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

        その他のパラメータについては、[監視タイプ][システム監視] に、[統計期間][1 分] に設定します。タスクが [3] 回連続して発生した後にアラームをトリガーするように設定します。[有効期間] では、[設定なし] を選択します。[スケーリングルール] では、[Add1] を選択します。

      • イベントトリガー型タスク (アラーム 2): [メトリック名](ALB) サーバーグループのスタンドアロン QPS を選択します。条件を [平均値 < 50 回/秒][統計期間][1 分] とし、[3] 回連続で発生した場合にアラームをトリガーするように設定します。[スケーリングルール][Reduce1] を選択します。

QPS 監視の検証

ストレス テスト ツール (Apache JMeter、ApacheBench、または wrk) を使用して ステップ 1 から ALB インスタンス EIP に 500 QPS を送信し、Auto Scaling コンソールの モニタリング ページで結果を観察します。

QPS がアラームしきい値を超えると、イベントトリガー型タスクがスケールアウトをトリガーします。Auto Scaling は、インスタンス数が設定された最大値 (この例では 5) に達するまで ECI インスタンスを 1 つずつ追加します。インスタンス数が増えるにつれて、各インスタンスが処理する負荷は軽減されます。