クラシックロードバランサー (CLB) と比較して、Network Load Balancer (NLB) はレイヤー 4 の負荷分散において優れたパフォーマンスを提供します。大量の同時接続を処理でき、TCPSSL オフロードや接続スロットリングなどの機能を備えています。ビジネスの成長に伴い、機能、パフォーマンス、安定性、弾力性の向上が求められる場合、CLB のレイヤー 4 リスナーから NLB インスタンスに手動でトラフィックを移行し、高同時接続のワークロードに対応できます。
主な特徴
CLB インスタンスから NLB インスタンスにトラフィックを移行する際、NLB は以下の主な特徴を提供します。
-
高同時接続:単一のインスタンスで最大 1 億の同時接続と 100 Gbps の帯域幅をサポートし、大量の IoT 接続の管理など、高同時接続のシナリオに最適です。
-
自動スケーリング:ビジネスのトラフィックに応じてパフォーマンスが自動的にスケーリングされるため、NLB インスタンスタイプを選択または調整する必要がありません。
-
全ポートリスニング:NLB は指定されたポート範囲内のすべてのネットワークトラフィックを監視および処理します。これは、多数または動的なポートでリッスンするアプリケーションに最適です。
-
IPv6 機能:NLB は、デュアルスタック、6to4、6to6 など、さまざまなシナリオで包括的な IPv6 サポートを提供します。
利用シーン
CLB インスタンスから NLB インスタンスへのトラフィック移行の一般的な利用シーンは次のとおりです。
-
インスタントメッセージングや IoT デバイス管理などのアプリケーションで、大量の同時接続を処理する。
-
e コマースのプロモーションなど、需要が変動するシナリオでトラフィックスパイクに対応するためにリソースを自動的に調整する。
-
オンラインゲーム、ビデオ会議システム、オンライン教育プラットフォームなど、広範囲のポートを使用するアプリケーションのデータを処理する。
-
サービスを IPv4 から IPv6 に移行してネットワークリソースを拡張する。
シナリオ例
この記事では、次のシナリオを例として使用します。ある企業が Alibaba Cloud の中国 (杭州) リージョンでパブリック向きの CLB インスタンスを購入しました。この CLB インスタンスには TCP リスナーが設定されており、DNS ドメイン名を介してインターネット経由でサービスを提供します。クライアントがドメイン名 www.example.cn にアクセスすると、DNS 名前解決により、設定された A レコードに基づいてトラフィックが CLB インスタンスに転送されます。その後、CLB インスタンスはスケジューリングアルゴリズムで定義された転送ポリシーに基づいて、トラフィックを ECS01 と ECS02 に転送して処理します。
ビジネスの成長に伴い、企業は IoT サービスをサポートし、CLB インスタンスから NLB インスタンスにトラフィックを移行する必要があります。サービスの安定性を確保するため、企業はパブリック向きの DNS ドメイン名とバックエンドサーバーの IP アドレスを変更したくありません。これを行うために、企業は中国 (杭州) リージョンに新しい NLB インスタンスを購入し、CLB インスタンスと一致するように設定し、DNS の重み設定を使用してトラフィックを移行できます。
注意事項
-
CLB は従量課金の両方の課金方法をサポートしていますが、NLB は従量課金のみをサポートしています。CLB インスタンスから NLB インスタンスに移行すると、サービス間で課金項目と価格が異なるため、課金が変更されます。課金ルールの詳細については、次のトピックをご参照ください。
-
NLB インスタンスと CLB インスタンスは、同じ VPC 内の同じバックエンドサーバーを使用する必要があります。
-
IPv4 の CLB インスタンスは、IPv4 またはデュアルスタックの NLB インスタンスに移行できます。IPv6 の CLB インスタンスは、デュアルスタックの NLB インスタンスにのみ移行できます。
前提条件
-
移行対象の CLB インスタンスには、TCP リスナーとバックエンドサーバーが設定されている必要があります。また、そのドメイン名には A レコードが必要です。詳細については、「概要」をご参照ください。
-
2 つのバックエンドサーバー ECS01 と ECS02 を作成し、それぞれにサンプルアプリケーションをデプロイしていること。Elastic Compute Service (ECS) インスタンスの作成方法の詳細については、「カスタム設定でインスタンスを作成」をご参照ください。
説明-
CLB インスタンスが UDP リスナーを使用している場合、NLB インスタンスも UDP リスナーを使用する必要があります。
-
2 つのテストサーバーを準備します。1 つは移行前のトラフィックをテストするため、もう 1 つは移行中のアクセスを検証するためです。利用可能なサーバーがあれば使用できます。このトピックでは、2 つのテストサーバーは Alibaba Cloud Linux 3.2104 64 ビットオペレーティングシステムを実行しています。
次のコマンドを使用して、ECS01 と ECS02 にサンプルアプリケーションをデプロイします。
-
手順 1:NLB インスタンスの作成
NLB コンソールにログインします。
-
上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。
-
インスタンス ページで、NLB の作成 をクリックします。
-
Network Load Balancer (従量課金) 国際サイト の購入ページで、次のパラメーターを設定し、その他はデフォルト値のままにして、今すぐ購入 をクリックして購入を完了します。
パラメーター
説明
リージョン
NLB インスタンスのリージョンを選択します。この例では 中国 (杭州) を使用します。
インスタンスのネットワークタイプ
インスタンスのネットワークタイプを選択します。この例では、インターネット を使用します。
説明プライベートネットワーク を選択した場合、デュアル VIP の NLB インスタンスは最大 10 Gbps のプライベートネットワークスループットを提供し、100,000 接続数/秒と 150 万の同時接続をサポートします。さらに、NLB はトラフィックに応じてパフォーマンスを最大 50 Gbps まで自動的にスケーリングできます。
IP バージョン
インスタンスのプロトコルバージョンを選択します。この例では IPv4 を使用します。
VPC
インスタンスの VPC を選択します。
ゾーン
アベイラビリティゾーンと vSwitch を選択します。この例では 杭州ゾーン H と 杭州ゾーン I およびそれに対応する vSwitch を使用します。
EIP 帯域幅プランに参加
この例では、EIP 帯域幅プランに参加 を選択し、共有帯域幅パッケージを選択します。共有帯域幅パッケージがない場合は、[共有帯域幅パッケージの購入] をクリックして作成します。
説明アプリケーションが大量のパブリックネットワークトラフィックを処理する場合:
-
インスタンスを共有帯域幅パッケージに追加できます。追加されると、インスタンスのピーク帯域幅は共有帯域幅パッケージの帯域幅によって制限されます。
-
共有帯域幅パッケージに追加しない場合、インスタンスはデフォルトで従量課金の Elastic IP Address (EIP) を使用します。この場合、パブリック向きの NLB インスタンスの最大ピーク帯域幅は 400 Mbps です。この値は参考値であり、保証するものではありません。
-
インスタンス作成後に、パブリック向きの NLB インスタンスを共有帯域幅パッケージに追加することもできます。詳細については、「パブリック向き NLB インスタンスのピーク帯域幅を増やす」をご参照ください。
-
手順 2:NLB サーバーグループの作成
NLB コンソールにログインします。
-
上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。
-
左側のナビゲーションウィンドウで、NLB > [サーバーグループ] を選択します。
-
[サーバーグループ] ページで、サーバーグループの作成 をクリックします。
-
サーバーグループの作成 ダイアログボックスで、次のパラメーターを設定し (他のパラメーターはデフォルト値のままにします)、作成済み をクリックします。
パラメーター
説明
タイプ
サーバーグループタイプを選択します。 この例では、サーバータイプ を選択します。
サーバーグループ名
名前を入力します。
VPC
NLB インスタンスが配置されている VPC を選択します。 このサーバーグループには、この VPC のサーバーのみを追加できます。
バックエンドサーバープロトコル
バックエンドプロトコルを選択します。 この例では、[TCP] を選択します。
ヘルスチェックの設定
アクティブ を選択し、デフォルト設定を維持します。
-
サーバーグループを作成した後、そのインスタンス ID をクリックし、バックエンドサーバー タブをクリックします。
-
バックエンドサーバーの追加 をクリックします。バックエンドサーバーの追加 パネルで、ECS01 と ECS02 を選択し、次のステップ をクリックします。
-
ポート/重み ウィザードで、ポートに
80を入力し、重みはデフォルト値のままにします。その後、OK をクリックします。
手順 3:TCP リスナーの作成
手順 4:トラフィックのテスト
-
移行前に NLB インスタンスへのトラフィックをテストするために、パブリック向きの Linux サーバーにログインします。
-
次のコマンドを実行して hosts ファイルを編集します。
sudo vi /etc/hosts-
iキーを押して編集モードに切り替え、次のレコードを追加して NLB インスタンスの IP アドレスをドメイン名にマッピングします。
47.XX.XX.101 www.example.cn-
編集が完了したら、
Escキーを押し、:wqと入力して Enter キーを押し、設定ファイルを保存して閉じます。
説明この手順では、ドメイン名
www.example.cnを NLB インスタンスの指定された EIP (47.XX.XX.101) に解決します。これにより、CLB の元の DNS 名前解決が上書きされます。トラフィックを移行する前に、ドメイン名が NLB インスタンスに正常にアクセスできるかどうかをテストする必要があります。 -
-
次のコマンドを実行して、ドメイン名を使用して NLB インスタンスにアクセスできるかどうかをテストします。telnet がインストールされていない場合は、
yum install -y telnetコマンドを実行して telnet をインストールします。telnet www.example.cn 80 # TCP リスナーポート 80Connected to nlb-... というメッセージは、NLB インスタンスがリクエストをバックエンドサーバーに転送できることを示します。

