このトピックでは、リスナーの概要について説明します。Classic Load Balancer (CLB) インスタンスを作成した後、CLB インスタンスに少なくとも 1 つのリスナーを設定する必要があります。リスナーは、リクエストがバックエンドサーバーに転送される方法を定義します。リスナーは接続リクエストをリッスンし、転送ルールで指定されたスケジューリングアルゴリズムに基づいてリクエストをバックエンドサーバーに転送します。CLB リスナーは、TCP、UDP、HTTP、および HTTPS プロトコルをサポートしています。
サポートされているリスナーの種類と使用シナリオ
CLB は、レイヤー 4 リスナーとレイヤー 7 リスナーをサポートしています。レイヤー 4 リスナーは TCP または UDP プロトコルを使用し、レイヤー 7 リスナーは HTTP または HTTPS プロトコルを使用します。ビジネス要件に基づいてリスナーの種類を選択してください。
種類 | プロトコル | 説明 | シナリオ |
レイヤー 4 リスナー | TCP |
|
詳細については、「TCP リスナーを追加する」をご参照ください。 |
UDP |
| 時間効率が高いことが要求されるが、ビデオ会議や金融ニュースと情報のリアルタイムプッシュなど、比較的低い信頼性を許容できるシナリオ。 詳細については、「UDP リスナーを追加する」をご参照ください。 | |
レイヤー 7 リスナー | HTTP |
| Web アプリケーションや小規模モバイルゲームなど、データコンテンツを識別する必要があるアプリケーション。 詳細については、「HTTP リスナーを追加する」をご参照ください。 |
HTTPS |
| 暗号化された転送が必要な HTTP アプリケーション。 詳細については、「HTTPS リスナーを追加する」をご参照ください。 |
ポート構成の制限
ポート | 説明 | 制限 |
リスナーポート (フロントエンドポート) | CLB がクライアントリクエストを受信するために使用します。 | CLB インスタンスの場合:
|
サーバーポート (バックエンドポート) | バックエンドサーバーがサービスを提供するポート。 | CLB インスタンスの場合:
説明
|
リスナーの機能比較
機能 | レイヤー 4 リスナー | レイヤー 7 リスナー | ||
TCP リスナー | UDP リスナー | HTTP リスナー | HTTPS リスナー | |
バックエンドプロトコル | TCP | UDP | HTTP | HTTP |
スケジューリングアルゴリズム |
|
|
|
|
証明書 | 関係ありません。SSL 証明書を使用する場合は、バックエンドサーバーにデプロイします。 | 関係ありません | 関係ありません | CLB に証明書を追加します。 |
ログの評価 | サポートされていません | サポートされていません | サポートされています | サポートされています |
秒単位のモニタリング | サポートされています | サポートされています | サポートされていません | サポートされていません |
プライマリ/セカンダリサーバーグループ | サポートされています | サポートされています | サポートされていません | サポートされていません |
転送ルール | サポートされていません。必要に応じて、バックエンドサーバーで転送ルールを設定します。 | サポートされています。リスナーの転送ルールを設定します。 | ||
特定のリージョンでは、レイヤー 7 リスナーをサポートしていません。詳細については、「CLB が利用可能なリージョン」をご参照ください。
CLB リスナーはインスタンス帯域幅を共有する
CLB インスタンスが使用できる帯域幅は制限されています。重要度の異なるサービスがバックエンドサーバーにデプロイされている場合は、コサービス専用の帯域幅を設定し、他のサービスが残りのネットワーク容量を共有するように設定できます。このアプローチにより、主要ビジネスの安定性と可用性が向上します。CLB は、インスタンスの帯域幅をリスナー間で共有することをサポートしています。
仕組み
帯域幅が 10 Mbit/s の CLB インスタンスがあるとします。リスナー A、B、および C が作成されています。リスナー A に 4 Mbit/s の専用帯域幅を設定した場合、3 つのリスナーの帯域幅の使用状況は次のとおりです。
リスナー A が使用できる最大帯域幅は、リスナー B および C で受信されるトラフィック量に関係なく、常に 4 Mbit/s です。
リスナー B と C は、残りの 6 Mbit/s の帯域幅 (10 Mbit/s - 4 Mbit/s) を共有します。
リスナー B にトラフィックが来ない場合、リスナー C は最大 6 Mbit/s の帯域幅を使用できます。リスナー C にトラフィックが到達しない場合、リスナー B にも同じことが当てはまります。
リスナー B と C の両方にトラフィックが受信される場合、6 Mbit/s の帯域幅はトラフィック量の比率に基づいて分配されます。たとえば、同じ量のトラフィックを受信した場合、それぞれ約 3 Mbit/s の帯域幅を使用できます。
リスナー B または C のいずれかが 6 Mbit/s の帯域幅を使い果たした場合、もう一方はリクエストを受信できなくなり、そのリスナーでパケット損失が発生します。
3 つのリスナーすべてで、受信トラフィックが割り当てられた帯域幅を超えない限り、パケット損失は発生しません。トラフィックが割り当てられた帯域幅を超えると、パケット損失が発生します。
CLB サービスがインスタンスの購入時に指定した最大帯域幅に到達できない場合は、「一部のシナリオで接続が最大帯域幅に到達できないのはなぜですか。」をご参照ください。
リスナーの帯域幅調整を有効にする
CLB インスタンスのリスナーを作成する場合、[プロトコルとリスナー] ステップで、[詳細設定] の横にある [変更] をクリックし、[リスナーの帯域幅調整] を有効にします。
この機能を有効にする場合は、現在のリスナーの専用帯域幅を指定します。この専用帯域幅は、ページに表示されるように、CLB インスタンスの最大帯域幅から他のすべてのリスナーに割り当てられた帯域幅を引いた値以下である必要があります。
説明リスナーの専用帯域幅を有効にした後、リスナーに設定されたすべての転送ポリシーはこの専用帯域幅を共有します。
この機能を無効にする場合、現在のリスナーを含む、専用帯域幅のないすべてのリスナーは、CLB インスタンスの残りの帯域幅 (CLB インスタンスの最大帯域幅から特定のリスナーに割り当てられた帯域幅を引いた値) を共有します。
参照
CLB は、レイヤー 4 およびレイヤー 7 での基本的な負荷分散をサポートしています。CLB リスナーは、レイヤー 4 で TCP および UDP プロトコルを、レイヤー 7 で HTTP および HTTPS をサポートしています。
Alibaba Cloud は、次世代レイヤー 7 ロードバランサー Application Load Balancer (ALB) と次世代レイヤー 4 ロードバランサー Network Load Balancer (NLB) をリリースしました。次世代ロードバランサーは、CLB よりも高いパフォーマンスをサポートしています。ALB は、レイヤー 7 での負荷分散、高度な転送ルール、および QUIC プロトコルをサポートしています。NLB は CLB よりも高いパフォーマンスをサポートし、自動スケーリングをサポートしています。ALB と NLB を使用することをお勧めします。