SDN Express を使用して SDN インフラストラクチャをデプロイする

適用対象: Azure Stack HCI バージョン 22H2 および 21H2、Windows Server 2022、Windows Server 2019、Windows Server 2016

このトピックでは、SDN Express PowerShell スクリプトを使用して、エンドツーエンドのソフトウェア定義ネットワーク (SDN) インフラストラクチャをデプロイします。 このインフラストラクチャには、高可用性 (HA) ネットワーク コントローラー (NC) と、オプションで高可用性ソフトウェア ロード バランサー (SLB)、および高可用性ゲートウェイ (GW) が含まれます。 スクリプトでは段階的デプロイがサポートされており、ネットワーク コントローラー コンポーネントのみをデプロイして、最小限のネットワーク要件に対応するコア セットの機能を実現できます。

Windows Admin Center または System Center Virtual Machine Manager (VMM) を使用して SDN インフラストラクチャをデプロイすることもできます。 詳細については、クラスターの作成 - 「手順 5:SDN」と「VMM ファブリックで SDN リソースを管理する」を参照してください。

重要

Microsoft System Center Virtual Machine Manager 2019 を使用して、Azure Stack HCI バージョン 21H2 または Windows Server 2022 を実行しているクラスターを管理することはできません。

開始する前に

SDN のデプロイを始める前に、物理およびホストのネットワーク インフラストラクチャを計画して構成します。 次の記事をご覧ください。

すべての SDN コンポーネントをデプロイする必要はありません。 「ソフトウェア定義ネットワーク インフラストラクチャを計画する」の「段階的デプロイ」セクションを参照して、必要なインフラストラクチャ コンポーネントを決定した後、それに従ってスクリプトを実行します。

すべてのホスト サーバーに Azure Stack HCI オペレーティング システムがインストールされていることを確認してください。 「Azure Stack HCI オペレーティング システムのデプロイ」で、これを実行する方法をご覧ください。

要件

SDN を正常にデプロイするには、次の要件が満たされている必要があります。

  • すべてのホスト サーバーで Hyper-V が有効になっている必要があります。
  • すべてのホスト サーバーを Active Directory に参加させる必要があります。
  • 仮想スイッチを作成する必要があります。
  • 物理ネットワークは、構成ファイルで定義されているサブネットと VLAN 用に構成する必要があります。
  • SDN Express スクリプトは、Windows Server 2016 以降のコンピューターから実行する必要があります。
  • 構成ファイルで指定された VHDX ファイルは、SDN Express スクリプトが実行されているコンピューターから到達可能である必要があります。

VHDX ファイルをダウンロードする

SDN によって、Azure Stack HCI または Windows Server オペレーティング システム (OS) が含まれる VHDX ファイルが、SDN 仮想マシン (VM) を作成するためのソースとして使用されます。

Note

VHDX 内の OS のバージョンは、Azure Stack HCI の Hyper-V ホストで使用されているバージョンと一致している必要があります。 この VHDX ファイルは、すべての SDN インフラストラクチャ コンポーネントによって使用されます。

英語バージョンの VHDX ファイルをダウンロードするには、Azure portal から Azure Stack HCI オペレーティング システムをダウンロードする方法に関するページを参照してください。 [言語の選択] ドロップダウン リストから英語の VHDX選択してください。

現時点では、英語以外の VHDX ファイルはダウンロードできません。 英語以外のバージョンが必要な場合は、対応する ISO ファイルをダウンロードし、コマンドレットを使用して Convert-WindowsImage VHDX に変換します。 このスクリプトは、Windows クライアント コンピューターから実行する必要があります。 このスクリプトを 管理istrator として実行し、コマンドを使用してスクリプトの実行ポリシーを変更するSet-ExecutionPolicy必要があります。

次の構文は、次の使用 Convert-WindowsImage例を示しています。

Install-Module -Name Convert-WindowsImage
Import-Module Convert-WindowsImage

$wimpath = "E:\sources\install.wim"
$vhdpath = "D:\temp\AzureStackHCI.vhdx"
$edition=1
Convert-WindowsImage -SourcePath $wimpath -Edition $edition -VHDPath $vhdpath -SizeBytes 500GB -DiskLayout UEFI

GitHub リポジトリをダウンロードする

