適用対象: Azure Local 2311.2 以降
重要
Azure Stack HCI が Azure Local の一部になりました。 詳細情報。
この記事では、Windows Server 2022、Windows 11、またはそれ以降のオペレーティング システム (OS) を使用して、ホスト システムに仮想化された Azure ローカル インスタンスをデプロイする方法について説明します。 ホストでは、展開のためにHyper-Vを有効にしておく必要があります。
Azure ローカル仮想デプロイには管理者特権が必要であり、既存の Azure Local ソリューションをよく理解している必要があります。 デプロイが完了するまでに約 2.5 時間かかる場合があります。
重要
Azure Local の仮想デプロイは、教育とデモンストレーションのみを目的としています。 Microsoft サポートは仮想デプロイをサポートしていません。
前提条件
仮想デプロイのハードウェア、ネットワーク、およびその他の前提条件を次に示します。
物理ホストの要件
Azure Local を正常にデプロイするための最小要件を次に示します。
開始する前に次の点を確認します。
Windows Server 2022、Windows 11 以降で Hyper-V を実行している物理ホスト システムにアクセスできます。 このホストは、仮想 Azure ローカル デプロイをプロビジョニングするために使用されます。
十分な容量がある。 仮想マシンやコンテナーなどの実際のワークロードを実行するために、より多くの容量が必要です。
仮想デプロイに使用される物理ハードウェアは、次の要件を満たしています。
コンポーネント 最小値 プロセッサ 入れ子になった仮想化をサポートする Intel VT-x または AMD-V。 詳細については、「プロセッサは Intel® 仮想化テクノロジをサポートしていますか?」を参照してください。 [メモリ] 物理ホストは、1 つの仮想ノードのデプロイに対して 32 GB 以上の RAM を持っている必要があります。 仮想ホスト VM には、少なくとも 24 GB の RAM が必要です。
物理ホストには、2 つの仮想ノードデプロイ用に 64 GB 以上の RAM が必要です。 各仮想ホスト VM には、デプロイ用に少なくとも 24 GB の RAM と、更新プログラムを適用するための 32 GB の容量が必要です。ホスト ネットワーク アダプター 1 つのネットワーク アダプター。 Storage 1 TB のソリッド ステート ドライブ (SSD)。
仮想ホストの要件
開始する前に、各仮想ホスト システムが次のリソースを専用にして、仮想化された Azure Local インスタンスをプロビジョニングできることを確認します。
コンポーネント | 必要条件 |
---|---|
仮想マシン (VM) の種類 | セキュア ブートとトラステッド プラットフォーム モジュール (TPM) が有効になっています。 |
vCPU 数 | 4 コア。 |
[メモリ] | 24 GB 以上。 |
ネットワーク | 内部ネットワークに接続されている少なくとも 2 つのネットワーク アダプター。 MAC スプーフィングを有効にする必要があります。 |
ブート ディスク | ISO から Azure Stack HCI オペレーティング システムをインストールする 1 つのディスク。 少なくとも 200 GB。 |
記憶域スペースダイレクト用ハードディスク | 4 つの容量可変の拡張ディスク。 最大ディスク サイズは 1024 GB です。 |
データ ディスク | それぞれ少なくとも 127 GB。 サイズはディスクごとに同じである必要があります。 |
統合での時刻同期 | 無効にします。 |
注
これらは、Azure Local を正常にデプロイするための最小要件です。 仮想マシンやコンテナーなどの実際のワークロードを実行するときに、仮想コアやメモリなどの容量を増やします。
仮想スイッチを設定する
仮想環境に Azure Local をデプロイする場合は、既存のネットワークを使用し、使用可能な場合は、そのネットワークの IP アドレスを使用できます。 このような場合は、外部スイッチを作成し、すべての仮想ネットワーク アダプターをその仮想スイッチに接続するだけで済みます。 仮想ホストは、追加の構成なしで物理ネットワークに接続できます。
ただし、Azure ローカル仮想環境のデプロイを計画している物理ネットワークが IP に不足している場合は、NAT を有効にした内部仮想スイッチを作成して、インターネットへの送信接続を維持しながら物理ネットワークから仮想ホストを分離できます。
次に、2 つのオプションの手順を示します。
外部仮想スイッチを使用してデプロイする
コマンドレット new-vmswitch
のパラメーターは、Windows オペレーティング システムによって異なる場合があります。 詳細については、「 New-VMSwitch」を参照してください。
物理ホスト コンピューターで、次の PowerShell コマンドを実行して外部仮想スイッチを作成します。
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
内部仮想スイッチと NAT を有効にしてデプロイする
物理ホスト コンピューターで、次の PowerShell コマンドを実行して内部仮想スイッチを作成します。 このスイッチを使用すると、Azure ローカル デプロイが確実に分離されます。
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
内部仮想スイッチが作成されると、ホストに新しいネットワーク アダプターが作成されます。 この内部スイッチ ネットワークに接続されたら、このネットワーク アダプターに IP アドレスを割り当てて、仮想ホストの既定のゲートウェイにする必要があります。 また、仮想ホストが接続されている NAT ネットワーク サブネットも定義する必要があります。
次のスクリプト例では、プレフィックスがHCINAT
の NAT ネットワーク 192.168.44.0/24
を作成し、ホスト上のインターフェイスを使用して、ネットワークの既定のゲートウェイとして192.168.44.1
IP を定義します。
#Check interface index of the new network adapter on the host connected to InternalSwitch:
Get-NetAdapter -Name "vEthernet (InternalSwitch)"
#Create the NAT default gateway IP on top of the InternalSwitch network adapter:
New-NetIPAddress -IPAddress 192.168.44.1 -PrefixLength 24 -InterfaceAlias "vEthernet (InternalSwitch)"
#Create the NAT network:
New-NetNat -Name "HCINAT"-InternalIPInterfaceAddressPrefix 192.168.44.0/24
仮想ホストを作成する
次の構成で仮想ホストとして機能する VM を作成します。 この VM は、Hyper-V マネージャーまたは PowerShell を使用して作成できます。
Hyper-V マネージャー。 詳細については、「 Hyper-V マネージャーを使用して仮想マシンを作成する 物理管理ネットワークをミラーリングする」を参照してください。
PowerShell コマンドレット。 PowerShell コマンドレットを実行する前に、 Virtual ホストの要件 で参照されている VM 構成パラメーターを調整してください。
PowerShell コマンドレットを使用して Node1
という名前の VM の例を作成するには、次の手順に従います。
VM を作成します。
New-VHD -Path "your_VHDX_path" -SizeBytes 127GB New-VM -Name Node1 -MemoryStartupBytes 20GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
動的メモリを無効にする:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
VM チェックポイントを無効にする:
Set-VM -VMName "Node1" -CheckpointType Disabled
前の手順で VM の作成時に作成された既定のネットワーク アダプターを削除します。
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
カスタム名を使用して VM に新しいネットワーク アダプターを追加します。 この例では 4 つの NIC を追加しますが、必要に応じて 2 つだけ追加できます。 4 つの NIC を使用すると、それぞれ 2 つの NIC を使用して 2 つのネットワーク意図 (
Mgmt_Compute
とStorage
など) をテストできます。Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
すべてのネットワーク アダプターを仮想スイッチに接続します。 作成した仮想スイッチの名前を、NAT なしの外部スイッチか、NAT を使用した内部スイッチかを指定します。
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
VM
Node1
上のすべてのネットワーク アダプターで MAC スプーフィングを有効にします。 MAC アドレス スプーフィングは、ネットワーク アダプターがメディア アクセス制御 (MAC) アドレスを変更して別のアドレスとして偽装できるようにする手法です。 これは、入れ子になった仮想化の使用を計画しているシナリオで必要です。Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
VM
Node1
上のすべてのネットワーク アダプターに対してトランク ポート (マルチノード 展開の場合のみ) を有効にします。 このスクリプトでは、トランク モードで動作するように特定の VM のネットワーク アダプターを構成します。 これは通常、複数の仮想ローカル エリア ネットワーク (VLAN) が 1 つのネットワーク アダプターを介して通信できるようにするマルチノード 展開で使用されます。Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
新しいキー 保護機能を作成し、
Node1
に割り当てます。 これは通常、未承認のアクセスや改ざんから VM を保護するセキュリティ機能である Hyper-V で保護されたファブリックを設定するコンテキストで行われます。次のスクリプトを実行すると、
Node1
に新しいキー保護機能が割り当てられます。 このキー保護機能は、VM のキーを保護し、未承認のアクセスや改ざんから VM を保護するのに役立ちます。$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
Node1
の vTPM を有効にします。 VM で vTPM を有効にすることで、BitLocker や TPM を必要とするその他の機能を VM 上で使用することができます。 このコマンドを実行すると、ホスト マシンのハードウェアと VM の構成でこの機能がサポートされていると仮定して、Node1
vTPM が有効になります。Enable-VmTpm -VMName "Node1"
仮想プロセッサを
8
に変更します。Set-VmProcessor -VMName "Node1" -Count 8
記憶域スペース ダイレクトのブート ディスクおよびハード ディスクとして使用する追加のドライブを作成します。 これらのコマンドを実行すると、次の例に示すように、
C:\vms\Node1
ディレクトリに 6 つの新しい VHDX が作成されます。new-VHD -Path "C:\vms\Node1\s2d1.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d2.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d3.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d4.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d5.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d6.vhdx" -SizeBytes 1024GB
VM の新しく作成された VHDX にドライブをアタッチします。 これらのコマンドでは、
C:\vms\Node1
ディレクトリに配置され、s2d1.vhdx
を介してs2d6.vhdx
という名前の 6 つの VHD がNode1
に追加されます。 各Add-VMHardDiskDrive
コマンドは 1 つの VHD を VM に追加するため、コマンドは異なる-Path
パラメーター値で 6 回繰り返されます。その後、
Node1
VM には 4 つの VHD がアタッチされます。 これらの VHDX は、Azure Stack HCI デプロイに必要な VM で記憶域スペース ダイレクトを有効にするために使用されます。Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d1.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d2.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d3.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d4.vhdx"
時刻同期を無効にする:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
入れ子になった仮想化を有効にする:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
VM を起動します。
Start-VM "Node1"
仮想ホスト VM に OS をインストールする
仮想ホスト VM に Azure Stack HCI OS をインストールして構成するには、次の手順を実行します。
Azure ローカル デプロイ用のバージョン 23H2 オペレーティング システムをダウンロード し、 Azure Stack HCI オペレーティング システムをインストールします。
これは最初の VM の起動であるため、パスワードを更新します。 パスワードが Azure の複雑さの要件を満たしていることを確認します。 パスワードは 14 文字以上で、大文字 1 文字、小文字 1 文字、数字 1 文字、特殊文字 1 文字が含まれます。
パスワードが変更されると、サーバー構成ツール (SConfig) が自動的に読み込まれます。 オプション
15
を選択してコマンド ラインに終了し、そこから次の手順を実行します。次のコマンドを実行して SConfig を起動します。
SConfig
SConfig の使用方法については、「 サーバー構成ツール (SConfig) を使用した構成」を参照してください。
ホスト名を
Node1
に変更します。 これを行うには、SConfig の2
にオプションComputer name
を使用します。ホスト名の変更により、再起動が行われます。 再起動を求められたら、「
Yes
」と入力し、再起動が完了するまで待ちます。 SConfig が自動的に再び起動されます。物理ホストから、
Get-VMNetworkAdapter
コマンドレットとForEach-Object
コマンドレットを実行し、割り当てられた MAC アドレスをゲスト OS 上の対応するネットワーク アダプターにマッピングすることで、VMNode1
の 4 つのネットワーク アダプター名を構成します。Get-VMNetworkAdapter
コマンドレットは、VM 上の各 NIC のネットワーク アダプター オブジェクトを取得するために使用されます。ここで、-VMName
パラメーターは VM の名前を指定し、-Name
パラメーターはネットワーク アダプターの名前を指定します。 その後、ネットワーク アダプター オブジェクトのMacAddress
プロパティにアクセスして MAC アドレスを取得します。
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
MAC アドレスは、16 進数の文字列です。
ForEach-Object
コマンドレットは、特定の間隔でハイフンを挿入して、この文字列の書式を設定するために使用されます。 具体的には、文字列オブジェクトのInsert
メソッドを使用して、文字列内の 2 番目、5 番目、8 番目、11 番目、および 14 番目の位置にハイフンを挿入します。 次に、join
演算子を使用して、結果の文字列配列を 1 つの文字列に連結し、各要素間にスペースを入けます。VM 上の 4 つの NIC ごとにコマンドが繰り返され、各 NIC の最終的な形式の MAC アドレスが個別の変数に格納されます。
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- 次のスクリプトは、各 NIC の最終的な形式の MAC アドレスを出力します。
$Node1macNIC1 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1" $Node1macNIC1.MacAddress $Node1finalmacNIC1=$Node1macNIC1.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC1 $Node1macNIC2 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC2" $Node1macNIC2.MacAddress $Node1finalmacNIC2=$Node1macNIC2.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC2 $Node1macNIC3 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC3" $Node1macNIC3.MacAddress $Node1finalmacNIC3=$Node1macNIC3.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC3 $Node1macNIC4 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC4" $Node1macNIC4.MacAddress $Node1finalmacNIC4=$Node1macNIC4.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC4
Node1
VM ローカル管理者の資格情報を取得し、Node1
の名前を変更します。$cred = get-credential
Node1
上の NIC の名前を変更してマップします。 名前の変更は、VM が初めて起動されたときに Hyper-V によって割り当てられた NIC の MAC アドレスに基づいています。 これらのコマンドは、ホストから直接実行する必要があります。Get-NetAdapter
コマンドを使用して、VM 上の物理ネットワーク アダプターを取得し、MAC アドレスに基づいてフィルター処理した後、Rename-NetAdapter
コマンドレットを使用して一致するアダプターに名前を変更します。これは、各 NIC の MAC アドレスと新しい名前を個別に指定して、VM 上の 4 つの NIC ごとに繰り返されます。 これにより、Hyper-V マネージャーの NIC の名前と VM OS 内の NIC の名前の間にマッピングが確立されます。
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC1) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC1} | Rename-NetAdapter -NewName "NIC1"} -ArgumentList $Node1finalmacNIC1 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC2) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC2} | Rename-NetAdapter -NewName "NIC2"} -ArgumentList $Node1finalmacNIC2 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC3) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC3} | Rename-NetAdapter -NewName "NIC3"} -ArgumentList $Node1finalmacNIC3 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC4) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC4} | Rename-NetAdapter -NewName "NIC4"} -ArgumentList $Node1finalmacNIC4
次のコマンドを実行して、VM
Node1
用の 4 つの NIC で動的ホスト構成プロトコル (DHCP) を無効にします。注
インターフェイスは DHCP サーバーから IP アドレスを自動的に取得せず、代わりに IP アドレスを手動で割り当てる必要があります。
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC1" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC2" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC3" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC4" -Dhcp Disabled}
管理 IP、ゲートウェイ、DNS を設定します。 次のコマンドを実行すると、
Node1
は、指定された IP アドレス、サブネット マスク、既定のゲートウェイ、DNS サーバー アドレスで構成されたNIC1
ネットワーク インターフェイスを持ちます。 管理 IP アドレスが Active Directory を解決でき、インターネットへの送信接続があることを確認します。Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {New-NetIPAddress -InterfaceAlias "NIC1" -IPAddress "192.168.44.201" -PrefixLength 24 -AddressFamily IPv4 -DefaultGateway "192.168.44.1"} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-DnsClientServerAddress -InterfaceAlias "NIC1" -ServerAddresses "192.168.1.254"}
Hyper-V ロールを有効にします。 このコマンドは、VM
Node1
を再起動します。Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
Node1
が再起動され、Hyper-V の役割がインストールされたら、Hyper-V 管理ツールをインストールします。Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
仮想ホスト マシンの準備ができたら、 登録し、Azure で Arc リソースとしてアクセス許可 割り当てる必要があります。
マシンが Arc リソースとして Azure に登録され、すべての必須拡張機能がインストールされたら、次のいずれかの方法を選択して Azure から Azure Local をデプロイします。
マルチノードデプロイをテストする予定の場合は、追加のノードに対して上記のプロセスを繰り返します。 仮想ホスト名と管理 IP が一意であり、同じサブネット上にあることを確認します。