-
NLB の操作ログを表示します。
NLB コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
操作ログ ページで、[イベント名] が GetLoadBalancerAttribute であるイベントをフィルタリングします。操作 列で、詳細を表示 をクリックします。
-
詳細を表示 ページで、操作 列の [イベントレコード] をクリックします。次に、
requestParameterとLoadBalancerIdフィールドを使用して、NLB インスタンスのランタイムログ情報を表示します。
手順 5:NLB へのトラフィック移行
このトピックでは、次の図に示す CLB アクセスパスを想定しています。CLB インスタンスには TCP リスナーが設定されており、複数のドメイン名を提供しています。この例で使用するドメイン名は example.cn です。
-
トラフィックを移行する前に、CLB と NLB のインスタンス設定を比較してください。移行中に予期せぬビジネスへの影響を防ぐために、両者が同一の機能を持ち、徹底的にテストされていることを確認してください。
-
サービスへの潜在的な影響を最小限に抑えるため、オフピーク時間帯にトラフィックを移行することを推奨します。
移行前は、A レコードがビジネスドメイン名を CLB インスタンスのサービスアドレスにポイントしています。
NLB インスタンスの設定を検証した後、このトピックでは Alibaba Cloud DNS を例として、CLB から NLB インスタンスにトラフィックを移行する手順を説明します。Alibaba Cloud DNS の詳細については、「パブリック DNS」をご参照ください。
手順 1:CLB インスタンスの一時ドメインを設定し、CNAME レコードを追加する
NLB インスタンスには CNAME レコードを設定することを推奨します。重み設定の前提条件を満たすために、CLB インスタンスのサービスアドレスを指す一時ドメイン名に CNAME レコードを追加する必要があります。このトピックでは、CLB インスタンスに設定されたビジネスドメイン名が www.example.cn であると仮定します。
重み設定を使用するには、同じホストレコードと DNS 解決ラインに対して複数の A、CNAME、または AAAA レコードが必要です。
-
Alibaba Cloud DNS コンソールにログインします。
-
インターネットの権威ある DNS 解決 ページで、移行したい CLB インスタンスのドメイン名
example.cnを見つけ、ドメイン名をクリックします。 -
解決設定 ページで、CLB インスタンスのサービスアドレスを指す A レコードを見つけ、[操作] 列の 変更 をクリックします。
-
Edit Record パネルで、ホストレコード を変更し、OK をクリックします。この例では、ホストレコードを web0 に変更します。他のパラメーターは変更しません。
-
解決設定 ページで、Add Record をクリックします。Add Record パネルで、次のパラメーターを設定し、OK をクリックします。
パラメーター
説明
Record Type
CNAME を選択します。
Hostname
ドメイン名のプレフィックスです。この例では、www を入力します。
Query Source
デフォルト を選択します。
TTL
Time To Live (TTL) は、DNS レコードが DNS サーバにキャッシュされる時間を指定します。値を 5 秒に設定します。
Record Value
一時ドメイン名を入力します。この例では、web0.example.cn を入力します。
手順 2:NLB の CNAME レコードを追加する
解決設定 ページで、Add Record をクリックします。Add Record パネルで、次のパラメーターを設定し、OK をクリックします。
|
パラメーター |
説明 |
|
Record Type |
CNAME を選択します。 |
|
Hostname |
ドメイン名のプレフィックスです。この例では、www を入力します。 |
|
Query Source |
デフォルト を選択します。 |
|
TTL |
Time To Live (TTL) は、DNS レコードが DNS サーバにキャッシュされる時間を指定します。値を 5 秒に設定します。 |
|
Record Value |
NLB インスタンスからコピーした DNS ドメイン名を入力します。 |
手順 3:重みを設定してカナリアリリースを開始する
-
解決設定 ページで、手順 2 で追加した CNAME レコードを見つけます。変更 の横にあるドロップダウン矢印をクリックし、レコードセットを変更する を選択します。
-
Edit Record パネルで、レコードコレクション セクションに移動し、CLB と NLB インスタンスレコードの重みを設定します。CLB インスタンスレコードの重みを 100 に、NLB インスタンスレコードの重みを 0 に設定します。OK をクリックします。

