パフォーマンスと大規模なTLSオフロードに対する要件が高いシナリオで、Network Load Balancer (NLB) インスタンスがTCPリクエストを転送する場合は、NLBインスタンスにTCP/SSLリスナーを追加できます。
前提条件
NLBインスタンスが作成されました。 詳細については、「NLBインスタンスの作成と管理」をご参照ください。
サーバーグループが作成されます。 詳細については、「サーバーグループの作成と管理」をご参照ください。
手順
次のいずれかの方法を使用して、TCP/SSLリスナーを作成できます。
TCP/SSLリスナーの追加: 標準の設定方法。 リスナーがポート範囲でリッスンできるようにし、詳細設定を構成できます。
TCP/SSLリスナーの追加 (クイック設定): クイック設定方法。 リスナープロトコル、リスナーポート、サーバー証明書、TLSセキュリティポリシー、およびサーバーグループのみを指定する必要があります。
TCP/SSLリスナーの追加
手順1: リスナーの設定
NLBコンソールにログインします。
上部のナビゲーションバーで、NLBインスタンスがデプロイされています。
[インスタンス] ページで、管理するNLBインスタンスを見つけ、次のいずれかの方法でリスナー設定ウィザードを開きます。
[操作] 列の [リスナーの作成] をクリックします。
NLBインスタンスのIDをクリックし、[リスナー] タブをクリックします。 [リスナー] タブで、リスナーリストの上にある [リスナーの作成] をクリックします。
インスタンス ID をクリックします。 インスタンスの詳細ページで、ウィザードの [リスナーの作成] をクリックします。
インスタンス ID をクリックします。 インスタンスの詳細ページの右上隅にある [リスナーの作成] をクリックします。
[リスナーの設定] ステップで、パラメーターを設定し、[次へ] をクリックします。 下表にパラメーターを示します。
パラメーター
手順
リスナープロトコル
リスナープロトコルを選択します。 この例では、TCPSSLが選択されています。
Listen by Port Range
リスナーを有効にするかどうかをポート範囲で指定します。 この機能を有効にすると、NLBインスタンスは指定されたリスナーポート範囲内のすべてのポートをリッスンし、そのポート宛てのリクエストをバックエンドサーバーにリダイレクトします。
説明この機能は、ポート範囲でリッスンするリスナーに関連付けられたサーバーグループに対して有効にする必要があります。
リスナーのポート範囲
リスナーがポート範囲でリッスンできるようにする場合は、最初と最後のポートを指定してリスナーポート範囲を定義します。
重要リスナーの作成後、リスナーのポート範囲を変更することはできません。
リスナーポート
NLBインスタンスがリッスンするポートを指定します。 NLBインスタンスは、ポートを使用してリクエストを受信し、リクエストをバックエンドサーバーに転送します。
一般的に使用されるポートを選択するか、ポート番号を入力できます。 有効な値: -1 から 65535
Listen by Port Rangeが有効になっている場合、Listener Portを設定する必要はありません。
リスナー名
リスナーの名前を入力します。
タグ
[タグキー] および [タグ値] パラメーターを設定して、タグを追加します。 1つ以上のタグを追加できます。
タグを指定した後、[リスナー] タブのタグでリスナーをフィルタリングできます。
詳細設定
[変更] をクリックして詳細設定を設定します。
アイドル接続タイムアウト期間
アイドルTCP/SSL接続のタイムアウト期間を指定します。 タイムアウト期間内にリクエストが受信されない場合、NLBは現在の接続を閉じます。 別の要求が受信されると、NLBは新しい接続を確立する。
新しい接続の制限
新しい接続の数を制限するかどうかを指定します。
1秒あたりの最大新しい接続数
[新しい接続の制限] をオンにする場合は、各ゾーンでリスナーが処理できる1秒あたりの新しい接続の最大数を指定する必要があります。 各ゾーンは仮想IPアドレス (VIP) を提供します。
重要この値は現在のリスナーにのみ適用されます。 他のリスナーへの接続は影響を受けません。 他のリスナーのスロットリング値を表示するには、リスナーの設定を確認します。
プロキシプロトコルの有効化
プロキシプロトコルを有効にするかどうかを指定します。 プロキシプロトコルを有効にすると、クライアントのIPアドレスがバックエンドサーバーに渡されます。
詳細については、「NLBを有効にしてクライアントIPアドレスを保持する」をご参照ください。
ALPNポリシーの有効化
アプリケーション層プロトコルネゴシエーション (ALPN) を有効にするかどうかを指定します。 ALPNを使用すると、クライアントとサーバーは通信するプロトコルをより適切に管理できます。 これにより、通信の効率とセキュリティが向上します。 例えば、HTTP 2.0の優先的な使用は、待ち時間及び帯域幅消費を低減することができる。
定義: ALPNは、クライアントとサーバーがTLSハンドシェイク中にアプリケーション層プロトコルをネゴシエートできるようにするTLS拡張です。 これにより、クライアントとサーバーは、HTTP 1.0、HTTP 1.1、HTTP 2.0などの最適なプロトコルを使用して通信できます。
注: ALPNはTLSハンドシェイクの拡張です。 TCP/SSLリスナーを作成し、NLBインスタンスのALPNを有効にすると、クライアントとNLBインスタンスの間でTLSハンドシェイクが実行されます。 クライアントは、サポートされているプロトコルのリストをNLBに送信します。 NLBはこれらのプロトコルの1つを使用し、ハンドシェイクが完了した後にクライアントにプロトコルを通知します。
ALPNポリシー
ALPNを有効にした後、ALPNポリシーを選択します。
HTTP1Only: HTTP 1.xのみを使用します。 HTTP 1.1の優先度は、HTTP 1.0の優先度よりも高い。
HTTP2Only: HTTP 2.0のみを使用します。
HTTP2Optional: HTTP 2.0よりもHTTP 1.xを優先的に使用します。 HTTP 1.1の優先度は、HTTP 1.0の優先度よりも高く、HTTP 1.0の優先度は、HTTP 2.0の優先度よりも高い。
HTTP2Preferred: HTTP 1.xよりもHTTP 2.0を優先的に使用します。 HTTP 2.0の優先度は、HTTP 1.1の優先度よりも高く、HTTP 1.1の優先度は、HTTP 1.0の優先度よりも高い。
ステップ2: SSL証明書の設定
TCP/SSLリスナーを作成するには、ID認証用のSSL証明書を設定して、安全なデータ転送を確保する必要があります。
証明書 | 手順 | 一方向認証に必要 | 相互認証に必要 |
サーバー証明書 | サーバー証明書は、サーバーのIDを認証するために使用されます。 ブラウザは、サーバーから送信された証明書が信頼できる認証局 (CA) によって署名および発行されているかどうかを確認します。 詳細については、「SSL証明書とは 」をご参照ください。 | はい 証明書管理サービスコンソールでサーバー証明書を購入またはアップロードできます。 NLBは証明書管理サービスから証明書を取得し、証明書を使用します。 | はい 証明書管理サービスコンソールでサーバー証明書を購入またはアップロードできます。 NLBは証明書管理サービスから証明書を取得し、証明書を使用します。 |
CA証明書 | CA証明書は、クライアント証明書の署名を検証するためにサーバーによって使用されます。 署名が無効である場合、接続要求は拒否される。 説明 クライアント証明書は、クライアントがサーバーと通信するときにクライアントのIDを認証するために使用されます。 クライアントにのみクライアント証明書をインストールする必要があります。 | 継続しない | 継続する CA証明書は、certificate Management Serviceコンソールで購入できます。 NLBは証明書管理サービスから証明書を取得し、証明書を使用します。 |
複数のドメイン名にアクセスしたり、複数のサーバー証明書を追加したい場合は、TCP/SSLリスナーに証明書を追加できます。 詳細については、「追加の証明書の追加」をご参照ください。
[SSL証明書の設定] ステップで、[サーバー証明書] ドロップダウンリストからサーバー証明書を選択します。
使用できるサーバー証明書がない場合は、ドロップダウンリストで [SSL証明書の作成] をクリックして、証明書管理サービスコンソールに移動します。 その後、サーバー証明書を購入またはアップロードできます。 詳細については、「SSL証明書の購入」および「SSL証明書のアップロード」をご参照ください。
オプション: [詳細設定] で [相互認証の有効化] をオンにします。 選択Alibaba CloudCA証明書のソースドロップダウンリストからCA証明書を選択し、デフォルトのCA証明書ドロップダウンリスト。
使用可能なCA証明書がない場合は、[CA証明書の購入] をクリックしてCA証明書を作成します。 詳細については、「プライベートCAの購入と有効化」をご参照ください。
説明相互認証を無効にする場合は、次の操作を実行します。
[インスタンス] ページで、管理するNLBインスタンスのIDをクリックします。
[リスナー] タブで、TCP/SSLリスナーのIDをクリックします。
[リスナーの詳細] タブで、[SSL証明書] セクションに移動し、相互認証を無効にします。
TLSセキュリティポリシーを選択し、次へをクリックします。
利用可能なTLSセキュリティポリシーがない場合は、[TLSセキュリティポリシーの作成] をクリックして作成します。 詳細については、「TLSセキュリティポリシー」をご参照ください。
ステップ3: サーバーグループを選択する
[サーバーグループの選択] ステップで、バックエンドサーバーグループを選択し、バックエンドサーバーを表示し、[次へ] をクリックします。
TCP/SSLリスナーを、クライアントIP保存が有効になっているサーバーグループに関連付けることはできません。
ステップ4: 設定の確認
[設定の確認] ステップで設定を確認し、[送信] をクリックします。
TCP/SSLリスナーの追加 (クイック設定)
この方法を選択した場合、リスナープロトコル、リスナーポート、サーバー証明書、TLSセキュリティポリシー、およびサーバーグループのみを指定する必要があります。
NLBコンソールにログインします。
上部のナビゲーションバーで、NLBインスタンスがデプロイされています。
左側のナビゲーションウィンドウで、を選択します。
インスタンス ページで、管理するNLBインスタンスのIDをクリックします。
[リスナー] タブをクリックします。 [リスナー] タブで、[クイック作成リスナー] をクリックします。
[クイック作成リスナー] ダイアログボックスでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
リスナープロトコル
リスナープロトコルを選択します。 この例では、TCPSSLが選択されています。
リスナーポート
リクエストを受信してバックエンドサーバーに転送するために使用されるフロントエンドポートを指定します。
一般的に使用されるポートを選択するか、ポート番号を入力できます。 有効な値: -1 から 65535
サーバー証明書
ドロップダウンリストからサーバー証明書を選択します。
使用できるサーバー証明書がない場合は、[証明書の作成] をクリックしてサーバー証明書を作成します。 詳細については、「SSL証明書の購入」をご参照ください。
TLSセキュリティポリシー
ドロップダウンリストからTLSセキュリティポリシーを選択します。
利用可能なTLSセキュリティポリシーがない場合は、[TLSセキュリティポリシーの作成] をクリックして作成します。 詳細については、「TLSセキュリティポリシー」をご参照ください。
サーバーグループ
バックエンドサーバーグループを選択します。
関連ドキュメント
チュートリアル:
一方向認証を使用しながらTCP経由でSSLオフロードを実行するようにNLBとSSL証明書を設定する方法の詳細については、「NLBを使用してTCP経由でSSLオフロードを有効にする (一方向認証) 」をご参照ください。
相互認証を使用しながらTCP経由でSSLオフロードを実行するようにNLB、SSL証明書、およびCA証明書を設定する方法の詳細については、「NLBを使用してTCP経由でSSLオフロードを有効にする (相互認証) 」をご参照ください。
API リファレンス:
CreateListener: NLBインスタンスのTCP、UDP、またはTCP/SSLリスナーを作成します。
DeleteListener: NLBインスタンスからリスナーを削除します。
ListListeners: NLBインスタンスに追加されたリスナーを照会します。
UpdateListenerAttribute: NLBリスナーの設定を変更します。
StartListener: NLBリスナーを有効にします。
StopListener: NLBインスタンスのリスナーを無効にします。
GetListenerAttribute: NLBリスナーに関する詳細を照会します。
GetListenerHealthStatus: NLBリスナーのヘルスステータスを照会します。