このトピックでは、トラフィック分散機能を使用して、異なるリージョンのエンドポイントグループに転送されるクライアント要求の割合を制御する方法について説明します。

シナリオ

企業は、中国 (北京) および中国 (上海) リージョンのサーバーにサービスを展開します。 TCPプロトコルが使用され、ポート80が開いている。 クライアントは中国 (北京) 地域にあります。 同社は加速リージョンとして中国 (北京) を指定し、Global Accelerator (GA) コンソールの中国 (北京) および中国 (上海) リージョンにエンドポイントグループを作成します。 既定では、GAは、中国 (北京) リージョンのクライアントからのすべてのリクエストを、中国 (北京) リージョンにデプロイされているエンドポイントグループのサーバーに転送します。 中国 (上海) リージョンのエンドポイントグループは、セカンダリエンドポイントグループとして機能します。 中国 (北京) リージョンのエンドポイントグループに異常がある場合、クライアント要求は中国 (上海) リージョンのエンドポイントグループに転送されます。 ビジネス開発により、中国 (北京) リージョンのクライアントからのリクエストを、中国 (上海) リージョンにデプロイされているエンドポイントグループのサーバーに転送したいと考えています。 また、切り替えプロセス中にクライアントが通常どおりサービスにアクセスできるようにしたいと考えています。

中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を変更できます。 たとえば、トラフィック分配率を100% から50% に変更できます。 このようにして、中国 (北京) リージョンのクライアントからのリクエストの50% は、中国 (上海) リージョンのエンドポイントグループのサーバーに転送されます。 クライアントが通常どおりサービスにアクセスできる場合は、トラフィック分散率を0% に変更します。 これにより、中国 (北京) リージョンのクライアントからのすべてのリクエストが、中国 (上海) リージョンのエンドポイントグループのサーバーに転送されます。 これにより、中国 (北京) リージョンのクライアントからのトラフィックのシームレスな切り替えが保証されます。

シナリオ

前提条件

GAインスタンスと基本帯域幅プランが購入されます。 詳細については、「t2182871.html#concept_2182871」をご参照ください。

手順

手順

ステップ1: サーバーの展開

この例のサーバーは、Alibaba Cloud Linux 3.2104 64ビットオペレーティングシステムを実行しています。 テストの実行に使用されるコマンドは、オペレーティングシステムによって異なります。 詳細については、オペレーティングシステムのユーザーガイドを参照してください。

  1. 中国 (北京) および中国 (上海) リージョンにサーバーを配置し、TCPプロトコルを指定してサーバーのポート80を開きます。
  2. 中国 (北京) リージョンのクライアントでコマンドプロンプトを開き、curlコマンドを実行して、中国 (北京) リージョンおよび中国 (上海) リージョンのサーバーにアクセスします。
    curl <オリジンサーバーのIPアドレス>
    次の図は、返されるリージョン情報を示しています。
    図 1. 中国 (北京) リージョンのサーバーにアクセスする
    中国 (北京) リージョンのサーバーにアクセスする
    図 2. 中国 (上海) リージョンのサーバーにアクセスする
    中国 (上海) リージョンのサーバーにアクセスする

ステップ2: アクセラレーションリージョンを追加する

  1. Global Acceleratorコンソールにログインします。
  2. [インスタンス] ページで、作成したGAインスタンスを見つけ、そのIDをクリックします。
  3. [アクセラレーションエリア] タブをクリックし、[中国北部] タブの [リージョンの追加] をクリックします。
  4. [アクセラレーションエリアの追加] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
    項目 説明
    [リージョン] アクセラレーションサービスを必要とするユーザーがいるリージョンを選択します。

    この例では、中国 (北京) が選択されています。

    帯域幅 リージョンに帯域幅を割り当てます。

    この例では、2 Mbit/sの帯域幅が割り当てられる。

    インターネットプロトコル GAに接続するためにユーザーが使用するインターネットプロトコルを選択します。

    この例では、IPv4が選択されています。

    リージョンを追加すると、システムは GA インスタンスに追加されたリージョンに、高速化 IP アドレスを割り当てます。 この高速化IPアドレスは、指定されたリージョンのユーザーからGAを介した指定されたバックエンドサーバーへのデータ転送を高速化するために使用されます。 中国 (北京) アクセラレーション地域

