VMM ファブリックで SDN ソフトウェア ロード バランサーをセットアップする

重要

このバージョンの Virtual Machine Manager (VMM) がサポート終了に達しました。 VMM 2022 にアップグレードすることをお勧めします。

この記事では、ソフトウェアによるネットワーク制御 (SDN) でソフトウェア ロード バランサー (SLB) をデプロイする方法について説明します。

SLB を使用すると、仮想ネットワーク リソース間でテナントとテナントの顧客ネットワーク トラフィックを均等に分散できるため、複数のサーバーが同じワークロードをホストして高可用性とスケーラビリティを実現できます。 詳細については、こちらを参照してください

VMM を使用してネットワーク コントローラーとソフトウェアロード バランサーを展開することができます。 SLB を設定したら、SDN インフラストラクチャで多重化と NAT 機能を使用できます。

VMM 2022 では、SLB に対するデュアル スタック サポートが提供されます。

Note

  • VMM 2019 UR1 からは、1 つの接続されたネットワークの種類が接続されたネットワークに変更されます。
  • VMM 2019 UR2 以降では IPv6 がサポートされています。

開始する前に

以下のことを確認してください。

  • 計画: こちらのドキュメントで、ソフトウェアによるネットワーク制御の計画の詳細を参照し、計画のトポロジを確認してください。 図は、サンプルの 4 ノードのセットアップを示しています。 セットアップは、3 つのネットワーク コントローラー ノード (VM) と 3 つの SLB/MUX ノードで高可用性を実現します。 これは、Web 層とデータベース層をシミュレートするための、2 つの仮想サブネットに分割された 1 つの仮想ネットワークと 2 つのテナントを示します。 インフラストラクチャとテナントの仮想マシンはどちらも、物理ホスト間に再配布することができます。
  • ネットワーク コントローラー: 負荷分散を設定する前にコンピューティングとネットワーク インフラストラクチャを実行できるように、VMM ファブリックに SDN ネットワーク コントローラー を展開する必要があります。
  • SSL 証明書: SLB サービス テンプレートをインポートするには、SSL 証明書を準備する必要があります。 ネットワーク コントローラーの展開中に証明書を利用できるようにします。 SLB のネットワーク コントローラーの展開で準備した証明書を使用するには、証明書を右クリックし、パスワードを指定せずに .CER 形式でエクスポートします。 ネットワーク コントローラーのセットアップ時に作成した NCCertificate.CR フォルダー内のライブラリに配置します。
  • サービス テンプレート: VMM では、サービス テンプレートを使用して、SLB の展開を自動化します。 サービス テンプレートは、第 1 世代と第 2 世代の VM 上のマルチノード展開をサポートします。
  • SLB VM: すべての SLB 仮想マシンで、最新のパッチがインストールされている Windows Server 2016 以降が実行されている必要があります。
  • HNV ネットワーク: NC 検証の一部としてプロバイダー HNV ネットワークを作成していることを確認します。 詳細については、こちらを参照してください

デプロイメントの手順

  1. SSL 証明書を準備する: 証明書を VMM ライブラリに置きます。
  2. サービス テンプレートをダウンロードする: SLB/MUX を展開するために必要なサービス テンプレートをダウンロードします。
  3. トランジット論理ネットワークを作成する: 以下の論理ネットワークを作成する必要があります。
    • トランジット (フロント エンド) 物理ネットワークをミラー化するための論理ネットワーク。
    • VIP を SLB サービスに割り当てるためのプライベート仮想 IP (VIP) とパブリック VIP ネットワーク。
  4. プライベートおよびパブリック VIP 論理ネットワークを作成する: プライベート仮想 IP (VIP) とパブリック VIP ネットワークを使用して VIP を SLB サービスに割り当てます。
  5. サービス テンプレートをインポートする: SLB サービス テンプレートをインポートしてカスタマイズします。
  6. SLB を展開する: SLB を VMM サービスとして展開し、サービスのプロパティを構成します。
  7. 展開を検証する: SLB/MUX インスタンスと BGP ルーターの間の BGP ピアリングを構成し、テナントの VM またはサービスにパブリック IP アドレスを割り当て、ネットワークの外部から VM またはサービスにアクセスします。

証明書を準備する

NC の展開時に作成した SSL 証明書が、NCCertificate.CR フォルダーにコピーされていることを確認します。

