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

Server Load Balancer:スロースタートの設定

最終更新日:May 23, 2026

Application Load Balancer (ALB) のサーバーグループで、スロースタート機能を有効にできます。この機能は、新しく追加されたバックエンドサーバーへのリクエストを段階的に増加させることで、トラフィックの急増によってサーバーに過大な負荷がかかるのを防ぎ、ウォームアップのための時間を確保します。

ユースケース

高トラフィックのシナリオで、バックエンドサーバーを手動または自動で追加すると、ALB はヘルスチェックに合格した直後から、設定された重みに従ってリクエストのルーティングを開始します。これにより、トラフィックスパイクが突然発生し、新しいサーバーに過大な負荷がかかり、CPU やメモリ使用率が高騰して多数のアクセスエラーが発生する可能性があります。

これを防ぐために、サーバーグループのスロースタートを有効にできます。ALB は新しいバックエンドサーバーへのトラフィックを段階的にルーティングし、トラフィックの急増を防ぎます。

このトピックでは、次のシナリオを使用します。インターネット向けの ALB インスタンスが中国 (杭州) リージョンにデプロイされています。このインスタンスには HTTP リスナーと 1 台のバックエンドサーバー ECS01 があります。より多くのトラフィックを処理するために、2 台目のサーバー ECS02 が追加されます。スロースタートを有効にすることで、リクエストは ECS02 に段階的に増加し、過負荷になるのを防ぎます。

image

注意事項

  • 新たに追加されたバックエンドサーバーは、サーバーグループにすでに少なくとも 1 台の正常なバックエンドサーバーが存在する場合にのみスロースタートモードに入ります。既存のサーバーや空のグループに最初に追加されたサーバーはスロースタートモードに入りません。

  • バックエンドサーバーは削除されるとスロースタートモードを終了します。再度追加された場合、ヘルスチェックに合格した後に再びスロースタートモードに入ります。

  • バックエンドサーバーはヘルスチェックに失敗するとスロースタートモードを終了し、再度チェックに合格した後に再びスロースタートモードに入ります。

  • ヘルスチェックが有効になっている場合、スロースタートはサーバーがチェックに合格した後に開始されます。無効になっている場合、スロースタートは直ちに開始されます。

前提条件

  • 標準の ALB インスタンスとサーバーグループが作成済みであること。詳細については、「ALB インスタンスの作成と管理」および「サーバーグループの作成と管理」をご参照ください。

  • ALB インスタンスにリスナーが設定され、そのリスナーがサーバーグループに関連付けられていること。詳細については、「HTTP リスナーの追加」をご参照ください。

  • ALB インスタンスのアクセスログが作成済みであること。詳細については、「アクセスログの作成」をご参照ください。

  • このトピックでは、2 つの ECS インスタンスを使用します。

    ECS01 と ECS02 はバックエンドサーバーとして使用され、各インスタンスで異なる Nginx サービスが実行されます。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    次の例は、ECS01 と ECS02 にテストアプリケーションをデプロイする方法を示しています。

    ECS01 にサービスをデプロイするコマンド

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS01." > index.html

    ECS02 にサービスをデプロイするコマンド

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS02." > index.html
  • ECS01 インスタンスがサーバーグループに追加され、ECS01 上のサービスがクライアントからアクセス可能であること。詳細については、「ALB インスタンスを使用した IPv4 サービスの迅速な負荷分散の実装」および「ALB インスタンスを使用した IPv6 サービスの迅速な負荷分散の実装」をご参照ください。

    クリックすると ALB インスタンスの設定が表示されます

    パラメーター

    説明

    ネットワークタイプ

    インターネット向け

    DNS 名:alb-1o44v******.cn-hangzhou.alb.aliyuncs.com

    リスナープロトコル

    HTTP、ポート 80

    バックエンドサーバー

    • ECS01 インスタンス

      • IP アドレス:10.0.2.50

      • ポート:80

      • 重み:100

    • ECS02 インスタンス

      • IP アドレス:10.0.2.51

      • ポート:80

      • 重み:100

ステップ 1:スロースタートの有効化

