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

:curlコマンドを使用してSLBインスタンスのセッション持続性の有効性をテストする方法

最終更新日:Sep 19, 2024

概要

ここでは、curlコマンドを使用してSLBのセッション持続性の有効性をテストする方法について説明します。

説明

このトピックでは例を示します。

サンプル情報

  • SLBインスタンス: SLBインスタンスのパブリックIPアドレスが1.1.1.1で、バックエンドサーバーが2つのECSインスタンスであると仮定します。

  • 2つのバックエンドECSインスタンス: どちらもWebサービスを実行し、内部ネットワークIPアドレスはそれぞれ192.168.32.175と192.168.32.177です。 両方のECSインスタンスのcheck.phpファイルにテストページを作成します。 このページには、ECSインスタンスのCookieと内部IPアドレス情報が表示されます。 check.phpコードは次のとおりです。

    <? php
        setcookie('mycookie','cookietest');
        echo 'Cookie is: ';
        echo ($_COOKIE['mycookie']);
        echo '</br>';
        echo 'Current ECS is : ';
        echo '</br>';
        var_dump($_SERVER['SERVER_ADDR']);
    ? >

    check.phpにアクセスします。 同様の出力が表示されます。

  • テストアドレス: http:// 1.1.1.1/check.php

  • クライアントテストマシン: Linuxでは、テストアドレスにアクセスできます。

テスト手順

レイヤー4 (TCP/UDP) およびレイヤー7 (HTTP/HTTPS) リスニングのセッション持続性の機能テストは異なり、別々に説明されます。

レイヤー4リスナー

セッション維持の有効性をテストするには、次の手順を実行します。

  1. クライアントのテストマシンにログオンします。

  2. 新しいテストスクリプトcheck_4.shを作成します。内容は次のとおりです。

    for ((a=1;a<=30;a++))
    do
        curl http://1.1.1.1/check.php 2>/dev/null | grep 'ECS'
        sleep 1
    done
    説明

    : デフォルトでは、スクリプトは30回テストされます。 変更できます。You can modify テスト時間を変更するには、aonce=30です。

  3. 次のコマンドを実行してセッション永続性テストを実行します。

    sh check_4.sh

    次のシステム出力が表示されます。

    • すべてのバックエンドECSインスタンスの返された内部IPアドレスが同じである場合、セッション持続性が適用されます。

    • バックエンドECSインスタンスの返されたイントラネットIPアドレスが固定されていない場合、セッションの永続化は失敗します。

レイヤー7リスナー

セッション維持の有効性をテストするには、次の手順を実行します。

  1. クライアントのテストマシンにログオンします。

  2. 次のコマンドを実行して、SLBインスタンスのCookie値を保存します。

    説明

    : レイヤー7 SLBのAlibaba Cloudセッション維持は、デフォルトでCookieを挿入します。 次のリクエストの開始に使われる curlコマンドはCookieを保存または送信しません。 テストする前に、対応するCookieを保存する必要があります。 それ以外の場合は、 カールのテスト結果はランダムになり、テスト結果の精度に影響します。

    curl -D test.cookie http://1.1.1.1/check.php

  3. 新しいテストスクリプトcheck_7.shを作成します。内容は次のとおりです。

    for ((a=1;a<=30;a++))
    do
        curl -b test.cookie http://1.1.1.1/check.php 2>/dev/null | grep 'ECS'
        sleep 1
    done
    説明

    : デフォルトでは、スクリプトは30回テストされます。 変更できます。You can modify テスト時間を変更するには、aonce=30です。

  4. 次のコマンドを実行してセッション永続性テストを実行します。

    sh check_7.sh

    次のシステム出力が表示されます。

    • すべてのバックエンドECSインスタンスの返された内部IPアドレスが同じである場合、セッション持続性が適用されます。

    • バックエンドECSインスタンスの返されたイントラネットIPアドレスが固定されていない場合、セッションの永続化は失敗します。

関連トピック

SLBのセッション維持が無効です。

適用範囲

  • SLB