SDN Express スクリプト ファイルは GitHub 内にあります。 最初の手順として、必要なファイルとフォルダーをお使いのデプロイ コンピューターで取得します。

  1. Microsoft SDN GitHub リポジトリに移動します。

  2. リポジトリで、[Code]\(コード\) ドロップダウン リストを展開し、[Clone]\(クローン\) または [Download ZIP]\(ZIP のダウンロード\) を選択して、指定したデプロイ コンピューターに SDN ファイルをダウンロードします。

    Note

    指定したデプロイ コンピューターでは、Windows Server 2016 以降が実行されている必要があります。

  3. ZIP ファイルを展開し、SDNExpress フォルダーをデプロイ コンピューターの C:\ フォルダーにコピーします。

構成ファイルを編集する

PowerShell MultiNodeSampleConfig.psd1 構成データ ファイルには、さまざまなパラメーターと構成設定の入力として SDN Express スクリプトに必要なすべてのパラメーターと設定が含まれています。 このファイルには、ネットワーク コントローラー コンポーネントだけをデプロイするのか、ソフトウェア ロード バランサーとゲートウェイ コンポーネントも同様にデプロイするのかに基づいて、何を入力する必要があるかについての具体的な情報が含まれています。 詳細については、「ソフトウェア定義ネットワーク インフラストラクチャを計画する」をご覧ください。

C:\SDNExpress\scripts フォルダーに移動し、好みのテキスト エディターで MultiNodeSampleConfig.psd1 ファイルを開きます。 特定のパラメーター値を、インフラストラクチャとデプロイに合わせて変更します。

全般設定とパラメーター

この設定とパラメーターは、SDN によってすべてのデプロイで一般的に使用されます。 具体的な推奨事項については、「SDN インフラストラクチャの VM ロールの要件」を参照してください。

  • VHDPath -すべての SDN インフラストラクチャ VM (NC、SLB、GW) によって使用される VHD ファイル パス
  • VHDFile - すべての SDN インフラストラクチャ VM で使用される VHDX ファイル名
  • VMLocation - SDN インフラストラクチャ VM へのファイル パス。 汎用名前付け規則 (UNC) パスはサポートされていないことに注意してください。 クラスターのストレージ ベースのパスの場合は、次のような形式を使用します。 C:\ClusterStorage\...
  • JoinDomain - SDN インフラストラクチャ VM が参加しているドメイン
  • SDNMacPoolStart - クライアント ワークロード VM の開始 MAC プール アドレス
  • SDNMacPoolEnd - クライアント ワークロード VM の終了 MAC プール アドレス
  • ManagementSubnet - Hyper-V ホスト、SLB、GW コンポーネントを管理するために NC によって使用される管理ネットワーク サブネット
  • ManagementGateway - 管理ネットワークのゲートウェイ アドレス
  • ManagementDNS - 管理ネットワークの DNS サーバー
  • ManagementVLANID - 管理ネットワークの VLAN ID サーバー
  • DoメインJoinUsername - administrator username。 ユーザー名は次の形式 domainname\usernameである必要があることに注意してください。 たとえば、doメイン が指定されている場合はcontoso.com、ユーザー名を次のようにcontoso\<username>入力します。 次のような contoso.com\<username> 形式を使用しないでください。 username@contoso.com
  • Local管理DoメインUser - ローカル管理者のユーザー名。 ユーザー名は次の形式 domainname\usernameである必要があることに注意してください。 たとえば、doメイン が指定されている場合はcontoso.com、ユーザー名を次のようにcontoso\<username>入力します。 次のような contoso.com\<username> 形式を使用しないでください。 username@contoso.com
  • RestName - NC と通信するために管理クライアント (Windows Admin Center など) によって使用される DNS 名
  • RestIpAddress - 管理ネットワークから割り当てられる REST API の静的 IP アドレス。 DNS 解決または REST IP ベースのデプロイに使用できます
  • HyperVHosts - ネットワーク コントローラーによって管理されるホスト サーバー
  • NCUsername - ネットワーク コントローラー アカウントのユーザー名
  • ProductKey - SDN インフラストラクチャ VM のプロダクト キー
  • SwitchName - Hyper-V ホストに複数の仮想スイッチが存在する場合にのみ必要
  • VMMemory - インフラストラクチャ VM に割り当てるメモリ (GB)。 既定値は 4 GB です
  • VMProcessorCount - インフラストラクチャ VM に割り当てるプロセッサの数。 既定値は 8 です
  • Locale - 指定しないと、デプロイ コンピューターのロケールが使用されます
  • TimeZone - 指定しないと、デプロイ コンピューターのロケールが使用されます

