サービスが複数のリージョンにデプロイされている場合、トラフィック分散機能を使用して、異なるリージョンのエンドポイントグループに分散されるトラフィックの割合を制御できます。
シナリオ
企業は、中国 (北京) および中国 (上海) リージョンのサーバーにサービスを展開します。 TCPプロトコルが使用され、ポート80が開いている。 クライアントは中国 (北京) 地域にあります。 同社は、アクセラレーションリージョンとして中国 (北京) を指定し、Global Accelerator (GA) コンソールの中国 (北京) および中国 (上海) リージョンにエンドポイントグループを作成します。 既定では、GAは、中国 (北京) リージョンのクライアントからのすべてのリクエストを、中国 (北京) リージョンにデプロイされているエンドポイントグループのサーバーに転送します。 中国 (上海) リージョンのエンドポイントグループは、セカンダリエンドポイントグループとして機能します。 中国 (北京) リージョンのエンドポイントグループに異常がある場合、クライアント要求は中国 (上海) リージョンのエンドポイントグループに転送されます。 ビジネス開発により、中国 (北京) リージョンのクライアントからのリクエストを、中国 (上海) リージョンにデプロイされているエンドポイントグループのサーバーに転送したいと考えています。 また、切り替え中にクライアントが期待どおりにサービスにアクセスできるようにしたいと考えています。
中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を変更できます。 たとえば、トラフィック分配率を100% から50% に変更できます。 このようにして、中国 (北京) リージョンのクライアントからのリクエストの50% は、中国 (上海) リージョンのエンドポイントグループのサーバーに転送されます。 クライアントが期待どおりにサービスにアクセスできる場合は、トラフィック分散率を0% に変更します。 これにより、中国 (北京) リージョンのクライアントからのすべてのリクエストが、中国 (上海) リージョンのエンドポイントグループのサーバーに転送されます。 これにより、中国 (北京) リージョンのクライアントからのトラフィックのシームレスな切り替えが保証されます。
手順
このトピックでは、従量課金の標準Global Acceleratorインスタンスを使用して、複数のエンドポイントグループにトラフィックを分散する方法について説明します。 従量課金制の標準Global Acceleratorインスタンスを作成する前に、次の情報に注意してください。
GA インスタンスではデータ転送量課金方式が使用されます。 基本帯域幅プランを従量課金 GA インスタンスに関連付ける必要はありません。 GA ネットワークを経由したデータ転送に対する課金は、Cloud Data Transfer (CDT) によって管理されます。 詳細については、「データ転送量課金」をご参照ください。
従量課金制のGlobal Acceleratorインスタンスを初めて使用するときは、 従量課金GAアクティベーションページをクリックし、プロンプトに従ってGlobal Acceleratorをアクティブにします。
ステップ1: サーバーの展開
この例のサーバーは、Alibaba Cloud Linux 3.2104 64ビットオペレーティングシステムを実行しています。 テストの実行に使用されるコマンドは、オペレーティングシステムによって異なります。 詳細については、オペレーティングシステムのユーザーガイドを参照してください。
中国 (北京) および中国 (上海) リージョンにサーバーを展開します。 次に、TCPプロトコルを指定し、サーバーのポート80を開きます。
中国 (北京) リージョンのクライアントでコマンドプロンプトを開き、カールコマンドを実行して、中国 (北京) リージョンおよび中国 (上海) リージョンのサーバーにアクセスします。
curl <Origin server IP address>
返されるリージョン情報を次の図に示します。
手順2: GAインスタンスに関する基本情報の設定
GAコンソールにログインします。
インスタンス ページで、[GAインスタンスの作成] をクリックします。 ビジネス要件に基づいて、[サブスクリプション標準インスタンス] または [従量課金標準インスタンス] を選択します。
この例では、従量課金標準インスタンスが選択されています。
[基本インスタンス設定] ステップで、次のパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
GAインスタンス名
GAインスタンスの名前を入力します。
インスタンスの課金方法
デフォルトでは、従量課金が選択されています。
従量課金の標準GAインスタンスのインスタンス料金、容量単位 (CU) 料金、およびデータ転送料金が課金されます。
インスタンス料金とCU料金の詳細については、「従量課金GAインスタンスの課金」をご参照ください。
データ転送料金の詳細については、「データ転送課金」をご参照ください。
リソースグループ
標準GAインスタンスが属するリソースグループを選択します。
リソースグループは、現在のAlibaba Cloudアカウントによってリソース管理で作成されたリソースグループである必要があります。 詳細については、「リソースグループの作成」をご参照ください。
ステップ3: アクセラレーションエリアの設定
アクセラレーションエリアを追加することで、GAユーザーのリージョンを指定し、そのリージョンに帯域幅を割り当てることができます。
[アクセラレーションエリアの設定] ステップで、パラメーターを設定し、[次へ] をクリックします。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
アクセラレーションエリア | ドロップダウンリストから1つ以上のリージョンを選択し、[追加] をクリックします。 この例では、中国北部エリアの中国 (北京) が選択されています。 |
帯域幅の割り当て | |
最大帯域幅 | アクセラレーションリージョンの最大帯域幅を指定します。 各アクセラレーションリージョンは、2〜10,000 Mbit/sの帯域幅範囲をサポートします。 最大帯域幅は帯域幅スロットリングに使用されます。 データ転送料金はCDTによって管理されます。 この例では、デフォルト値200 Mbit/sが使用されます。 重要 最大帯域幅に小さな値を指定すると、スロットリングが発生し、パケットがドロップされる可能性があります。 ビジネス要件に基づいて最大帯域幅を指定します。 |
IP プロトコル | Global Acceleratorへの接続に使用するIPバージョンを選択します。 この例では、デフォルト値IPv4が選択されています。 |
ISP 回線タイプ | Global AcceleratorインスタンスのISP回線タイプを選択します。 この例では、BGP (Multi-ISP) が選択されています。 |
手順4: リスナーの設定
リスナーは接続要求をリッスンし、指定したポートとプロトコルに基づいてエンドポイントに要求を配信します。 各リスナーはエンドポイントグループに関連付けられています。 ネットワークトラフィックを分散するリージョンを指定することで、エンドポイントグループをリスナーに関連付けることができます。 エンドポイントグループをリスナーに関連付けると、ネットワークトラフィックはエンドポイントグループ内の最適なエンドポイントに分散されます。
リスナーの設定ステップで、必要なパラメーターを設定し、[次へ] をクリックします。
次の表に、このトピックに関連するパラメーターのみを示します。 他のパラメーターにはデフォルト値を使用します。 詳細については、「TCPまたはUDPリスナーの追加」をご参照ください。
パラメーター | 説明 |
リスナー名 | リスナーの名前を入力します。 |
ルーティングタイプ | ルーティングタイプを選択します。 この例では、[インテリジェントルーティング] が選択されています。 |
プロトコル | リスナーのプロトコルを選択します。 1つのTCPまたはUDPリスナーに対してのみ、異なるリージョンにエンドポイントグループを作成できます。 この例では、TCPが選択されています。 |
ポート | リスナーがリクエストを受信してエンドポイントに転送するポートを指定します。 有効な値: 1 ~ 65499 この例では、ポート80が使用される。 |
手順5: エンドポイントグループとエンドポイントの設定
中国 (北京) リージョンでエンドポイントグループを設定します。
エンドポイントグループの設定 ステップで、次のパラメーターを設定し、[次へ] をクリックします。
次の表に、このトピックに関連するパラメーターのみを示します。 詳細については、「インテリジェントルーティングリスナーのエンドポイントグループの作成と管理」をご参照ください。
パラメーター
説明
リージョン
エンドポイントグループを作成するリージョンを選択します。 クライアントがアクセスするサーバーは、指定したリージョンにデプロイする必要があります。
この例では、中国 (北京) が選択されています。
エンドポイント設定
クライアント要求はエンドポイントにルーティングされます。 エンドポイントを追加するには、次のパラメーターを指定します。
バックエンドサービスタイプ: バックエンドサービスのタイプを選択します。 この例では、[カスタムIP] が選択されています。
バックエンドサービス: 高速化するバックエンドサービスのIPアドレスを入力します。 この例では、中国 (北京) リージョンのサーバーのパブリックIPアドレスが使用されます。
重み: エンドポイントの重みを入力します。 有効な値:0~255 。 GAは、重みに基づいてネットワークトラフィックをエンドポイントに分散します。 この例では、デフォルト値255が使用されます。
警告エンドポイントの重みを0に設定すると、Global Acceleratorはエンドポイントへのネットワークトラフィックの配信を停止します。 作業は慎重に行ってください。
クライアント IP の保持
クライアントIPアドレスを保持するかどうかを指定します。
この機能を有効にすると、バックエンドサーバーはクライアントのIPアドレスを取得できます。 詳細については、「クライアントIPアドレスの保存」をご参照ください。
この例では、デフォルト値 [保存しない] が使用されています。
トラフィックの配分
エンドポイントグループのトラフィック分散率を指定します。
有効値: 0~100。 この例では、デフォルト値100が使用されます。
説明TCPまたはUDPリスナーのエンドポイントグループを作成する場合にのみ、トラフィック分散率を設定できます。
ヘルスチェック
ヘルスチェック機能を有効にするかどうかを指定します。 この機能を有効にすると、ヘルスチェックを実行してエンドポイントのステータスを確認できます。
この例では、ヘルスチェック機能が有効になっています。
ヘルスチェックプロトコル
ヘルスチェックに使用するプロトコルを選択します。 有効な値:TCP、HTTP、および HTTPS。
この例では、TCPが選択されています。
ポート
ヘルスチェックのためにプローブパケットを送信するエンドポイントのポートを指定します。 有効な値: -1 から 65535
この例では、80が入力されます。
ヘルスチェックの間隔
2つの連続したヘルスチェックの間隔を指定します。 単位: 秒。 有効値:1 〜 50 。
この例では、2が入力されます。
正常しきい値
正常なエンドポイントが正常でないと見なされる前に発生する必要がある連続したヘルスチェックの失敗の数、または正常でないエンドポイントが正常であると見なされる前に発生する必要がある連続したヘルスチェックの成功の数。 設定可能な値は 1 から 100 です。
この例では、3が入力されます。
[設定の確認] ステップで、リスナーとエンドポイントの設定を確認し、[送信] をクリックします。
説明Global Acceleratorインスタンスの作成には3〜5分かかります。
(オプション) GAインスタンスを作成した後、[インスタンス] ページでインスタンスIDをクリックして、インスタンスの設定を表示できます。 インスタンスの詳細ページで、インスタンス情報 、リスナー 、アクセラレーションエリア などのタブをクリックできます。
中国 (上海) リージョンでエンドポイントグループを設定します。
インスタンスの詳細ページで、リスナー タブをクリックします。
リスナー タブで、管理するリスナーを見つけ、デフォルトのエンドポイントグループ 列のエンドポイントグループIDまたは番号をクリックします。
[Endpoint Group] タブの [Default Endpoint Group] セクションで、[+ Endpoint Groupの追加] をクリックします。
エンドポイントグループの追加 ページで、次の情報に基づいてパラメーターを設定し、[作成] をクリックします。
リージョン: [中国 (上海)] を選択します。
エンドポイント設定 のバックエンドサービス: 中国 (上海) リージョンのサーバーのパブリックIPアドレスを入力します。
その他のパラメーターは、中国 (北京) リージョンのエンドポイントグループのパラメーターと同じである必要があります。
ステップ6: トラフィック分布の結果をテストする
この例では、次のコマンドを使用してクライアント要求をシミュレートし、トラフィック分散結果をテストします。
echo > curl.txt; for ((i=0;i<<Number of requests>;i++)); do curl -s <Accelerated IP address> >> curl.txt; done; beijing_count=`grep Beijing curl.txt | wc -l`;echo "Beijing count: ${beijing_count}";shanghai_count=`grep Shanghai curl.txt | wc -l`;echo "shanghai count: ${shanghai_count}";
次のセクションでは、パラメーターについて説明します。
リクエスト数
: シミュレートされるクライアント要求の数。 たとえば、[リクエスト数]
を100に設定した場合、100のリクエストはクライアントから送信されます。Accelerated IP address
: GAによって割り当てられた高速IPアドレス。Beijing count
: 中国 (北京) リージョンのサーバーで処理されたリクエストの数。上海数
: 中国 (上海) リージョンのサーバーで処理されたリクエストの数。
中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を100% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
中国 (北京) リージョンのクライアントでコマンドプロンプトを開き、100リクエストを送信します。 次に、中国 (北京) リージョンのサーバーで処理されたリクエストの数と、中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。
結果は、中国 (北京) リージョンのクライアントからのすべてのリクエストが、中国 (北京) リージョンのエンドポイントグループに転送されることを示しています。
中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を50% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を50% に変更します。 詳細については、「エンドポイントグループのトラフィック分散率の設定」をご参照ください。
中国 (北京) リージョンのクライアントから100リクエストを送信し、中国 (北京) リージョンのサーバーで処理されたリクエストの数と中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。
結果は、中国 (北京) リージョンと中国 (上海) リージョンの各エンドポイントグループが50のリクエストを処理することを示しています。
中国 (北京) リージョンでより高い優先度が割り当てられているエンドポイントグループのトラフィック分散率を0% に設定すると、クライアント要求がどのようにスケジュールされるかを確認します。
中国 (北京) リージョンのエンドポイントグループのトラフィック分散率を0% に変更します。 詳細については、「エンドポイントグループのトラフィック分散率の設定」をご参照ください。
中国 (北京) リージョンのクライアントから100リクエストを送信し、中国 (北京) リージョンのサーバーで処理されたリクエストの数と中国 (上海) リージョンのサーバーで処理されたリクエストの数を確認します。
結果は、中国 (北京) リージョンのクライアントからのすべてのリクエストが、中国 (上海) リージョンのサーバーに転送され、処理されることを示しています。
関連ドキュメント
ヘルスチェックの詳細については、「ヘルスチェックの有効化と管理」をご参照ください。
複数のエンドポイントグループへのトラフィック分散の原則とシナリオの詳細については、「異なるシナリオのエンドポイントグループ間でのトラフィックの分散」をご参照ください。
トラフィック分散およびヘルスチェック機能を使用して、リージョン間でトラフィックを分散し、高可用性のための検出回復を実装できます。 詳細については、「GAを使用してリージョン間でデプロイされたアプリケーションを高速化し、高可用性のための発見リカバリを実装する」をご参照ください。