Network Load Balancing

適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016

このトピックでは、Windows Server 2016 のネットワーク負荷分散 (NLB) 機能の概要について説明します。 NLB を使用して、単一の仮想クラスターとして 2 つ以上のサーバーを管理することができます。 NLB では、web、FTP、ファイアウォール、プロキシ、仮想プライベートネットワーク (VPN)、その他のミッションクリティカルなサーバーなどで使用されるインターネットサーバーアプリケーションの可用性とスケーラビリティが向上しています。

注意

Windows Server 2016 には、ソフトウェア定義ネットワーク (SDN) インフラストラクチャのコンポーネントとして、新しい Azure 向けソフトウェア Load Balancer (SLB) が含まれています。 SDN を使用している場合は、NLB の代わりに SLB を使用します。 SDN を使用している場合、Windows 以外のワークロードを使用している場合、送信ネットワークアドレス変換 (NAT) を使用している場合、またはレイヤー 3 (L3) または非 TCP ベースの負荷分散が必要な場合。 SDN 以外の展開の Windows Server 2016 で NLB を使用する続行することができます。 SLB の詳細については、次を参照してください。 ソフトウェア負荷分散 (SLB) SDN のです。

ネットワーク負荷分散 (NLB) 機能では、TCP/IP ネットワーク プロトコルによって、複数のサーバーにトラフィックが分散されます。 アプリケーションを実行している複数のコンピューターを NLB によって 1 つの仮想クラスターに統合すると、Web サーバーや他のミッション クリティカルなサーバーの信頼性とパフォーマンスを高めることができます。

NLB クラスター内のサーバーはホストと呼ばれ、各ホストでは、サーバー アプリケーションの個別のコピーが実行されます。 送られてきたクライアント要求は NLB によってクラスター内の各ホストに配分されます。 各ホストで処理される負荷は構成可能です。 負荷の増加に対応して、クラスターにホストを動的に追加することもできます。 NLB では指定された 1 つのホストにすべてのトラフィックを送信することも可能です。このホストは既定のホストと呼ばれます。

NLB では、クラスター内のすべてのコンピューターに対し、同じ IP アドレス セットを使ってアドレス指定できます。このとき、各ホスト固有の専用 IP アドレス セットは維持されます。 負荷分散対応アプリケーションを使っている場合に、ホストで障害が発生したり、オフラインになったりすると、稼働しているコンピューター間で負荷が自動的に再配分されます。 オフラインのコンピューターで準備が整うと、そのコンピューターは透過的にクラスターに戻され、ワークロードの分担に加わるようになります。これにより、クラスター内の他のコンピューターのトラフィックが軽減されます。

実際の適用例

NLB を使用すると、インターネット インフォメーション サービス (IIS) を実行している Web サーバーなどのステートレス アプリケーションのダウンタイムを最小限に抑えられるほか、スケーラビリティが高まります (負荷の増加に応じてサーバーを追加できるため)。 以降のセクションでは、これらのアプリケーションを実行するクラスター化されたサーバーの高可用性、スケーラビリティ、および管理容易性が NLB によってどのようにサポートされるかについて説明します。

高可用性

高可用性システムにより、最小のダウンタイムで妥当なサービス レベルを実現します。 高可用性を実現するため、NLB には、次の操作を自動的に実行できる機能が組み込まれています。

  • 障害が発生するか、オフラインになっているクラスター ホストを検出し、回復します。

  • ホストの追加時または削除時に、ネットワーク負荷を分散します。

  • 回復とワークロードの再配分を 10 秒以内に行います。

スケーラビリティ

スケーラビリティとは、パフォーマンスに対する要求の拡大に合わせてどの程度までコンピューター、サービス、またはアプリケーションを拡張できるかの尺度のことです。 NLB クラスターの場合、スケーラビリティはクラスターの全体的な負荷がクラスターの能力を超えたときに、既存のクラスターにシステムを 1 つ以上段階的に追加して増強できる能力のことです。 スケーラビリティをサポートするために、NLB で次の操作を実行できます。

  • 各 TCP/IP サービスの負荷要求を NLB クラスター全体にわたって分散します。

  • 1 つのクラスターで最大 32 台のコンピューターをサポートします。

  • クラスター内の複数のホストにわたって、同じクライアントや複数のクライアントから送信される、複数のサーバー負荷要求を分散します。

  • 負荷の増大に応じて NLB クラスターにホストを追加できます。その際、クラスターを停止する必要はありません。

  • 負荷の減少に応じて、クラスターからホストを削除できます。

  • 完全なパイプライン化により、高いパフォーマンスと低いオーバーヘッドを実現します。 パイプライン化により、前の要求に対する応答を待たずに、次の要求を NLB クラスターに送信できます。

管理の容易性

管理容易性をサポートするために、NLB で次の操作を実行できます。

  • 管理および NLB マネージャーを使用して複数の NLB クラスターと 1 台のコンピューターからクラスター ホストを構成または Windows PowerShell のネットワーク負荷分散 (NLB) コマンドレットします。

  • ポート管理規則を使用して、1 つの IP ポートまたはポート グループに対して負荷分散の動作を指定できます。

  • Web サイトごとに異なるポート規則を定義できます。 複数のアプリケーションまたは複数の Web サイトに対して、同じ負荷分散サーバー セットを使用する場合、ポート規則は配分先の仮想 IP アドレス (仮想クラスターを使用) に基づきます。

  • オプションの単一ホスト規則を使用して、全クライアント要求を 1 つのホストに送信できます。 NLB は、特定のアプリケーションを実行しているホストに対して、クライアント要求を転送します。

  • 特定の IP ポートに対する不正ネットワーク アクセスをブロックできます。

  • マルチキャスト モードの使用時に、クラスター ホストでインターネット グループ管理プロトコル (IGMP) を有効にして、スイッチ ポートの混雑 (受信ネットワーク パケットがスイッチ上のすべてのポートに送信されている状態) を制御できます。

  • Windows PowerShell コマンドまたはスクリプトにより、リモートで NLB 操作を開始、停止、および制御できます。

  • Windows のイベント ログを表示して NLB イベントを確認できます。 NLB は、イベント ログで、すべての操作とクラスターへの変更を記録します。