サービステンプレートをダウンロードする

  1. Microsoft SDN GitHub リポジトリから SDN フォルダーをダウンロードし、VMM テンプレートSLB から VMM> サーバー上のローカル パスにテンプレート>をコピーします。
  2. ローカル コンピューター上のフォルダーに内容を抽出します。 それらを後でライブラリにインポートします。

ダウンロードには次の 2 つのテンプレートが含まれています。

  • SLB Production Generation 1 VM.xml テンプレートは、第 1 世代の仮想マシン上に SLB サービスを展開するために使用します。
  • SLB Production Generation 2 VM.xml テンプレートは、第 2 世代仮想マシンに SLB サービスをデプロイするためのものです。

どちらのテンプレートも、サービス テンプレート デザイナーで変更できる 3 つの仮想マシンの既定の数です。

SLB デプロイには、簡略化された SDN トポロジ (2 つの物理ネットワーク) を使用することをお勧めします。 簡易 SDN トポロジ テンプレートが使用されている場合は、トランジット論理ネットワークの作成をスキップします。

トランジット論理ネットワークを作成する

  1. 論理ネットワークの作成ウィザードを開き、名前と、必要に応じて説明を入力します。
  1. [設定] で、[ネットワークに接続済み] を選択します。 仮想マシンがこの論理ネットワークに直接アクセスできるように [同じ名前で VM ネットワークを作成する] チェック ボックスをオンにして、[ネットワーク コントローラーで管理] チェック ボックスをオンにします。
  • VMM 2019 UR1 以降の場合は、[ 設定] で [ 接続されたネットワーク] を選択し、[ ネットワーク コントローラーによって管理] を選択します。
  1. [設定] で [接続されたネットワーク] を選択し、[ネットワーク コントローラーによって管理] を選択します。
  1. [ネットワーク サイト] で、サブネットのネットワーク サイトの情報を追加します。
  2. [概要] の情報を確認し、論理ネットワーク ウィザードを完了します。

トランジット論理ネットワーク用の IP アドレス プールを作成する

これは、DIP が SLB/MUX 仮想マシンおよび BGP ピア仮想マシン (展開されている場合) に割り当てられる IP アドレス プールです。

これは、DIP が SLB/MUX 仮想マシンおよび BGP ピア仮想マシン (展開されている場合) に割り当てられる IP アドレス プールです。

VMM 2019 UR1 以降では、 論理ネットワーク の作成ウィザードを使用して IP アドレス プールを作成できます。

IP アドレス プールは、 論理ネットワークの作成 ウィザードを使用して作成できます。

注意

  • トランジット ネットワークの IP アドレス空間に対応する IP アドレス範囲を使用していることを確認します。 作成しようとしている IP プールにサブネットの最初の IP アドレスを含めないでください。 たとえば、有効なサブネットが .1 から .254 の場合、範囲を .2 で始めます。
  • トランジット論理ネットワークを作成した後、この論理ネットワークを、ネットワーク コントローラーのデプロイ中に作成した管理スイッチアップリンク ポート プロファイルに関連付ける必要があります。

IP アドレス プールを作成する:

  1. 論理ネットワークを右クリックし、> をクリックします。

  2. IP プールの名前と必要に応じて説明を入力し、正しい論理ネットワークが選択されていることを確認します。

  3. [ネットワーク サイト] で、この IP アドレス プールがサービスを提供するサブネットを選択します。 HNV プロバイダー ネットワークの一部として複数のサブネットがある場合は、サブネットごとに静的 IP アドレス プールを作成する必要があります。 サイトが 1 つしかない場合 (たとえば、サンプル トポロジなど)、[ 次へ] を選択するだけです。

  4. [IP アドレスの範囲] で、開始と終了の IP アドレスを構成します。 使用可能なサブネットのうち、最初の 3 つの IP アドレスは使用しないでください。 たとえば、利用可能なサブネットが .1 ~.254 である場合、使用範囲の開始は .4 以上とします。

  5. 次に、既定のゲートウェイ アドレスを構成します。 [既定のゲートウェイ] ボックスの横にある [挿入] を選択し、アドレスを入力して、既定のメトリックを使用します。 必要に応じて DNS と WINS を構成します。

  6. 概要情報を確認し、[ 完了] を選択してウィザードを完了します。

    注意

    論理ネットワークを管理スイッチのアップリンク ポート プロファイルに関連付けます。

プライベートおよびパブリック VIP の論理ネットワークを作成する

