ファイル転送、メールの送受信、リモートログインなどのサービスのように、高い信頼性とデータ精度を必要とするが、転送速度には敏感でないサービスの場合、Classic Load Balancer (CLB) インスタンスに TCP リスナーを追加できます。TCP リスナーは、クライアントからの TCP リクエストをバックエンドサーバーに転送して処理します。
前提条件
CLB インスタンスを作成する必要があります。詳細については、「CLB インスタンスの作成と管理」をご参照ください。
手順
ステップ 1: リスナーの設定
Classic Load Balancer (CLB) コンソールにログインします。
トップメニューバーで、CLB インスタンスがデプロイされているリージョンを選択します。
次のいずれかの方法でリスナー設定ウィザードを開くことができます。
[インスタンス] ページで、対象のインスタンスを見つけ、[アクション] 列の [リスナー設定ウィザード] をクリックします。
[インスタンス] ページで、対象のインスタンスを見つけ、インスタンス ID をクリックします。インスタンス詳細ページの [リスナー] タブで、[リスナーの追加] をクリックします。
[プロトコルとリスナー] ウィザードで、次の設定を行い、[次へ] をクリックします。
リスナー設定
説明
リスナープロトコルの選択
[TCP] を選択します。
バックエンドプロトコル
リスナープロトコルとして [TCP] を選択した場合、[バックエンドプロトコル] は自動的に [TCP] に設定されます。
リスナーポート
リクエストを受信してバックエンドサーバーに転送するために使用されるリスナーポート。ポート番号は 1~65535 の範囲である必要があります。
タグ
[タグキー] と [タグ値] を選択または入力します。
詳細設定
[編集] をクリックして詳細設定を展開します。
スケジューリングアルゴリズム
次のスケジューリングアルゴリズムのいずれかを選択できます。デフォルトでは、[ラウンドロビン (RR)] が選択されています。スケジューリングアルゴリズムとそのユースケースの詳細については、「Server Load Balancer のスケジューリングアルゴリズムの概要」をご参照ください。
加重ラウンドロビン (WRR): 重みが大きいバックエンドサーバーがより多くのリクエストを受信します。
ラウンドロビン (RR): リクエストはバックエンドサーバーに順番に分散されます。
一貫性ハッシュ (CH):
4 要素ハッシュ: 送信元 IP、宛先 IP、送信元ポート、宛先ポートの 4 つの要素に基づく一貫性ハッシュ。同じストリームからのリクエストは、同じバックエンドサーバーにスケジュールされます。
送信元 IP ハッシュ: 送信元 IP アドレスに基づく一貫性ハッシュ。同じ送信元アドレスからのリクエストは、同じバックエンドサーバーにスケジュールされます。
説明保証性能インスタンスのみが一貫性ハッシュ (CH) スケジューリングアルゴリズムをサポートします。
TCP リスナーのスケジューリングアルゴリズムを [加重ラウンドロビン (WRR)] または [ラウンドロビン (RR)] から [一貫性ハッシュ (CH)] に変更することはできません。[一貫性ハッシュ (CH)] スケジューリングアルゴリズムを使用する場合は、新しい TCP リスナーを作成し、そのスケジューリングアルゴリズムを [一貫性ハッシュ (CH)] に設定する必要があります。
セッション維持の有効化
セッション維持はデフォルトで無効になっています。
セッション維持を有効にすると、SLB リスナーは同じクライアントからのリクエストを同じバックエンドサーバーに分散します。
TCP リスナーは IP アドレスベースのセッション維持を使用します。これは、同じ IP アドレスからのリクエストが同じバックエンドサーバーに転送されることを意味します。
アクセス制御の有効化
アクセス制御はデフォルトで無効になっています。
アクセス制御を有効にすると、アクセス制御方法を選択し、リスナーのホワイトリストまたはブラックリストとしてアクセス制御ポリシグループを設定できます。
ホワイトリスト: 指定された IP アドレスの SLB インスタンスへのアクセスを許可。ネットワーク ACL で指定された IP アドレスまたは CIDR ブロックからのリクエストのみが転送されます。ホワイトリストは、特定の IP アドレスからのアクセスのみを許可する場合に適用されます。ホワイトリストが正しく設定されていない場合、サービスに悪影響が及ぶ可能性があります。ホワイトリストを設定すると、ホワイトリストに追加された IP アドレスからのリクエストのみがリスナーによって転送されます。
ホワイトリストが設定されていても、IP アドレスが追加されていない場合、リスナーはすべてのリクエストを転送します。
ブラックリスト: 指定された IP アドレスの SLB インスタンスへのアクセスを禁止。ネットワーク ACL で指定された IP アドレスまたは CIDR ブロックからのリクエストは拒否されます。ブラックリストは、特定の IP アドレスからのアクセスを拒否する場合に適用されます。
ブラックリストが設定されていても、IP アドレスが追加されていない場合、リスナーはすべてのリクエストを転送します。
ホワイトリスト: ネットワーク ACL で指定された IP アドレスまたは CIDR ブロックからのリクエストのみが転送されます。ホワイトリストは、特定の IP アドレスからのアクセスのみを許可する場合に適用されます。ホワイトリストが正しく設定されていない場合、サービスに悪影響が及ぶ可能性があります。ホワイトリストを設定すると、ホワイトリストに追加された IP アドレスからのリクエストのみがリスナーによって転送されます。
ホワイトリストが設定されていても、IP アドレスが追加されていない場合、リスナーはすべてのリクエストを転送します。
ブラックリスト: ネットワーク ACL で指定された IP アドレスまたは CIDR ブロックからのリクエストは拒否されます。ブラックリストは、特定の IP アドレスからのアクセスを拒否する場合に適用されます。
ブラックリストが設定されていても、IP アドレスが追加されていない場合、リスナーはすべてのリクエストを転送します。
説明IPv4 インスタンスは IPv4 アクセス制御ポリシグループにのみアタッチでき、IPv6 インスタンスは IPv6 アクセス制御ポリシグループにのみアタッチできます。詳細については、「アクセス制御ポリシグループの作成」をご参照ください。
リスナーの帯域幅調整の有効化
帯域幅課金 SLB インスタンスの場合、各リスナーに最大帯域幅を設定してトラフィックを制限できます。すべてのリスナーの最大帯域幅の値の合計は、インスタンスの合計帯域幅を超えることはできません。
この機能はデフォルトで無効になっています。無効にすると、すべてのリスナーがインスタンスの合計帯域幅を共有します。リスナーが合計帯域幅を共有する方法については、「CLB インスタンスのリスナーはインスタンスの帯域幅を共有する」をご参照ください。
重要インターネット向け CLB インスタンスの合計インターネット帯域幅が 5 Mbit/s で、2 つのリスナーが設定されている場合に、リスナー A に 5 Mbit/s の帯域幅を割り当て、リスナー B に帯域幅を割り当てないと、リスナー B のポートにアクセスできなくなります。帯域幅を割り当てる際は注意してください。
内部向け CLB インスタンスに 3 つのリスナーが設定されており、リスナー A と B に合計 5,120 Mbit/s の帯域幅が割り当てられている場合、リスナー C のポートにアクセスできなくなります。帯域幅を割り当てる際は注意してください。
デフォルトでは、トラフィック課金インスタンスの最大帯域幅は制限されていません。
接続タイムアウト
データ転送がない CLB インスタンスとクライアント間の TCP 接続のタイムアウト期間。有効値: 10~900。単位: 秒。デフォルト値: 900。
タイムアウト期間内にアクセスリクエストが受信されない場合、CLB インスタンスは現在の接続を閉じ、次のリクエストが到着したときに新しい接続を確立します。
説明接続タイムアウトを設定すると、その設定はリスナー全体に適用されます。特定のバックエンドサーバーに接続タイムアウトを設定するには、そのバックエンドサーバー用に別のリスナーを設定し、新しいリスナーで接続タイムアウトを設定する必要があります。
ProxyProtocol 設定
Proxy Protocol を使用してクライアントの送信元 IP アドレスをバックエンドサーバーに渡すかどうかを指定します。詳細については、「CLB インスタンスのレイヤー 4 リスナーを使用してバックエンドサーバーでクライアント IP アドレスを取得する」をご参照ください。
重要PrivateLink シナリオでは、Proxy Protocol を使用して送信元 IP アドレスを取得することはできません。
Proxy Protocol は、プロキシサーバーとバックエンドサーバーの両方がこのプロトコルをサポートしている場合にのみ使用できます。バックエンドサーバーが Proxy Protocol を解析できない場合は、この機能を有効にしないでください。有効にすると、バックエンドサービスがパケットを解析できなくなり、利用できなくなる可能性があります。
クライアントの送信元 IP アドレスの取得
レイヤー 4 リスナーの場合、バックエンドサーバーはクライアントの送信元 IP アドレスを直接取得できます。この機能はデフォルトで有効になっています。
作成後にリスナーを自動的に開始
設定完了後に SLB リスナーを開始するかどうかを指定します。この機能はデフォルトで有効になっています。
ステップ 2: バックエンドサーバーの追加
フロントエンドからのリクエストを処理するためにバックエンドサーバーを追加します。インスタンスのデフォルトサーバーグループを使用するか、リスナー用に vServer グループまたはプライマリ/セカンダリサーバーグループを設定できます。詳細については、「CLB サーバーグループ」をご参照ください。このトピックでは、デフォルトサーバーグループを例として使用します。
[バックエンドサーバー] ウィザードで、[デフォルトサーバーグループ] を選択し、[追加を続行] をクリックします。
[サーバーの選択] ウィザードで、目的のバックエンドサーバーを選択し、[次へ] をクリックします。
[ポートと重みの設定] ウィザードで、重みを設定し、[追加] をクリックします。
説明デフォルトの重みは 100 です。重みが大きいバックエンドサーバーほど、より多くのアクセスリクエストを受信します。
重みが 0 のサーバーは新しいリクエストを受け付けません。
リクエストを受信するバックエンドサーバー (ECS インスタンス) のポートを設定し、[次へ] をクリックします。ポートは 1~65535 の数値である必要があります。
説明SLB インスタンスのバックエンドサーバーは同じポートを使用できます。
ステップ 3: ヘルスチェックの設定
CLB はヘルスチェックを実行してバックエンドサーバーの可用性を確認します。これにより、フロントエンドサービスの全体的な可用性が向上し、異常なバックエンドサーバーによるサービスの中断を防ぎます。
プライマリ/セカンダリサーバーグループのリスナーのヘルスチェックを無効にすることはできません。
オプション: [ヘルスチェック] ウィザードで [編集] をクリックしてヘルスチェック設定を変更し、[次へ] をクリックします。詳細については、「CLB ヘルスチェックの設定と管理」をご参照ください。
[設定の確認] ウィザードで、リスナーの設定を確認し、[変更] をクリックして変更を加えます。
設定を確認し、[送信] をクリックします。設定が適用されたら、[OK] をクリックします。
リスナーが作成されると、[リスナー] タブで表示できます。
よくある質問
Classic Load Balancer (CLB) インスタンスに TCP リスナーが設定されています。サービスにアクセスするための名前解決を設定するにはどうすればよいですか。
カスタムドメイン名を CLB インスタンスのパブリック IP アドレスに解決できます。詳細については、「名前解決のための A レコードの設定」をご参照ください。
関連ドキュメント
バックエンドサーバーグループの操作の詳細については、次のトピックをご参照ください。
ヘルスチェックの原則の詳細については、「CLB ヘルスチェック」をご参照ください。ヘルスチェックパラメーターの詳細な説明については、「CLB ヘルスチェックの設定と管理」をご参照ください。
リスナーに関連する問題が発生した場合は、「CLB リスナーサービスに関するよくある質問」をご参照ください。
Server Load Balancer のスケジューリングアルゴリズムの概要については、「Server Load Balancer のスケジューリングアルゴリズムの概要」をご参照ください。
TCP リスナーを使用する CLB インスタンスからクライアントの送信元 IP アドレスを取得するようにバックエンドサーバーを設定する方法については、「CLB インstance のレイヤー 4 リスナーを使用してバックエンドサーバーでクライアントの送信元 IP アドレスを取得する」をご参照ください。