このトピックでは、カスタムルーティングリスナーの仕組みと、カスタムルーティングリスナーの制限について説明します。 このトピックでは、カスタムルーティングリスナーの使用方法の例を示し、カスタムルーティングリスナーとインテリジェントルーティングリスナーの違いを比較します。

カスタムルーティングリスナーの仕組み

カスタムルーティングリスナーを設定すると、Global Accelerator (GA) は、リスナーのポート範囲、エンドポイントグループのプロトコルとポート範囲、およびエンドポイント (vSwitch) のIPアドレスに基づいてポートマッピングテーブルを生成します。 次に、GAは、ポートマッピングテーブルに基づいて、クライアントから指定されたIPアドレスとポートを持つバックエンドサーバーにトラフィックをルーティングします。

次のワークフローでは、カスタムルーティングリスナーの動作について説明します。ワークフロー
いいえ、できません。 説明
GAは、カスタムルーティングリスナーのポート範囲、エンドポイントグループの宛先ポート範囲、およびエンドポイントvSwitchのIPアドレスに基づいてポートマッピングテーブルを生成します。
クライアントは、利用可能なポート (アクセラレーションポート) に関する情報を照会する要求をGAに送信します。
GAはポートマッピングテーブルを照会し、ビジネスロジックに基づいてトラフィックを許可するバックエンドサーバーを選択します。
GAは、選択したバックエンドサーバーのポートをマッピングするアクセラレーションポートに関する情報を返します。 加速ポートは、リスナーのポート範囲から選択されます。
クライアントは、割り当てられた高速化ポートと高速化IPアドレスを使用してサービスにアクセスします。
カスタムルーティングリスナーは、ポートマッピングテーブルに基づいて、クライアントから対応するバックエンドサーバーにトラフィックを転送します。

制限事項

カスタムルーティングリスナーを使用する場合は、次の制限事項に注意してください。

リスナーポート範囲の制限

  • 1 ~ 65499の範囲のポートは、カスタムルーティングリスナーに指定できます。 ポート25、250、4789、および4790は、システムによって予約される。 ポートマッピングテーブルが生成されると、システム予約されたポートは無視される。
  • リスナーに指定するポート範囲によって、リスナーに関連付けられているエンドポイントグループのポートの合計と、エンドポイントとして使用されるすべてのvSwitchのIPアドレスが決まります。 次の不等式が満たされていることを確認します: リスナーポートの数-システム予約ポートの数 ≥ エンドポイントグループのポートの数 × エンドポイントとして使用されるすべてのvSwitchのIPアドレスの数。 リスナーのポート範囲を大きく指定することを推奨します。

    たとえば、エンドポイントグループの宛先ポート範囲が81〜85 (5つのポートを含む) に設定され、エンドポイントとして使用されるすべてのvSwitchが16のIPアドレスを提供する場合。 リスナーポート範囲には、80以上のポートが含まれている必要があります。 リスナーのポート範囲は、101 ~ 179ではなく、101 ~ 180に設定できます。 それ以外の場合、リスナーは作成できません。

  • リスナーポートが設定された後、ポート範囲を変更するときに、ポートマッピングテーブルに存在するポートを削除することはできません。

    例えば、元のリスニングポート範囲は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とセキュリティグループルールの詳細については、「t163519.html#task_189639セキュリティグループルールの追加」をご参照ください。
  • エンドポイントグループとエンドポイントのヘルスチェックはサポートされていません。 カスタムルーティングリスナーは、エンドポイントのヘルスステータスに関係なく、ポートマッピングテーブルに基づいてトラフィックを転送します。

カスタムルーティングリスナーは、クライアントから指定されたバックエンドサーバーにトラフィックを転送するシナリオに最適です。 たとえば、マルチプレイヤーオンラインゲームでカスタムルーティングリスナーを使用する場合、システムは、ポートマッピングテーブルとビジネスロジックに基づいて、同じ特性 (地理的な場所やプレイヤーレベルなど) を持つプレイヤーをバックエンドサーバー上の同じセッションに割り当てることができます。

この例では、同じ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.2.3 80 拒否
1008 10.1.2.3 81 拒否
1009 10.1.2.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、または両方のプロトコルを指定できます。

リスナーポート インテリジェントルーティングリスナーは、基本リスナーと高度なリスナーで構成されます。 ポートの数と制限は、リスナーのタイプによって異なります。

リスナーに指定するポート範囲によって、リスナーに関連付けられているエンドポイントグループのポートの合計と、エンドポイントとして使用されるすべてのvSwitchのIPアドレスが決まります。 次の不等式が満たされていることを確認します: リスナーポートの数-システム予約ポートの数 ≥ エンドポイントグループのポートの数 × エンドポイントとして使用されるすべてのvSwitchのIPアドレスの数。 リスナーのポート範囲を大きく指定することを推奨します。

リスナーポートが設定された後、ポート範囲を変更するときに、ポートマッピングテーブルに存在するポートを削除することはできません。

クライアントアフィニティ サポート。 サポートされていません。
高速IPアドレスのIPバージョン IPv4とIPv6がサポートされています。 IPv4 のみがサポートされます。
バックエンドサービスの種類 サポートされるバックエンドサービスの種類は、バックエンドサービスがデプロイされている場所によって異なります。
  • Alibaba Cloudの場合: 仮想プライベートクラウド (VPC) 、Classic Load Balancer (CLB) 、Application Load Balancer (ALB) 、Object Storage Service (OSS) 、Alibaba CloudのパブリックIPアドレスのECSインスタンス
  • Alibaba Cloudの外部: オリジンサーバーのカスタムIPアドレスとドメイン名
Alibaba CloudのvSwitch

トラフィックを転送するvSwitchで、1つ以上のECSインスタンスのプライベートIPアドレスと宛先ポートを指定できます。

ヘルスチェック サポート。 サポートされていません。
t2087382.html#task_2087382 サポート。 サポートされていません。
アクセスログ サポート。 サポート。
クライアントのIPアドレスを保存する 機能がサポートされているかどうかは、リスナープロトコルに基づいています。
  • HTTPまたはHTTPS: サポート
  • UDP: サポートされていません
  • TCP: バックエンドサービスタイプに依存
サポート。 vSwitchのネットワークACLと移行先ECSインスタンスのセキュリティグループルールがトラフィックを許可していることを確認する必要があります。