SLB Manager サービスに VIP とパブリック VIP を割り当てるためにプライベート VIP アドレス プールが必要です。

注意

両方を作成する手順は似ていますが、いくつかの違いがあります。

プライベート VIP を作成する:

  1. 論理ネットワークの作成ウィザードを開始します。 このネットワークの名前と、必要に応じて説明を入力します。
  1. [設定] で、[ネットワークに接続済み] を選択します。 [仮想マシンがこの論理ネットワークに直接アクセスできるように、同じ名前で VM ネットワークを作成する] を選択します。 [ネットワーク コントローラーで管理] チェック ボックスをオンにします。
  1. [設定] で、[ネットワークに接続済み] を選択します。 [仮想マシンがこの論理ネットワークに直接アクセスできるように、同じ名前で VM ネットワークを作成する] を選択します。 [ネットワーク コントローラーで管理] チェック ボックスをオンにします。 UR1 以降の場合、 [設定][接続されたネットワーク] を選択し、 [ネットワーク コントローラーで管理] を選択します。 プライベート VIP
  1. [ネットワーク サイト] で、プライベート VIP 論理ネットワークのネットワーク サイトの情報を追加します。
  2. [概要] 情報を確認し、ウィザードを完了します。

パブリック VIP を作成する:

  1. 論理ネットワークの作成ウィザードを開始します。 このネットワークの名前と、必要に応じて説明を入力します。
  1. [設定] で、[ネットワークに接続済み] を選択します。 [仮想マシンがこの論理ネットワークに直接アクセスできるように、同じ名前で VM ネットワークを作成する] を選択します。 [ネットワーク コントローラーで管理] および [パブリック IP アドレス ネットワーク] を選択します。
  1. [設定] で、[ネットワークに接続済み] を選択します。 [仮想マシンがこの論理ネットワークに直接アクセスできるように、同じ名前で VM ネットワークを作成する] を選択します。 [ネットワーク コントローラーで管理] チェック ボックスをオンにします。

    UR1 以降の場合、 [設定][接続されたネットワーク] を選択し、 [ネットワーク コントローラーで管理][パブリック IP アドレス ネットワーク] の両方を選択します。

    パブリック VIP のスクリーンショット。

  1. [ネットワーク サイト] で、パブリック VIP 論理ネットワークのネットワーク サイト情報を追加します。
  2. [概要] の情報を確認して、ウィザードを完了します。

プライベートおよびパブリック VIP ネットワークの IP アドレス プールを作成する

  1. プライベート VIP 論理ネットワークを右クリックし、> をクリックします。
  2. IP プールの名前と必要に応じて説明を入力し、正しい論理ネットワークが選択されていることを確認します。
  3. 既定のネットワーク サイトをそのまま使用し、[ 次へ] を選択します。
  1. [IP アドレスの範囲] で、開始と終了の IP アドレスを構成します。

    Note

    使用可能なサブネットのうち、最初の IP アドレスは使用しないでください。 たとえば、利用可能なサブネットが .1 ~.254 である場合、使用範囲の開始は .2 以上とします。

  1. [IP アドレスの範囲] で、開始と終了の IP アドレスを構成します。 IPv6 アドレス空間を使用している場合は、IPv6 アドレス プールを指定します。

    Note

    使用可能なサブネットのうち、最初の IP アドレスは使用しないでください。 たとえば、利用可能なサブネットが .1 ~.254 である場合、使用範囲の開始は .2 以上とします。

    1 つの VIP 範囲で許可されるアドレスの最大数は 1024 です。

  1. [IP アドレスの範囲] で、開始と終了の IP アドレスを構成します。 IPv6 アドレス空間を使用している場合は、IPv6 サブネットをネットワーク サイトに追加し、IPv6 アドレス プールを作成します。

    注意

    • SLB をオンボードするときに IPv6 アドレス プールを追加します。
    • 使用可能なサブネットのうち、最初の IP アドレスは使用しないでください。 たとえば、利用可能なサブネットが .1 ~.254 である場合、使用範囲の開始は .2 以上とします。
    • 1 つの VIP 範囲で許可されるアドレスの最大数は 1024 です。
  1. [ロード バランサーの VIP のために予約された IP アドレス] ボックスで、サブネットの IP アドレスの範囲を入力します。 指定した開始と終了アドレスに一致する必要があります。
  2. ゲートウェイ、DNS、または WINS の情報を提供する必要はありません。このプールは、ネットワーク コントローラー経由でのみ VIP の IP アドレスを割り当てるために使用されます。 [ 次へ] を選択して、これらの画面をスキップします。 アドレスを入力し、既定のメトリックを使用します。 必要に応じて DNS と WINS を構成します。
  3. 概要情報を確認し、[ 完了] を選択してウィザードを完了します。
  4. パブリック VIP 論理ネットワークの手順を繰り返します。今回は、パブリック ネットワークの IP アドレス範囲を入力します。

