Windows Server 2008 R2 のネットワーク負荷分散 (NLB) 機能を使うと、Web、FTP、ファイアウォール、プロキシ、仮想プライベート ネットワーク (VPN)、および他のミッションクリティカルなサーバーなどで使用されるインターネット サーバー アプリケーションの可用性とスケーラビリティを向上することができます。Windows Server 2008 R2 を実行するコンピューターが 1 台では、限られたサーバー信頼性とパフォーマンスしか実現できません。しかし、NLB は、Windows Server 2008 R2 製品を実行する複数台のコンピューターを仮想的な 1 つのクラスターとして統合することで、Web サーバーや他のミッションクリティカルなサーバーに必要とされる信頼性とパフォーマンスを実現することができます。
上記の図は、2 つのネットワーク負荷分散クラスターが接続されているようすを示しています。最初のクラスターは 2 つのホストで構成され、2 番目のクラスターは 4 つのホストで構成されています。これは、NLB 使用の一例です。
各ホストでは、目的のサーバー アプリケーション (Web アプリケーション、FTP、Telnet サーバーなど) の個別のコピーが実行されます。着信するクライアント要求は、NLB によってクラスター内の各ホストに配分されます。各ホストに配分される負荷の量は、必要に応じて設定できます。また、増加する負荷に対応するため、クラスターにホストを動的に追加することもできます。また、すべてのトラフィックを、指定された 1 つのホスト (既定のホストと呼ばれる) に送信することも可能です。
NLB により、クラスター内のすべてのコンピューターを、同じクラスター IP アドレス セットでアドレス指定することが可能です。その際、各ホスト固有の専用 IP アドレス セットは維持されます。負荷分散対応アプリケーションを使用している場合に、ホストで障害が発生したり、オフラインになったりすると、稼働しているコンピューター間に負荷が自動的に再配分されます。あるコンピューターで予期しない障害が発生するかオフラインになった場合、障害が発生した、またはオフラインになったサーバーへのアクティブな接続は失われます。ただし、意図的にホストを停止する場合は、drainstop コマンドを使用することで、アクティブな接続をすべて処理してからコンピューターをオフラインにすることができます。いずれの場合でも、オフラインのコンピューターで準備が整った時点で、そのコンピューターは透過的にクラスターに戻され、作業負荷の分担に加わるようになります。これにより、クラスター内の他のコンピューターのトラフィックが軽減されます。
NLB クラスター内のホストは、ハートビート メッセージをやり取りすることで、クラスターのメンバーシップに関するデータの整合性を保ちます。既定で、ホストが 5 秒以内にハートビート メッセージを送信しないと、そのホストで障害が発生したと見なされます。ホストで障害が発生すると、クラスター内の残りのホストが収束され、次の処理が行われます。
-
クラスター内で、アクティブなメンバーであるホストを特定します。
-
最も高い優先順位を持つホストを、新しい既定のホストとして指定します。
-
残っているホストで、新しいクライアント要求すべてが確実に処理されるようにします。
収束の際、残りのホストは一定間隔のハートビートを探します。ハートビートを送信できなかったホストが、再びハートビートを定期的に送信できるようになると、そのホストは収束中にクラスターに戻されます。新しいホストがクラスターに参加する際にも、ハートビート メッセージがそのホストから送信されると、収束が開始します。すべてのクラスター ホストで、現在のクラスター メンバーシップに関する整合性がとれると、残っているホスト間でクライアントの負荷が再配分され、収束が終了します。
通常、収束には数秒しかかかりません。したがって、クラスターによるクライアント サービスの中断はわずかです。収束中、アクティブなホストは、既存の接続に影響することなく、引き続きクライアント要求を処理します。収束は、数回のハートビートにわたって、全ホストでクラスター メンバーシップと分散マップの整合性がとれたときに終了します。
NLB の新機能
Windows Server 2008 R2 の NLB では、次の点が強化されています。
- 拡張されたアフィニティ。"拡張" オプションによって、NLB クラスターの構成が変更されたときにクライアントのアフィニティが保護されます。また、このオプションによって、クライアントからホストへの既存のアクティブな接続が存在しない場合でも、クライアントがクラスター ホストに対するアフィニティを維持できるようになります。
- NLB クラスターに対応した Windows PowerShell。Windows PowerShell は、新しいコマンド ライン シェルおよびスクリプト言語です。Windows PowerShell によって、システム管理タスクの自動化が促進されます。Windows PowerShell を使用して、NLB クラスターを管理できます。NLB クラスターに対する Windows PowerShell の使用の詳細については、
https://go.microsoft.com/fwlink/?LinkId=140180 (英語の可能性あり) を参照してください。 -
ローリング アップグレードのサポート。NLB では、Windows Server 2003 から Windows Server 2008 R2 へのローリング アップグレードと、Windows Server 2008 から Windows Server 2008 R2 へのローリング アップグレードがサポートされています。ローリング アップグレードの情報を含む NLB 展開については、
https://go.microsoft.com/fwlink/?LinkId=87253 (英語の可能性あり) を参照してください。
NLB 構成
NLB は Windows ネットワーク ドライバーとして実行されます。NLB の操作は、TCP/IP ネットワーク スタックに対して透過的に行われます。
上記の図は、NLB ホストの一般的な構成における、NLB と他のソフトウェア コンポーネントとの関係を示しています。
ネットワーク負荷分散の機能
NLB は次の機能を備えています。
スケーラビリティ
スケーラビリティとは、パフォーマンスに対する要求の拡大に合わせてどの程度までコンピューター、サービス、またはアプリケーションを拡張できるかの尺度のことです。NLB クラスターの場合、スケーラビリティはクラスターの全体的な負荷がクラスターの能力を超えたときに、既存のクラスターにシステムを 1 つ以上段階的に追加して増強できる能力のことです。スケーラビリティをサポートするため、NLB は次の操作を実行できます。
-
各 TCP/IP サービスの負荷要求を NLB クラスター全体にわたって分散します。
-
1 つのクラスターで最大 32 台のコンピューターをサポートします。
-
クラスター内の複数のホストにわたって、同じクライアントや複数のクライアントから送信される、複数のサーバー負荷要求を分散します。
-
負荷の増大に応じて、クラスターを停止することなく NLB クラスターにホストを追加できます。
-
負荷の減少に応じて、クラスターからホストを削除できます。
-
完全なパイプライン化により、高いパフォーマンスと低いオーバーヘッドを実現します。パイプライン化により、前に送信された要求の応答を待たずに、次の要求を NLB クラスターに送信できます。
高可用性
高可用性 (HA) システムにより、最小のダウンタイムで妥当なサービス レベルを実現します。高可用性を実現するため、NLB には、次の操作を自動的に実行できる機能が組み込まれています。
-
障害が発生するか、オフラインになっているクラスター ホストを検出し、それらのホストを回復します。
-
ホストの追加時または削除時に、ネットワーク負荷を分散します。
-
回復と作業負荷の再配分を 10 秒以内に行います。
管理のしやすさ
NLB は便利な次の管理機能を備えています。
-
NLB マネージャーを使用し、1 台のコンピューターから複数の NLB クラスターおよびクラスター ホストを管理、構成できます。
-
ポート管理規則を使用し、1 つの IP ポートまたはポート グループに対して、負荷分散の方法を指定できます。
-
各 Web サイトに、異なるポート規則を定義できます。複数のアプリケーションまたは複数の Web サイトに対して、同じ負荷分散サーバー セットを使用する場合、ポート規則は配分先の仮想 IP アドレス (仮想クラスターを使用) に基づきます。
-
オプションの単一ホスト規則を使用し、全クライアント要求を 1 つのホストに送信できます。NLB は、特定のアプリケーションを実行しているホストに対して、クライアント要求を転送します。
-
特定の IP ポートに対する不正ネットワーク アクセスをブロックできます。
-
クラスター ホストでインターネット グループ管理プロトコル (IGMP) を有効にし、スイッチの混雑を制御できます (マルチキャスト モード使用時)。
-
シェル コマンドまたはスクリプトにより、Windows を実行している任意のネットワーク コンピューターから、リモートで NLB 操作を開始、停止、および制御することができます。
-
Windows のイベント ログを表示し、NLB イベントを確認できます。NLB は、イベント ログで、すべての操作とクラスターへの変更を記録します。
使いやすさ
NLB には、使いやすさを向上するための機能が多数用意されています。
-
NLB は、標準の Windows ネットワーク ドライバー コンポーネントとしてインストールされます。
-
NLB を実行するために、ハードウェアを変更する必要はありません。
-
NLB マネージャーにより、新しい NLB クラスターを作成できます。
-
NLB マネージャーを使用すると、1 台のリモートまたはローカル コンピューターから、複数のクラスターおよびクラスターの全ホストを構成、管理することができます。
-
NLB により、クライアントは単一の論理インターネット名と仮想 IP アドレス (クラスター IP アドレスとも呼ばれる) を使ってクラスターにアクセスできます (各コンピューターの固有名は維持されます)。NLB では、マルチホーム サーバーで複数の仮想 IP アドレスを使用できます。
注 仮想クラスターの場合、複数の仮想 IP アドレスを使用するために、サーバーをマルチホーム化する必要はありません。
-
NLB を複数のネットワーク アダプターにバインドできます。これにより、各ホストで複数の独立クラスターを構成できます。仮想クラスターは、複数のネットワーク アダプターをサポートすることとは異なります。仮想クラスターでは、単一のネットワーク アダプターで複数のクラスターを構成できます。
-
NLB クラスターで実行するために、サーバー アプリケーションを変更する必要はありません。
-
障害が発生したクラスター ホストを再びオンラインに戻す際、そのホストを自動的にクラスターに追加するよう NLB を構成できます。追加されたホストは、クライアントから送信される新しいサーバー要求を処理できるようになります。
-
他のホスト上のクラスター操作を中断することなく、コンピューターをオフラインにして予防メンテナンスを行うことができます。