カスタムルーティングリスナーは、クライアントから指定されたバックエンドサーバーにトラフィックを転送するシナリオに最適です。 このトピックでは、カスタムルーティングリスナーの仕組み、カスタムルーティングリスナーの制限、およびカスタムルーティングリスナーとインテリジェントルーティングリスナーの違いについて説明します。 このトピックでは、カスタムルーティングリスナーの使用例についても説明します。
カスタムルーティングリスナーの仕組み
カスタムルーティングリスナーを設定すると、Global Accelerator (GA) は、リスナーのポート範囲、エンドポイントグループのプロトコルとポート範囲、およびエンドポイント (vSwitch) のIPアドレスに基づいてポートマッピングテーブルを生成します。 次に、GAは、ポートマッピングテーブルに基づいて、クライアントから特定のIPアドレスとポートを持つバックエンドサーバーにトラフィックをルーティングします。
次のワークフローでは、カスタムルーティングリスナーの動作について説明します。
いいえ | 説明 |
1 | GAは、カスタムルーティングリスナーのポート範囲、エンドポイントグループの宛先ポート範囲、およびエンドポイントvSwitchのIPアドレスに基づいて、ポートマッピングテーブルを生成します。 |
2 | クライアントは、利用可能なポート (アクセラレーションポート) に関する情報を照会する要求をGAに送信します。 |
3 | GAはポートマッピングテーブルを照会し、ビジネスロジックに基づいてトラフィックを許可するバックエンドサーバーを選択します。 |
4 | GAは、選択したバックエンドサーバーのポートをマッピングするアクセラレーションポートに関する情報を返します。 加速ポートは、リスナーのポート範囲から選択されます。 |
5 | クライアントは、割り当てられた高速化ポートと高速化IPアドレスを使用してサービスにアクセスします。 |
6 | カスタムルーティングリスナーは、ポートマッピングテーブルに基づいて、クライアントから対応するバックエンドサーバーにトラフィックを転送します。 |
制限事項
カスタムルーティングリスナーを使用する場合は、次の制限事項に注意してください。
加速エリアの制限
高速IPアドレスはIPv4のみをサポートします。
リスナーポート範囲の制限
1 ~ 65499の範囲のポートは、カスタムルーティングリスナーに指定できます。 ポート25、250、4789、および4790は、システムによって予約される。 ポートマッピングテーブルが生成されると、システム予約されたポートは無視される。 従量課金Global Acceleratorインスタンスのポート6081は設定できません。
指定するリスナーポート範囲によって、リスナーに関連付けられているエンドポイントグループ内のポートの数と、エンドポイント内のすべてのvSwitchのIPアドレスの数が決まります。 次の要件を満たす必要があります。
リスニングポートの数 (システム予約ポートの数を差し引いたもの) ≥ エンドポイントグループ内のすべてのポートの数 × エンドポイント内のすべてのvSwitchのIPアドレスの数
。 リスナーのポート範囲を大きく指定することを推奨します。たとえば、エンドポイントグループの宛先ポート範囲を81-85に設定し、エンドポイントとして使用されるすべてのvSwitchが16個のIPアドレスを提供する場合、リスナーポート範囲には少なくとも80個のポートが含まれている必要があります。 リスナーのポート範囲を101 180に設定できます。 リスナーのポート範囲を101 179に設定した場合、リスナーは作成できません。
リスナーポートを設定した後、ポート範囲を変更するときに、ポートマッピングテーブルに存在するポートを削除することはできません。
例えば、元のリスニングポート範囲は100 10000であり、マッピングは、ポートマッピングテーブル内のエンドポイントのポート199と宛先ポート80との間で確立される。 リスニングポートの範囲を20〜10000に拡張できます。 リスニングポートの範囲を200 10000に絞り込むことはできません。
同じGAインスタンスの異なるリスナーのリスニングポートは重複できません。
リスナープロトコルの制限
TCPとUDPのみがサポートされています。 エンドポイントグループの設定時にプロトコルを指定できます。 TCP、UDP、または両方のプロトコルを指定できます。
バックエンドサービスの制限
カスタムルーティングリスナーのエンドポイントとしてvSwitchのみを指定できます。 トラフィックの宛先として、Elastic Compute Service (ECS) インスタンスのプライベートIPアドレスとポートのみを指定できます。
エンドポイントとして機能するvSwitchのサブネットマスクは、
/17
から/28
の範囲である必要があります。 vSwitchは少なくとも16のIPアドレスを提供する必要があります。vSwitchをエンドポイントとして指定すると、vSwitchへのすべてのトラフィックはデフォルトで拒否されます。 vSwitchのECSインスタンスがトラフィックを受信する場合は、vSwitchへのすべてのトラフィックを許可するようにリスナーの設定を変更するか、ECSインスタンスのIPアドレスとポートを指定してECSインスタンスへのトラフィックを許可します。
エンドポイントとして機能するvSwitchに関連付けられているネットワークアクセス制御リスト (ACL) と、ターゲットECSインスタンスのセキュリティグループルールは、トラフィックを許可する必要があります。 ネットワークACLとセキュリティグループルールの設定方法については、「ネットワークACLの作成と管理」および「セキュリティグループルールの追加」をご参照ください。
エンドポイントグループとエンドポイントのヘルスチェックはサポートされていません。 カスタムルーティングリスナーは、エンドポイントのヘルスステータスに関係なく、ポートマッピングテーブルに基づいてトラフィックを転送します。
例
カスタムルーティングリスナーは、クライアントから特定のバックエンドサーバーにトラフィックを転送するシナリオに最適です。 たとえば、マルチプレイヤーオンラインゲームでカスタムルーティングリスナーを使用する場合、システムは、ポートマッピングテーブルとビジネスロジックに基づいて、同じ特性 (地理的な場所やプレイヤーレベルなど) を持つプレイヤーをバックエンドサーバー上の同じセッションに割り当てることができます。
この例では、同じvSwitchにデプロイされた3つのECSインスタンスを使用してゲームアプリケーションを構築します。 vSwitchのCIDRブロックは10.1.1.0/28です。 ECSインスタンスのIPアドレスは10.1.1.1、10.1.1.2、および10.1.1.3です。 サービスを提供するために使用されるポートは、TCPポート80、81、および82である。 サービスの提供に使用されるECSインスタンスは2つだけです。 ECSインスタンスのIPアドレスは10.1.1.1と10.1.1.2です。
次の情報に基づいてカスタムルーティングリスナーとエンドポイントを設定し、ユーザーエクスペリエンスを向上させることができます。
リスナーのポート範囲: 1001〜1050
エンドポイントグループのポート範囲: 80 ~ 82 プロトコル: TCP。
エンドポイントとしてvSwitchを選択します。 IPアドレスが10.1.1.1および10.1.1.2のECSインスタンスへのトラフィックを許可します。 ポート範囲を80-82に設定します。
設定が完了すると、GAは次のポートマッピングテーブルを生成します。
この例では、理解を容易にするためにポートが順番にマッピングされる。 実際のポートマッピングテーブルは異なっていてもよい。 ListCustomRoutingPortMappingsおよびListCustomRoutingPortMappingsByDestination操作を呼び出して、実際のポートマッピングテーブルを照会できます。
アクセラレーションポート | 宛先IPアドレス | 宛先ポート | トラフィックポリシー |
1001 | 10.1.1.1 | 80 | 許可 |
1002 | 10.1.1.1 | 81 | 許可 |
1003 | 10.1.1.1 | 82 | 許可 |
1004 | 10.1.1.2 | 80 | 許可 |
1005 | 10.1.1.2 | 81 | 許可 |
1006 | 10.1.1.2 | 82 | 許可 |
1007 | 10.1.1.3 | 80 | 拒否 |
1008 | 10.1.1.3 | 81 | 拒否 |
1009 | 10.1.1.3 | 82 | 拒否 |
次の図に示すように、異なるプレイヤーは、GAによって割り当てられた高速IPアドレスとポートを介してゲームアプリケーションにアクセスできます。 プレイヤー1は、ポート1001と対応する高速IPアドレスを介してゲームにアクセスします。 プレイヤー2は、ポート1003と対応する高速IPアドレスを介してゲームにアクセスします。 プレーヤー1およびプレーヤー2からのトラフィックは、IPアドレス10.1.1.1のECSインスタンスにルーティングされます。 プレーヤー3は、ポート1005と対応する高速化IPアドレスを介してゲームにアクセスし、トラフィックはIPアドレス10.1.1.2のECSインスタンスにルーティングされます。 ECSインスタンスがトラフィックを受信しないため、プレーヤー4はIPアドレス10.1.1.3のECSインスタンスにアクセスできません。
インテリジェントルーティングリスナーとカスタムルーティングリスナーの違い
次の表に、インテリジェントルーティングリスナーとカスタムルーティングリスナーの機能を示します。
機能 | インテリジェントルーティングリスナー | カスタムルーティングリスナー |
TCP、UDP、HTTP、およびHTTPSがサポートされています。 | TCPとUDPがサポートされています。 エンドポイントグループの設定時にプロトコルを指定できます。 TCP、UDP、または両方のプロトコルを指定できます。 | |
インテリジェントルーティングリスナーは、基本リスナーと高度なリスナーで構成されます。 ポートの数と制限は、リスナーのタイプによって異なります。 | 指定するリスナーポート範囲によって、リスナーに関連付けられているエンドポイントグループのポート数とエンドポイントのIPアドレス数の積が決まります。 次の要件を満たす必要があります。 リスナーポートを設定した後、ポート範囲を変更するときに、ポートマッピングテーブルに存在するポートを削除することはできません。 | |
サポートされています。 | サポートされていません。 | |
IPv4、IPv6、およびデュアルスタックをサポートします。 | IPv4 のみがサポートされます。 | |
サポートされるバックエンドサービスの種類は、バックエンドサービスがデプロイされている場所によって異なります。
| Alibaba CloudのvSwitch トラフィックを転送するvSwitchで、1つ以上のECSインスタンスのプライベートIPアドレスと宛先ポートを指定できます。 | |
サポートされています。 | サポートされていません。 | |
サポートされています。 | サポートされていません。 | |
サポートされています。 | サポートされています。 | |
機能がサポートされているかどうかは、リスナープロトコルに基づいています。
| 既定ではサポートされていません。 この機能を使用する場合は、アカウントマネージャーに連絡してください。 | |
サポートされています。 | サポートされていません。 |