テキストでエンコードされてセキュリティ保護された文字列として暗号化されて格納される場合は、必要に応じてパスワードを含めることができます。 パスワードは、パスワードが暗号化されたのと同じコンピューター上で SDN Express スクリプトが実行される場合にのみ使用されます。そうでない場合は、パスワードの入力を求められます。

  • DomainJoinSecurePassword - ドメイン アカウントの場合
  • LocalAdminSecurePassword - ローカル管理者アカウントの場合
  • NCSecurePassword - ネットワーク コントローラー アカウントの場合

ネットワーク コントローラー VM セクション

SDN には、少なくとも 3 つのネットワーク コントローラー VM が推奨されています。

NCs = @() セクションは、ネットワーク コントローラー VM に使用されます。 各 NC VM の MAC アドレスが、全般設定に一覧表示されている SDNMACPool の範囲外であることを確認します。

  • ComputerName - NC VM の名前
  • HostName - NC VM が配置されているサーバーのホスト名
  • ManagementIP - NC VM の管理ネットワーク IP アドレス
  • MACAddress - NC VM の MAC アドレス

ソフトウェア ロード バランサー VM セクション

SDN には、少なくとも 2 つのソフトウェア ロード バランサー VM が推奨されています。

Muxes = @() セクションは、SLB VM に使用されます。 各 SLB VM の MACAddress および PAMACAddress パラメーターが、全般設定で指定されている SDNMACPool の範囲外であることを確認します。 PAIPAddress パラメーターは、構成ファイルで指定されている PA プールの外部から取得するが、構成ファイルで指定されている PASubnet に含まれることを確認します。

SLB コンポーネントをデプロイしない場合は、このセクションを空のままにします (Muxes = @())。

  • ComputerName - SLB VM の名前
  • HostName - SLB VM が配置されているサーバーのホスト名
  • ManagementIP - SLB VM の管理ネットワーク IP アドレス
  • MACAddress - SLB VM の MAC アドレス
  • PAIPAddress - SLB VM のプロバイダー ネットワーク IP アドレス (PA)
  • PAMACAddress - SLB VM のプロバイダー ネットワーク IP アドレス (PA)

ゲートウェイ VM セクション

SDN には、少なくとも 2 つのゲートウェイ VM (1 つはアクティブで、1 つは冗長) を使用することをお勧めします。

Gateways = @() セクションは、ゲートウェイ VM に使用されます。 各ゲートウェイ VM の MACAddress パラメーターが、全般設定で指定されている SDNMACPool の範囲外であることを確認します。 FrontEndMacBackendMac は、SDNMACPool 範囲内のものである必要があります。 FrontEndMacBackendMac パラメーターは、必ず SDNMACPool 範囲の最後から取得してください。

ゲートウェイ コンポーネントをデプロイしない場合は、このセクションを空のままにします (Gateways = @())。

  • ComputerName - ゲートウェイ VM の名前
  • HostName - ゲートウェイ VM が配置されているサーバーのホスト名
  • ManagementIP - ゲートウェイ VM の管理ネットワーク IP アドレス
  • MACAddress - ゲートウェイ VM の MAC アドレス
  • FrontEndMac - ゲートウェイ VM のプロバイダー ネットワーク フロントエンド MAC アドレス
  • BackEndMac - ゲートウェイ VM のプロバイダー ネットワーク バックエンド MAC アドレス

SLB とゲートウェイの追加設定

次の追加パラメーターは、SLB とゲートウェイの VM によって使用されます。 SLB またはゲートウェイの VM をデプロイしない場合は、これらの値を空白のままにします。

  • SDNASN - ネットワーク スイッチとのピアリングのために SDN によって使用される自律システム番号 (ASN)
  • RouterASN - ゲートウェイ ルーターの ASN
  • RouterIPAddress - ゲートウェイ ルーターの IP アドレス
  • PrivateVIPSubnet - プライベート サブネットの仮想 IP アドレス (VIP)
  • PublicVIPSubnet - パブリック サブネットの仮想 IP アドレス

次の追加パラメーターは、ゲートウェイ VM によってのみ使用されます。 ゲートウェイの VM をデプロイしない場合は、これらの値を空白のままにします。

  • PoolName - すべてのゲートウェイ VM によって使用されるプール名

  • GRESubnet - GRE の VIP サブネット (GRE 接続を使用している場合)

  • Capacity - プール内の各ゲートウェイ VM の容量 (Kbps)

  • RedundantCount - 冗長モードのゲートウェイの数。 既定値は 1です。 冗長ゲートウェイにはアクティブな接続がありません。 アクティブなゲートウェイがダウンすると、そのゲートウェイからの接続が冗長ゲートウェイに移動し、冗長ゲートウェイがアクティブになります。

    Note

    RedundantCount の値を入力する場合は、ゲートウェイ VM の合計数が RedundantCount より少なくとも 1 つ多くであることを確認します 既定では、 RedundantCount は 1 であるため、ゲートウェイ接続をホストするアクティブなゲートウェイが少なくとも 1 つあるようにするには、少なくとも 2 つのゲートウェイ VM が必要です。

