次の方法で共有


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

適用対象: Azure Stack HCI バージョン 23H2。Windows Server 2022、Windows Server 2019、Windows Server 2016

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

SDN インフラストラクチャ System Center Virtual Machine Manager (VMM) を展開することもできます。 詳細については、 VMM ファブリックでの SDN リソースの管理に関するページを参照してください。

重要

Azure Stack HCI バージョン 23H2 クラスターに SDN をデプロイする場合は、該当するすべての SDN インフラストラクチャ VM (ネットワーク コントローラー、ソフトウェア ロード バランサー、ゲートウェイ) が最新の Windows Update パッチに適用されていることを確認します。 マシン上の SConfig UI から更新を開始できます。 最新のパッチがないと、接続の問題が発生する可能性があります。 SDN インフラストラクチャの更新の詳細については、Azure Stack HCI の SDN インフラストラクチャの更新に関するページを参照してください

開始する前に

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

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

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

要件

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

  • すべてのホスト サーバーで Hyper-V が有効になっている必要があります。
  • すべてのホスト サーバーを Active Directory に参加させる必要があります。
  • Active Directory を準備する必要があります。 詳細については、「Active Directory の準備」を参照してください
  • 仮想スイッチ作成する必要があります。 Azure Stack HCI バージョン 23H2 用に作成された既定のスイッチを使用できます。 たとえば、コンピューティング トラフィックと管理トラフィック用に個別のスイッチを作成する必要がある場合があります。
  • 物理ネットワークは、構成ファイルで定義されているサブネットと 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 クライアント コンピューターから実行する必要があります。 おそらく、このスクリプトを管理者として実行し、コマンドを使用してスクリプトの実行ポリシーを変更する 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

SDN Express PowerShell モジュールをインストールする

次のコマンドを実行して、SDN インストールを実行するマシンに最新バージョンの SDN Express PowerShell モジュールをインストールします。

Install-Module -Name SDNExpress

ファイルは、既定の PowerShell モジュール ディレクトリに自動的にインストールされます C:\Program Files\WindowsPowerShell\Modules\SdnExpress\

Note

SDN Express スクリプト ファイルは GitHub で使用できなくなりました。

構成ファイルを編集する

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

C:\Program Files\WindowsPowerShell\Modules\SdnExpress\ フォルダーに移動し、好みのテキスト エディターで 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 サーバー
  • DomainJoinUsername - 管理者ユーザー名。 ユーザー名は次の形式 domainname\usernameにする必要があります。 たとえば、ドメインがある場合は contoso.com、ユーザー名を次のように contoso\<username>入力します。 次のような contoso.com\<username> 形式を使用しないでください。 username@contoso.com
  • LocalAdminDomainUser - ローカル管理者のユーザー名。 ユーザー名は次の形式 domainname\usernameにする必要があります。 たとえば、ドメインがある場合は 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.ps1 -ConfigurationDataFile MultiNodeSampleConfig.psd1 -Verbose
    
  3. NC VM が作成された後、DNS サーバー上のネットワーク コントローラーのクラスター名用に動的な DNS 更新を構成します。 詳細については、「動的 DNS 更新」を参照してください。

構成サンプル ファイル

SDN をデプロイするための次の構成サンプル ファイルは、PowerShell モジュールがインストールされている場所 (C:\Program Files\WindowsPowerShell\Modules\SdnExpress\) で使用できます。

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

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

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

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

次のステップ