カスタムルーティングリスナーは、クライアントからのトラフィックを指定したバックエンドサーバーに転送する場合に最適です。 このトピックでは、カスタムルーティングリスナーの仕組み、カスタムルーティングリスナーの制限、およびカスタムルーティングリスナーとインテリジェントルーティングリスナーの違いについて説明します。 また、カスタムルーティングリスナーの使用方法の例も示します。
カスタムルーティングリスナーの仕組み
カスタムルーティングリスナーを構成すると、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 はシステムによって予約されています。 ポートマッピングテーブルが生成されると、システム予約ポートは無視されます。 従量課金制の GA インスタンスはポート 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 です。 サービスの提供には 2 つの ECS インスタンスのみが使用されます。 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 インスタンスにルーティングされます。 プレイヤー 4 は、ECS インスタンスがトラフィックを受信しないため、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 アドレスと宛先ポートを指定できます。 | |
サポートされています。 | サポートされていません。 | |
サポートされています。 | サポートされていません。 | |
サポートされています。 | サポートされています。 | |
この機能がサポートされているかどうかは、リスナープロトコルによって異なります。
| デフォルトではサポートされていません。 この機能を使用する場合は、アカウントマネージャーにお問い合わせください。 | |
サポートされています。 | サポートされていません。 |