SDN に対するソフトウェア ロード バランサー (SLB) の概要
適用対象: Azure Stack HCI、バージョン 23H2 および 22H2。Windows Server 2022、Windows Server 2019、Windows Server 2016
ソフトウェアによるネットワーク制御 (SDN) を展開するクラウド サービス プロバイダー (CSP) や企業は、ソフトウェア ロード バランサー (SLB) を使用することで、テナントとテナント カスタマー ネットワークのトラフィックを、仮想ネットワーク リソース間に均等に分散できます。 SLB により、複数のサーバーで同じワークロードをホストすることができ、高可用性とスケーラビリティを提供できます。
ソフトウェア ロード バランサーによって、RAS ゲートウェイ、データセンター ファイアウォール、ルート リフレクターなどの SDN テクノロジとの統合によるマルチテナント統合エッジが提供されます。
注意
VLAN に対するマルチテナント機能は、ネットワーク コントローラーではサポートされていません。 ただし、データセンター インフラストラクチャや高密度 Web サーバーなど、サービス プロバイダーによって管理されるワークロードに対しては、SLB で VLAN を使用できます。
ソフトウェア ロード バランサーを使用すると、他の VM ワークロードに使用するのと同じ Hyper-V コンピューティング サーバー上の SLB 仮想マシン (VM) を使用して、負荷分散機能をスケールアウトできます。 このため、ソフトウェア ロード バランサーを使用すると、CSP 操作に必要な負荷分散エンドポイントの迅速な作成と削除をサポートできます。 さらに、ソフトウェア ロード バランサーを使用すると、クラスターあたり数十ギガバイトをサポートでき、単純なプロビジョニング モデルが提供され、スケールアウトとスケールインが簡単になります。
Windows Admin Center を使用してソフトウェア ロード バランサー ポリシーを管理する方法については、「SDN のソフトウェア ロード バランサーを管理する」を参照してください。
ソフトウェア ロード バランサーにはどのようなものが含まれますか?
ソフトウェア ロード バランサーには以下の機能が含まれています。
南北と東西の TCP/UDP トラフィックに対するレイヤー 4 (L4) の負荷分散サービス。
パブリック ネットワークと内部ネットワークのトラフィックの負荷分散。
仮想ローカル エリア ネットワーク (VLAN) 上、および Hyper-V ネットワーク仮想化を使用して作成する仮想ネットワーク上での、動的 IP アドレス (Dip) のサポート。
正常性プローブのサポート。
マルチプレクサーおよびホスト エージェントに対するスケールアウト機能やスケールアップ機能など、クラウド スケールへの対応。
詳細については、この記事の「ソフトウェア ロード バランサーの機能」を参照してください。
ソフトウェア ロード バランサーのしくみ
ソフトウェア ロード バランサーは、データセンター内のリソースのクラウド サービス セットの一部である DIP に、仮想 IP アドレス (VIP) をマッピングすることによって機能します。
Vip とは、分散された Vm の負荷のプールへのパブリック アクセスを提供する単一の IP アドレスです。 たとえば、VIP は、テナントとテナントの顧客がクラウド データセンター内のテナント リソースに接続できるように、インターネット上で公開されている IP アドレスです。
Dip は、メンバー、VIP の背後にある負荷分散プールの Vm の IP アドレスです。 テナント リソースへのクラウド インフラストラクチャ内では、Dip が割り当てられます。
Vip はで、SLB マルチプレクサー (マルチプレクサー) にあります。 MUX は、1 つ以上の VM で構成されます。 ネットワーク コント ローラーは、各マルチプレクサー VIP ごとに、各マルチプレクサー順番に使用してボーダー ゲートウェイ プロトコル (BGP)、/32 として、物理ネットワーク上のルーターには、各 VIP を提供するルートです。 BGP は、物理ネットワーク ルーターを使用できます。
MUX がレイヤー 3 ネットワーク内の異なるサブネット上にある場合でも、各 MUX で VIP を使用できることを認識します。
等しいコスト マルチパス (ECMP) のルーティングを使用するすべての利用可能な MUXes VIP ごとの負荷を分散します。
自動的に MUX 失敗、または削除を検出し、障害が発生した MUX へのトラフィック送信を停止します。
正常な MUXes 障害が発生した、または取り外された MUX から負荷を分散します。
パブリック トラフィックがインターネットから到着すると、SLB MUX は、VIP を宛先として含むトラフィックを調べ、個々の DIP に到着するようにトラフィックをマップして書き換えます。 受信ネットワーク トラフィックの場合、このトランザクションは 2 ステップのプロセスで実行され、MUX VM と、宛先の DIP が存在する Hyper-V ホストに分割されます。
負荷分散 - MUX は、DIP を選択するために VIP は、パケットをカプセル化され、トラフィックを DIP が配置されている HYPER-V ホストに転送されます。
ネットワーク アドレス変換 (NAT) - Hyper-V ホストにおいては、パケットからカプセル化が削除され、VIP が DIP に変換され、ポートが再マッピングされて、パケットが DIP VM に転送されます。
ユーザーがネットワーク コントローラーを使用して定義する負荷分散ポリシーにより、VIP を正しい DIP にマップする方法が MUX によって認識されます。 これらのルールには、プロトコル、フロントエンド ポート、バックエンド ポート、分散アルゴリズム (5、3、または 2 組) が含まれます。
テナント VM からの応答である送信ネットワーク トラフィックが、インターネットまたはリモート テナントの場所に返送されるときは、Hyper-V ホストによって NAT が実行されるため、トラフィックは MUX をバイパスし、Hyper-V ホストからエッジ ルーターに直接送信されます。 この MUX バイパス プロセスは、Direct Server Return (DSR) と呼ばれます。
受信ネットワーク トラフィックが SLB マルチプレクサーを完全にバイパスする最初のネットワーク トラフィック フローが確立されると、します。
次の図では、クライアント コンピューターによって、会社の SharePoint サイト (この場合は Contoso という架空の会社) の IP アドレスに対して DNS クエリが実行されます。 次の処理が行われます。
DNS サーバーは、VIP 107.105.47.60 をクライアントに返します。
クライアントは、VIP を HTTP 要求を送信します。
物理ネットワークには、任意のマルチプレクサー上にある VIP に到達する利用可能な複数のパスがあります。 途中にある各ルーターでは、ECMP を使用して、MUX に要求が到着するまでのパスの次のセグメントを選択します。
要求を受け取る MUX が構成されているポリシーをチェックし、2 つの Dip、10.10.10.5 と VIP 107.105.47.60 に要求を処理する仮想ネットワーク上の 10.10.20.5 があることを確認
MUX によって、DIP 10.10.10.5 が選択され、VXLAN を使用してパケットがカプセル化されます。これにより、ホストの物理ネットワーク アドレスを使用して、DIP が含まれるホストにそれを送信できるようになります。
ホストは、カプセル化されるパケットを受信し、それを検査します。 カプセル化が削除され、宛先が VIP ではなく DIP 10.10.10.5 になるようにパケットが書き換えられてから、トラフィックが DIP VM に送信されます。
サーバー ファーム 2 の Contoso SharePoint サイトに、要求が到達します。 サーバーは、応答を生成し、ソースとして独自の IP アドレスを使用して、クライアントに送信します。
ホストは仮想スイッチの送信パケットをインターセプトします。これは、クライアント (現在は宛先) が VIP に対して元の要求を行ったことを覚えています。 ホストは、クライアントに DIP アドレスが表示されないように、パケットのソースを VIP に書き換えます。
ホストは、標準ルーティング テーブルを使用してパケットをクライアントに転送する物理ネットワークの既定のゲートウェイにパケットを直接転送し、最終的に応答を受信します。
負荷分散のデータ センターの内部トラフィック
異なるサーバー上で実行され、同じ仮想ネットワークのメンバーであるテナント リソース間など、データセンター内部のネットワーク トラフィックが負荷分散されるときは、VM が接続されている Hyper-V 仮想スイッチによって NAT が実行されます。
内部トラフィックの負荷分散では、最初の要求は MUX に送信されて処理され、適切な DIP が選択されて、トラフィックが DIP にルーティングされます。 した時点以降は、確立されたトラフィック フローは、マルチプレクサーをバイパスし、VM から直接 VM に変わります。
正常性プローブ
ソフトウェア ロード バランサーには、ネットワーク インフラストラクチャの正常性を検証するために、次のような正常性プローブが含まれています。
ポートに TCP プローブ
ポートと URL に HTTP プローブ
従来のロード バランサー アプライアンスし、プローブがアプライアンス上で発生した、ネットワーク経由で DIP に移動中とは異なり、DIP があると、さらに、ホストにわたる作業の分散、DIP に SLB ホスト エージェントから直接移動のホスト上で発生した SLB プローブします。
ソフトウェア Load Balancer インフラストラクチャ
ソフトウェア ロード バランサーを構成する前に、まず、ネットワーク コントローラーと 1 つ以上の SLB MUX VM を展開する必要があります。
さらに、SDN が有効な Hyper-V 仮想スイッチで Azure Stack HCI ホストを構成し、SLB ホスト エージェントが実行されていることを確認する必要があります。 ホストを提供するルーターは、ECMP ルーティングと Border Gateway Protocol (BGP) をサポートしている必要があり、SLB MUX からの BGP ピアリング要求を受け入れるように構成されている必要があります。
次の図は、SLB インフラストラクチャの概要を示したものです。
以降のセクションでは、ソフトウェア ロード バランサー インフラストラクチャのこれらの要素について詳しく説明します。
ネットワーク コントローラー
ネットワーク コントローラーにおいては、SLB マネージャーがホストされ、ソフトウェア ロード バランサーに対する次の操作が実行されます。
Windows Admin Center、System Center、Windows PowerShell、または別のネットワーク管理アプリケーションから Northbound API を通して送られてくる SLB コマンドが処理されます。
Azure Stack HCI ホストと SLB MUX への分散に関するポリシーが計算されます。
ソフトウェア ロード バランサー インフラストラクチャの正常性状態が提供されます。
Windows Admin Center または Windows PowerShell を使用して、ネットワーク コントローラーおよび他の SLB インフラストラクチャのインストールと構成を行うことができます。
SLB MUX
SLB MUX は、受信ネットワーク トラフィックを処理し、dip、Vip をマップし、正しい DIP に転送します。 また、各マルチプレクサーは、エッジ ルーターに VIP ルートを公開するのに BGP を使用します。 MUX で障害が発生すると、BGP キープアライブによって MUX に通知されます。これにより、1 つの MUX でエラーが発生してもアクティブな MUX で負荷を再分散できます。 これにより基本的に、ロード バランサーの負荷分散が提供されます。
SLB ホスト エージェント
ソフトウェア ロード バランサーを展開するときは、Windows Admin Center、System Center、Windows PowerShell、または別の管理アプリケーションを使用して、すべてのホスト サーバーに SLB ホスト エージェントを展開する必要があります。
SLB ホスト エージェントは、ネットワーク コント ローラーから SLB ポリシーの更新をリッスンします。 さらに、ホスト エージェントにより、ローカル コンピューターで構成されている SDN 対応の Hyper-V 仮想スイッチに対して SLB を行うための規則がプログラムされます。
SDN 対応の Hyper-V 仮想スイッチ
仮想スイッチが SLB と互換性を持つようにするため、仮想スイッチで仮想フィルタリング プラットフォーム (VFP) 拡張機能を有効にする必要があります。 これは、SDN 展開 PowerShell スクリプト、Windows Admin Center 展開ウィザード、および System Center Virtual Machine Manager (SCVMM) の展開では、自動的に行われます。
仮想スイッチの VFP を有効にする方法については、Windows PowerShell コマンドを参照してください。 Get-vmsystemswitchextension と 有効にする VMSwitchExtensionします。
SDN 対応の Hyper-V 仮想スイッチにより、SLB に対する次の操作が実行されます。
SLB のデータ パスを処理します。
MUX からの受信ネットワーク トラフィックを受信します。
DSR を使用してルーターに送信する送信のネットワーク トラフィックのマルチプレクサーをバイパスします。
BGP ルーター
BGP ルーターにより、ソフトウェア ロード バランサーに対する次の操作が実行されます。
ルートは、ECMP を使用して MUX へのトラフィックを受信します。
送信ネットワーク トラフィックでは、ホストによって提供されるルートを使用します。
SLB MUX から Vip をルートの更新をリッスンします。
Keep Alive が失敗した場合は、SLB MUXes SLB ローテーションからを削除します。
ソフトウェア Load Balancer機能
以下のセクションでは、ソフトウェア ロード バランサーの一部の機能について説明します。
コア機能
SLB を使用すると、南北と東西の TCP/UDP トラフィックに対するレイヤー 4 の負荷分散サービスが提供されます。
SLB は、Hyper-V ネットワーク仮想化ベースのネットワークで使用できます。
SDN が有効な Hyper-V 仮想スイッチに接続されている DIP VM に対して、VLAN ベースのネットワークで SLB を使用できます。
1 つの SLB インスタンスで、複数のテナントを処理できます。
SLB と DIP により、DSR によって実装されるスケーラブルで待機時間の短いリターン パスがサポートされます。
スイッチ埋め込みチーミング (SET) またはシングル ルート入出力仮想化 (SR-IOV) も使用している場合、SLB 関数が機能します。
SLB には、インターネット プロトコル バージョン 6 (IPv6) とバージョン 4 (IPv4) のサポートが含まれています。
サイト間ゲートウェイのシナリオでは、すべてのサイト間接続で 1 つのパブリック IP を利用できるようにする NAT 機能が、SLB によって提供されます。
スケールとパフォーマンス
MUX やホスト エージェントに対するスケールアウトとスケールアップの機能など、クラウド スケールへの対応。
1 つのアクティブな SLB マネージャー ネットワーク コントローラー モジュールで、8 つの MUX インスタンスをサポートできます。
高可用性
アクティブ/アクティブ構成の 3 つ以上のノードに、SLB を展開できます。
MUXes を追加し、SLB サービスに影響を与えずに MUX プールから削除します。 これにより、個々の MUX に修正プログラムが適用されているときでも、SLB の可用性が維持されます。
個々の MUX インスタンスのアップタイムは 99% です。
正常性監視データを管理エンティティで使用できます。
次のステップ
関連情報については、以下もご覧ください。