重要な機能

NLB は、標準の Windows Server ネットワーク ドライバー コンポーネントとしてインストールされます。 NLB の操作は、TCP/IP ネットワーク スタックに対して透過的に行われます。 次の図は、一般的な構成における NLB と他のソフトウェア コンポーネント間のリレーションシップを示しています。

ネットワーク負荷分散と他のソフトウェア コンポーネント

NLB の主な機能を次に示します。

  • 実行するうえでハードウェアの変更は必要ありません。

  • 1 台のリモートまたはローカル コンピューターから複数のクラスターおよびすべてのホストを構成、管理できるネットワーク負荷分散ツールが用意されています。

  • クライアントは単一の論理インターネット名と仮想 IP アドレス (クラスター IP アドレスとも呼ばれる) を使ってクラスターにアクセスできます (各コンピューターの固有名は維持されます)。 NLB では、マルチホーム サーバーで複数の仮想 IP アドレスを使用できます。

注意

仮想クラスターとして Vm を展開するときに、NLB はサーバーを複数の仮想 IP アドレスを使用してマルチホーム化する必要はありません。

  • NLB は、複数のネットワーク アダプターにバインドできます。これにより、各ホストで複数の独立クラスターを構成できます。 仮想クラスターは、複数のネットワーク アダプターをサポートすることとは異なります。仮想クラスターでは、単一のネットワーク アダプターで複数のクラスターを構成できます。

  • NLB クラスターで実行できるように、サーバー アプリケーションに変更を加える必要はありません。

  • 障害が発生したクラスター ホストを再びオンラインに戻す際、そのホストを自動的にクラスターに追加するように構成できます。 追加されたホストは、クライアントからの新しいサーバー要求を処理できます。

  • 他のホスト上のクラスター操作を中断することなく、コンピューターをオフラインにして予防メンテナンスを行うことができます。

ハードウェア要件

NLB クラスターを実行するためのハードウェア要件を次に示します。

  • クラスター内のすべてのホストが同じサブネットに存在する必要があります。

  • 各ホストのネットワーク アダプターの数に制限はありません。ホストごとに異なる数のアダプターを持つこともできます。

  • 各クラスター内では、ネットワーク アダプターはすべてマルチキャストまたはユニキャストのどちらか一方であることが必要です。 NLB は、マルチキャストとユニキャストが単一のクラスターに混在する環境をサポートしていません。

  • ユニキャスト モードを使用する場合は、クライアントとクラスターの間のトラフィックを処理するためのネットワーク アダプターで、メディア アクセス制御 (MAC) アドレスの変更がサポートされている必要があります。

ソフトウェア要件

NLB クラスターを実行するソフトウェアの要件を次に示します。

  • NLB が有効になっている各ホストのアダプターでは、TCP/IP しか使用できません。 アダプターに IPX などの他のプロトコルを追加しないでください。

  • クラスター内のサーバーの IP アドレスは、静的なアドレスである必要があります。

注意

NLB は動的ホスト構成プロトコル (DHCP) をサポートしていません。 NLB は構成対象の各インターフェイス上の DHCP を無効にします。

インストール情報

NLB 用のサーバー マネージャーまたは Windows PowerShell コマンドを使用して、NLB をインストールできます。

ローカルまたはリモート NLB クラスターを管理するためのネットワーク負荷分散ツールをインストールすることもできます。 ツールには、ネットワーク負荷分散マネージャーと NLB Windows PowerShell コマンドが含まれます。

Server Manager でのインストール

サーバー マネージャーで、して追加の役割と機能のウィザードを追加する、 ネットワーク負荷分散 機能します。 ウィザードを完了して NLB をインストールすると、コンピューターを再起動する必要はありません。

Windows PowerShell を使用したインストール

NLB をインストールする Windows PowerShell を使用して、実行、次のコマンド管理者特権での Windows PowerShell プロンプトで、コンピューターに NLB をインストールします。

Install-WindowsFeature NLB -IncludeManagementTools

インストールが完了したら、コンピューターの再起動は必要ありません。

詳細については、次を参照してください。 Install-windowsfeatureします。

ネットワーク負荷分散マネージャー

サーバー マネージャーでネットワーク負荷分散マネージャーを開くには、[ツール] をクリックし、[ネットワーク負荷分散マネージャー] をクリックします。

その他の技術情報

次の表は、NLB の機能に関する追加情報へのリンクを示します。

コンテンツ タイプ 参考資料
デプロイ ネットワーク負荷分散の展開ガイドターミナルサービスを使用したネットワーク負荷分散の構成
オペレーション ネットワーク負荷分散クラスター の管理ネットワーク負荷分散パラメーター の設定ネットワーク負荷分散クラスター上のホストの制御
トラブルシューティング ネットワーク負荷分散クラスター のトラブルシューティングNLB クラスターのイベントとエラー
ツールと設定 ネットワーク負荷分散の Windows PowerShell コマンドレット
コミュニティのリソース 高可用性 (クラスタリング) フォーラム