このステップでは、既存のサーバーグループでスロースタートを有効にする方法を説明します。この機能は、サーバーグループの作成時にも有効にできます。

  1. ALBコンソールにログインします。
  2. トップナビゲーションバーで、バックエンドサーバーがデプロイされているリージョンを選択します。このトピックでは [中国 (杭州)] を使用します。

  3. 左側のナビゲーションペインで、ALB > サーバーグループを選択します。

  4. サーバーグループ ページで、目的のサーバーグループを見つけ、その ID をクリックします。

  5. 詳細 タブの 基本情報 セクションで、基本情報の変更 をクリックします。

  6. 基本情報の変更 ダイアログボックスで、詳細設定 をクリックし、[スロースタート] スイッチをオンにします。

  7. スロースタートの持続時間30 秒に設定し、保存 をクリックします。

    説明

    これにより、ALB は 30 秒かけて新しいバックエンドサーバーへのトラフィックを増加させます。

ステップ 2:wrk を使用したクライアントトラフィックのシミュレーション

このトピックでは、64 ビット版の Alibaba Cloud Linux 3.2104 を実行するクライアントを例として使用します。wrk ツールのインストール手順は、オペレーティングシステムによって異なる場合があります。

  1. クライアントにログインし、コマンドラインインターフェイスを開きます。次のコマンドを順に実行して、wrk ツールをインストールします。

    yum -y install git make gcc
    git clone https://github.com/wg/wrk.git
    yum install unzip
    cd wrk
    make
  2. 次のコマンドを実行して、ALB バックエンドサーバー上のサービスにストレステストを実施します。

    ./wrk -c 1000 -d 6000s -t 3 -H “Connection:Close” http://<ALB-domain-name>

    パラメーター:

    • -c:connections。各スレッドで維持される同時接続数です。

    • -d:duration。テストの期間です。s は秒を示します。

    • -t:threads。使用するスレッド数です。同時ユーザーをシミュレートします。

    • -H:header。各リクエストに追加する HTTP ヘッダーです。たとえば、-H “Connection:Close” は、非永続的な接続を示すヘッダーを追加します。

ステップ 3:ECS02 バックエンドサーバーの追加

重要

ストレステストが終了する前に、必ずバックエンドサーバーをサーバーグループに追加してください。

  1. ALBコンソールにログインします。
  2. 上部メニューで、ALB インスタンスがデプロイされているリージョンを選択します。

  3. 左側のナビゲーションペインで、ALB > サーバーグループ を選択します。

  4. サーバーグループ ページで、目的のサーバーグループを見つけ、操作 列の バックエンドサーバーの変更 をクリックします。

  5. バックエンドサーバー タブで、バックエンドサーバーの追加 をクリックします。

  6. バックエンドサーバーの追加 パネルで、ECS02 インスタンスを選択し、次へ をクリックします。

  7. ポート/重み ウィザードで、ECS02 インスタンスのポートを 80 に設定し、ウェイトはデフォルトの 100 のままにして、OK をクリックします。

ステップ 4:結果の検証

  1. ALBコンソールにログインします。
  2. 上部メニューで、ALB インスタンスがデプロイされているリージョンを選択します。

  3. インスタンスページで、対象インスタンスの ID をクリックします。

  4. アクセスログ タブをクリックします。基本情報 セクションで、保存先パス の横にあるリンクをクリックして Log Service (SLS) コンソールを開きます。下図に、新しいバックエンドサーバー ECS02 のトラフィックを表示する方法を示します。

    アクセスログから、スロースタート期間中に新しいバックエンドサーバー ECS02 にトラフィックが段階的に分散されていることがわかります。

    测试结果-cn (2).png

    番号

    説明

    次のクエリを入力して、新しいバックエンドサーバー ECS02 にルーティングされたトラフィックを表示します。

    alb-80ri6****** and upstream_addr : "10.0.2.51:80"

    各フィールドの説明は次のとおりです。

    • alb-80ri6****** は ALB インスタンスの ID を指定します。

    • upstream_addr はバックエンドサーバーの IP アドレスとポートを指定します。この例では、ECS02 のプライベート IP アドレスとポートを入力します。

    クエリの期間を選択します。この例では、1 分 が選択されています。

    [検索と分析] をクリックすると、新しいバックエンドサーバー ECS02 のトラフィックが表示されます。

関連ドキュメント