サービス テンプレートのインポート

サービス テンプレートを VMM ライブラリにインポートします。 この例では、第 2 世代のテンプレートをインポートします。

  1. [ ライブラリ>インポート テンプレート] を選択します

  2. サービス テンプレート フォルダーを参照し、SLB Production Generation 2 VM.xml ファイルを選択します。

  3. サービス テンプレートをインポートするときは、環境内のパラメーターを更新します。

    注意

    ライブラリ リソースは、ネットワーク コントローラーのデプロイ中にインポートされました。

    • WinServer.vhdx: ネットワーク コントローラーのデプロイ中に前に準備してインポートした仮想ハード ドライブ イメージを選択します。
    • NCCertificate.CR: このライブラリ リソースには、ネットワーク コントローラーをセットアップするときに使用するスクリプトが含まれています。 VMM ライブラリ内の NCCertificate.cr ライブラリ リソースにマッピングします。
    • EdgeDeployment.CR: VMM ライブラリ内の EdgeDeployment.cr ライブラリ リソースにマッピングします。
  4. 以前に作成した .CER 証明書を NCCertificate.CR フォルダーにコピーしている必要があることを忘れないでくださいします。

  5. [ 概要 ] ページで詳細を確認し、[ インポート] を選択します。

    Note

    サービス テンプレートをカスタマイズすることができます。 詳細については、こちらを参照してください

SLB サービスを展開する

次に、SLB/MUX サービスインスタンスを展開します。

  1. SLB Production Generation 2 VM.xml サービス テンプレートを選択して、[展開の構成] を選択します。 サービス インスタンスの名前と必要に応じて説明を入力します。 宛先は、構成されたホストを含むホスト グループにマッピングする必要があります。

  2. [ネットワーク設定] セクションで、TransitNetwork をトランジット VM ネットワークにマッピングし、ManagementNetwork を管理 VM ネットワークにマッピングします。

    Note

    • 簡略化されたトポロジ テンプレートを使用している場合、トランジット ネットワークは適用されません。
    • マッピングが完了すると、[ サービスのデプロイ] 画面が表示されます。 仮想マシンのインスタンスが最初に赤色で表示されるのは正常です。 [ プレビューの更新] を選択すると、仮想マシンに適したホストが自動的に見つかります。
  3. [展開の構成] ウィンドウの左にある設定を構成します。各設定の詳細は以下の表に示します。

    設定 要件 説明
    Transit network 必須 トランジット VM ネットワークです。
    LocalAdmin 必須 仮想マシンのローカル管理者として使用される、環境内の実行アカウントを選択します。 ユーザー名は Administrator にする必要があります。
    Management network 必須 ホストの管理用に作成した管理 VM ネットワークを選択します。
    MgmtDomainAccount 必須 ネットワーク コントローラーに関連付けられている Active Directory ドメインに SLB/MUX 仮想マシンを追加するためのアクセス許可を持つ実行アカウントを選択します。 これは、ネットワーク コントローラーの展開中に MgmtDomainAccount で使用したアカウントと同じものにすることができます。
    MgmtDomainFQDN 必須 SLB/MUX 仮想マシンが参加する Active Directory ドメインの FQDN。
    SelfSignedConfiguration 必須 使用している証明書が自己署名されている場合は 、True を 指定します。
  4. これらの設定を構成したら、[ サービスのデプロイ ] を選択して、サービスのデプロイ ジョブを開始します。 展開の所要時間はハードウェアによって異なりますが、通常は 30 分~ 60 分です。

  5. ボリューム ライセンス VHDX を使用していない場合、または VHDX に応答ファイルのプロダクト キーがない場合、SLB/MUX VM のプロビジョニング中に展開が [プロダクト キー] ページで停止します。 VM デスクトップに手動でアクセスし、プロダクト キーをスキップするか入力する必要があります。

  6. サービスの展開ジョブが完了したら、[VM とサービス][サービス][サービスの VM ネットワークの情報] の順に選択して、サービスが表示されることを確認します。 サービスを右クリックし、[プロパティ] で状態が [展開済み] になっていることを確認します。