手順3: リスナーとエンドポイントグループの追加

  1. インスタンスの詳細ページで、[リスナー] タブをクリックし、[リスナーの追加] をクリックします。
  2. [リスナーとプロトコルの設定] ウィザードページで、次のリスナー情報を指定し、[次へ] をクリックします。
    リスナー
    項目 説明
    リスナー名 リスナーの名前を入力します。

    名前は2 ~ 128文字で、英数字、アンダースコア (_) 、ハイフン (-) を使用できます。 先頭は英字とする必要があります。

    プロトコル リスナーのプロトコルを選択します。

    この例では、TCPが選択されています。

    ポート番号 リスナーポートを指定します。 ポートは、要求を受信し、エンドポイントに転送するために使用される。 有効な値: 1 ~ 65499

    この例では、値は80に設定されています。

    クライアントのアフィニティ クライアントアフィニティを有効にするかどうかを指定します。 クライアントアフィニティが有効になっている場合、クライアントがステートフルアプリケーションに接続するときに、同じクライアントからのリクエストが同じエンドポイントに転送されます。

    この例では、[無効] が選択されています。

  3. [エンドポイントグループの設定] ウィザードページで、中国 (北京) リージョンにデプロイされているエンドポイントグループに次のパラメーターを設定します。
    中国 (北京) リージョンのエンドポイントグループ
    項目 説明
    エンドポイントグループ名 エンドポイントグループの名前を入力します。
    [リージョン] エンドポイントグループを作成するリージョンを選択します。 クライアントがアクセスするサーバーは、指定したリージョンにデプロイする必要があります。

    この例では、中国 (北京) が選択されています。

    トラフィック分布率 エンドポイントグループのトラフィック分配率を設定します。 単位: % 。 有効値: 0~100。

    この例では、デフォルト値100が使用されます。

    説明 TCPまたはUDPリスナーのエンドポイントグループを作成する場合にのみ、トラフィック分散率を設定できます。
    バックエンドサービス バックエンドサービスをAlibaba Cloudにデプロイするかどうかを指定します。

    この例では、[Off Alibaba Cloud] が選択されています。

    クライアントIPの保存 クライアントIPアドレスを保持するかどうかを指定します。 この機能を有効にすると、バックエンドサーバーはクライアントのIPアドレスを取得できます。

    この例では、クライアントIPアドレスの保存は無効です。

    エンドポイント エンドポイントは、クライアント要求の宛先である。 エンドポイントを追加するには、次のパラメーターを指定します。
    • バックエンドサービスタイプ: この例では、カスタムIPアドレスが選択されています。
    • Backend Service: バックエンドサーバーのパブリックIPアドレスを入力します。
    • 重み: エンドポイントの重みを入力します。 有効な値:0~255 。 GAは、重みに基づいてネットワークトラフィックをエンドポイントに分散します。
    重要 エンドポイントの重みが0に設定されている場合、GAはエンドポイントへのネットワークトラフィックの配信を停止します。 操作は慎重に行ってください。
    ヘルスチェック ヘルスチェック機能を有効にするか無効にするかを指定します。

    この機能を有効にすると、ヘルスチェックを使用してエンドポイントのステータスを確認できます。 ヘルスチェックの設定方法については、「Enable and manage health checks」をご参照ください。

    この例では、ヘルスチェック機能が有効になっています。

  4. [+ Endpoint Groupの追加] をクリックして中国 (上海) リージョンに別のエンドポイントグループを追加し、[サブステップ] 3 のパラメーターの説明に基づいてエンドポイントグループを設定し、[次へ] をクリックします。
    中国 (上海) リージョンのエンドポイントグループ
  5. [確認] ウィザードページで、リスナーとエンドポイントの設定を確認し、[送信] をクリックします。

ステップ4: トラフィック分布の結果をテストする

この例では、次のコマンドを使用してクライアント要求をシミュレートし、トラフィック分散結果をテストします。
echo > curl.txt; for ((i=0;i< <リクエスト数> ;i ++)); curl -s <Accelerated IP address> >> curl.txt; done; beijing_count='grep北京curl.txt | wc -l' エコー; "北京数: ${beijing_count}"; shurltxt "${shanghai_count}";
パラメーターの説明:
  • リクエスト数: シミュレートされるクライアント要求の数。 たとえば、[リクエスト数] を100に設定した場合、100のリクエストはクライアントから送信されます。
  • Accelerated IP address: GAによって割り当てられた高速IPアドレス。
  • Beijing count: 中国 (北京) リージョンのサーバーで処理されたリクエストの数。
  • 上海数: 中国 (上海) リージョンのサーバーで処理されたリクエストの数。
  1. 中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を100% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
    中国 (北京) リージョンのクライアントでコマンドプロンプトを開き、100リクエストを送信します。 次に、中国 (北京) リージョンのサーバーで処理されたリクエストの数と、中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。 トラフィック分配率を100% に設定する

    この結果は、中国 (北京) リージョンのクライアントからのすべてのリクエストが中国 (北京) リージョンのエンドポイントグループに転送されることを示しています。

  2. 中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を50% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
    1. 中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を50% に変更します。 詳細については、「エンドポイントグループのトラフィック分散率の設定」をご参照ください。
    2. 中国 (北京) リージョンのクライアントから100リクエストを送信し、中国 (北京) リージョンのサーバーで処理されたリクエストの数と中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。
      トラフィック分配率を50% に設定する

      結果は、中国 (北京) リージョンと中国 (上海) リージョンの各エンドポイントグループが50のリクエストを処理することを示しています。

  3. 中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を0% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
    1. 中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を0% に変更します。 詳細については、「エンドポイントグループのトラフィック分散率の設定」をご参照ください。
    2. 中国 (北京) リージョンのクライアントから100リクエストを送信し、中国 (北京) リージョンのサーバーで処理されたリクエストの数と中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。
      トラフィック分配率を0% に設定する

      この結果は、中国 (北京) リージョンのクライアントからのすべてのリクエストが、中国 (上海) リージョンのサーバーに転送され、処理されることを示しています。