テナント オーバーレイ ネットワークの設定

次のパラメーターは、テナント用にオーバーレイ仮想化ネットワークをデプロイして管理する場合に使用されます。 代わりにネットワーク コントローラーを使用して従来の VLAN ネットワークを管理している場合は、これらの値は空白のままにしてかまいません。

  • PASubnet - プロバイダー アドレス (PA) ネットワークのサブネット
  • PAVLANID - PA ネットワークの VLAN ID
  • PAGateway - PA ネットワーク ゲートウェイの IP アドレス
  • PAPoolStart - PA ネットワーク プールの開始 IP アドレス
  • PAPoolEnd - PA ネットワーク プールの終了 IP アドレス

Hyper-V ネットワーク仮想化 (HNV) プロバイダーの論理ネットワークが IP アドレスを割り当てる方法を次に示します。 これを使用して、HNV プロバイダー ネットワークのアドレス空間を計画します。

  • 各物理サーバーに 2 つの IP アドレスを割り当てます
  • 各 SLB MUX VM に 1 つの IP アドレスを割り当てます
  • 各ゲートウェイ VM に 1 つの IP アドレスを割り当てます

展開スクリプトを実行する

SDN Express スクリプトにより、指定した SDN インフラストラクチャがデプロイされます。 スクリプトが完了すると、SDN インフラストラクチャは VM ワークロードのデプロイに使用できるようになります。

  1. README.md ファイルで、デプロイ スクリプトの実行方法に関する最新情報を確認します。

  2. クラスター ホスト サーバーの管理者資格情報を持つユーザー アカウントから、次のコマンドを実行します。

    SDNExpress\scripts\SDNExpress.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. NC VM が作成された後、DNS サーバー上のネットワーク コントローラーのクラスター名用に動的な DNS 更新を構成します。 詳細については、「動的 DNS 更新」を参照してください。

構成サンプル ファイル

SDN をデプロイするための次の構成サンプル ファイルは、Microsoft SDN GitHub リポジトリから入手できます。

  • Traditional VLAN networks.psd1 - 従来の VLAN ネットワーク上でマイクロセグメンテーションやサービスの品質などのネットワーク ポリシーを管理するためにネットワーク コントローラーをデプロイします。

  • Virtualized networks.psd1 - 仮想ネットワークと、仮想ネットワーク上のネットワーク ポリシーを管理するためにネットワーク コントローラーをデプロイします。

  • Software Load Balancer.psd1 - 仮想ネットワーク上で負荷分散を実現するためにネットワーク コントローラーとソフトウェア ロード バランサーをデプロイします。

  • SDN Gateways.psd1 - 外部ネットワークへの接続のためにネットワーク コントローラー、ソフトウェア ロード バランサー、およびゲートウェイをデプロイします。

SDN ネットワーク コントローラーを再デプロイする

ネットワーク コントローラーのデプロイに失敗した場合、あるいはもう一度デプロイする場合は、次の手順を実行します。

  1. すべてのサーバー ノードから、すべてのネットワーク コントローラー VM とその VHD を削除します。

  2. このコマンドを実行して、すべてのホストから次のレジストリ キーを削除します。

     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name Connections
     Remove-ItemProperty -path 'HKLM:\SYSTEM\CurrentControlSet\Services\NcHostAgent\Parameters\' -Name NetworkControllerNodeNames
    
  3. レジストリ キーを削除した後、Windows Admin Center の管理からクラスターを削除して、もう一度追加します。

    Note

    このステップを行わないと、Windows Admin Center に SDN デプロイ ウィザードが表示されないことがあります。

  4. (ネットワーク コントローラーをアンインストールし、もう一度展開しない場合にのみ追加の手順)Azure Stack HCI クラスター内のすべてのサーバーで次のコマンドレットを実行し、最後の手順をスキップします。

    Disable-VMSwitchExtension -VMSwitchName "<Compute vmswitch name>" -Name "Microsoft Azure VFP Switch Extension"
    
  5. デプロイ ウィザードをもう一度実行します。

次のステップ