-
サービスに影響がないことを確認したら、CLB インスタンスレコードの重みを徐々に減らし、NLB インスタンスレコードの重みを徐々に増やします。
-
Linux クライアントにログインし、
digコマンドを複数回実行して、トラフィック移行を検証します。dig www.example.cn
次の図は出力を示しています。コマンドを複数回実行することで、リクエストが設定された重みに従って CLB または NLB インスタンスにルーティングされることを確認できます。

手順 4:トラフィック移行の完了
検証結果に基づいて、CLB インスタンスレコードの重みを徐々に 0 に減らし、NLB インスタンスレコードの重みを 100 に増やします。この時点で、CLB インスタンスから NLB インスタンスへのトラフィック移行は完了です。安定性を確保するために、しばらくサービスを監視します。CLB インスタンスへのすべての長時間接続が閉じられ、新しいトラフィックを受信しなくなったことを確認した後、CLB インスタンスをリリースできます。CLB インスタンスのリリース方法については、「CLB インスタンスの作成と管理」をご参照ください。
移行後、NLB インスタンスのアクセスパスは次の図のようになります。
高度な機能
Network Load Balancer (NLB) は、クラシックロードバランサー (CLB) のレイヤー 4 負荷分散機能をアップグレードしたものです。両サービスは、特定の機能の実装方法が異なります。以下のトピックでは、NLB インスタンス、クォータ制限、クイックスタート、DDoS 対策について説明します。
-
NLB インスタンスの概要については、「NLB インスタンス」をご参照ください。
-
NLB のクォータ制限については、「パフォーマンスと使用制限」をご参照ください。
-
NLB のクイックスタートについては、「NLB を使用して IPv4 サービスの負荷分散を迅速に実現する」および「NLB を使用して IPv6 サービスの負荷分散を迅速に実現する」をご参照ください。
-
NLB はデフォルトで基本的な DDoS 保護を提供します。詳細については、「Anti-DDoS Origin とは」をご参照ください。
次の表は、CLB と NLB のいくつかの高度な機能の比較です。
|
特徴 |
CLB |
NLB |
|
サーバーグループ |
デフォルトサーバーグループ、仮想サーバーグループ、プライマリ/スタンバイサーバーグループをサポートします。 |
NLB は単一のサーバーグループの概念を使用します。 |
|
一方向認証 |
Alibaba Cloud が発行した SSL 証明書とアップロードされたサードパーティの SSL 証明書をサポートします。設定の詳細については、「CLB を使用して HTTPS サービスをデプロイする (一方向認証)」をご参照ください。 |
トラフィックエントリポイントに NLB インスタンスをデプロイし、SSL 証明書を設定できます。バックエンドサーバーに SSL を設定する必要はありません。NLB インスタンスは TCPSSL リスナーを使用して、受信トラフィックを復号し、バックエンドサーバーに転送できます。設定の詳細については、「NLB を使用して TCPSSL オフロードを実装する (一方向認証)」をご参照ください。 |
|
双方向認証 |
Alibaba Cloud が発行した CA 証明書とアップロードされたサードパーティの CA 証明書をサポートします。設定の詳細については、「CLB を使用して HTTPS サービスをデプロイする (双方向認証)」をご参照ください。 |
トラフィックエントリポイントに NLB インスタンスをデプロイし、SSL 証明書と CA 証明書の両方を設定して、通信する両当事者を認証できます。設定の詳細については、「NLB を使用して TCPSSL オフロードを実装する (双方向認証)」をご参照ください。 |
|
全ポートリスナー |
サポートされていません。 |
全ポートリスナー機能により、NLB インスタンスはポート範囲内のすべてのネットワークトラフィックを監視し、応答できます。この機能は、単一のリスナー内で複数ポートのトラフィックを転送するため、設定が簡素化され、運用上の複雑さが軽減され、セキュリティリスクが低減します。設定の詳細については、「NLB 全ポートリスナーを使用して複数ポートのトラフィックを転送する」をご参照ください。 |
|
セキュリティ保護 |
CLB はアクセス制御を使用して、許可リストと拒否リストのポリシーを実装します。設定の詳細については、「アクセス制御」をご参照ください。 |
NLB はセキュリティグループを使用して、リスナーまたはポートレベルでアクセス制御を実装し、許可リストと拒否リストのポリシーを作成します。設定の詳細については、次のトピックをご参照ください。 |
よくある質問
-
移行中に CLB インスタンスと NLB インスタンスで同じでなければならない設定は何ですか?
リージョン、ネットワークタイプ、リスナープロトコル、バックエンドサーバーは同じでなければなりません。両方のインスタンスは同じ VPC を使用する必要がありますが、異なるゾーンに配置することはできます。
-
CLB と NLB の証明書の使用方法の違いは何ですか?
CLB は HTTPS 暗号化をサポートし、NLB は TCPSSL 暗号化をサポートします。CLB では、Alibaba Cloud またはサードパーティプロバイダーからの証明書をアップロードできます。一方、NLB は Certificate Management Service を通じて管理される証明書を使用します。
-
CLB インスタンスについては、「証明書のアップロード」をご参照ください。
-
NLB インスタンスについては、「公式証明書の購入」および「SSL 証明書のアップロード、同期、共有」をご参照ください。
-
-
CLB と NLB のアクセス制御の違いは何ですか?
-
CLB はリスナーレベルでアクセス制御を提供し、各リスナーに一意のアクセスポリシーを設定できます。詳細については、「アクセス制御」をご参照ください。
-
NLB はセキュリティグループを使用してアクセス制御を行い、プロトコル、ポート、または IP アドレスでトラフィックをフィルタリングします。詳細については、「NLB インスタンスをセキュリティグループに追加する」をご参照ください。
-
-
CLB と NLB のドメイン名解決の違いは何ですか?
-
CLB インスタンスは、カスタムドメイン名をインスタンスのサービスアドレスにマッピングするために A レコードが必要です。
-
NLB インスタンスの場合:
-
カスタムドメイン名を NLB インスタンスの DNS 名にマッピングするために CNAME レコードを使用することを推奨します。これにより、ネットワークリソースへのアクセスが簡素化されます。
-
カスタムドメイン名を静的 IP アドレスに解決するには、A レコードを使用してドメイン名を NLB インスタンスが提供する IP アドレスにマッピングします。
-
-
関連ドキュメント
-
CLB と NLB インスタンスの機能、課金、利点の比較については、「Server Load Balancer (SLB) 製品ファミリーの紹介」をご参照ください。
-
以下のリンクは、CLB と NLB インスタンスの製品概要、基本設定、機能の違い、課金情報を提供します。
CLB インスタンス
NLB インスタンス