展開後に、[すべてのホスト][サービス][サービスの VM ネットワークの情報] の順に選択して、サービスが表示されることを確認します。 SLB MUX サービスを右クリックし、> を選択して、状態が [展開済み] になっていることを確認します。 SLB/MUX のデプロイが失敗した場合は、SLB をもう一度デプロイする前に、失敗したサービス インスタンスを削除してください。

デプロイされたソフトウェア ロード バランサー サービス インスタンスをスケールインまたはスケールアウトする場合は、 こちらのブログを参照してください

注意

SLB サービスがデプロイされたら、すべての SLB MUX VM 上のトランジット VM ネットワークに接続されている仮想ネットワーク アダプターで DNS 登録を無効にします。

SLB ロールおよび SLB/MUX のプロパティを構成する

注意

続行する前に、必ず HNV PA 論理ネットワークを作成してください。

サービスが展開されたので、そのプロパティを構成できます。 デプロイした SLB サービス インスタンスをネットワーク コントローラーに関連付け、SLB/MUX インスタンスと TOR スイッチまたは BGP ルーター ピアの間で BGP ピアリングを構成する必要があります。

  1. [ ファブリック>ネットワーク サービス] を選択します。 [ネットワーク コントローラー] サービスを右クリックし、[プロパティ] を選択します。
  2. [サービス] タブ [ロード バランサー役割][関連付けられているサービス][参照] の順に選択します。
  3. 以前に作成した SLB/MUX サービス インスタンスを選択します。 実行アカウントを選択します。
  4. [管理 IP アドレス] で、前に作成したプライベート VIP プールからの IP アドレスを使用します。 必要に応じて送信 NAT から除外する IP アドレスの範囲を指定します。 [SLBM VIP プール] で、NC への発行対象としてプライベートとパブリックの両方の VIP プールを選択します。
  5. ウィザードの [ロールのLoad Balancer] に一覧表示されている SLB/MUX インスタンスを選択します。 データ センターのローカル ASN、および SLB/MUX がピアリングできるデバイスまたは BGP ピアの詳細を入力します。
  6. [OK] を選択します。

これで SLB サービス インスタンスが SLBM サービスに関連付けられ、[ロード バランサー役割] の下に SLB/MUX 仮想マシン インスタンスとそのすべての設定が一覧表示されます。

デプロイの検証

SLB/MUX を展開した後で、SLB/MUX インスタンスと BGP ルーターの間の BGP ピアリングを構成し、パブリック IP アドレスをテナントの仮想マシンまたはサービスに割り当て、ネットワークの外部からテナントの仮想マシンまたはサービスにアクセスすることによって展開を確認することができます。

次の手順で検証します

  1. ウィザードに外部ルーターの詳細を入力します。 次に例を示します。

    IP アドレスのスクリーンショット。

  2. [ OK] を選択 して、SLB/MUX サービス インスタンスの構成を完了します。

  3. [ ジョブ ] ウィンドウを確認して、 必要な構成でファブリック ロールを更新 し、 サービス インスタンスをファブリック ロール ジョブに関連付ける ジョブが正常に完了したことを確認します。

  4. BGP ピアリング操作を完了するには、ルーター上の SLB/MUX インスタンスとピアリングするように BGP を構成する必要があります。 ハードウェア ルーターを使用する場合は、そのデバイスの BGP ピアリングを設定する方法に関するベンダーのドキュメントを参照する必要があります。

    また、以前に展開した SLB/MUX インスタンスの IP アドレスを知っている必要があります。 これを行うには、SLB MUX 仮想マシンにサインインし、コマンド プロンプトから ipconfig /all を実行するか、VMM コンソールから IP アドレスを取得します。

    注意

    トランジット ネットワークの IP を入力します。

  5. ピアリングが完了した後で新しい VIP プールを作成する場合は、VMM コンソールを使用してすべての VIP アドレスプールを公開する必要があります。

検証後、負荷分散で SLB を使用できるようになります。 関連情報については、ネットワーク トラフィックの負荷分散NAT 規則の構成に関するページをご覧ください。

SDN ファブリックからソフトウェア ロード バランサーを削除する

SDN ファブリックから SLB を削除する方法は、ここで確認できます。

次のステップ

RAS ゲートウェイを作成する