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

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

最終更新日:Oct 22, 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 を使用したクライアントトラフィックのシミュレーション

このトピックでは、Alibaba Cloud Linux 3.2104 の 64 ビット版を実行するクライアントを例として使用します。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 のトラフィックを表示します。

関連ドキュメント